From dd1a787a461223ab08764822144339f17baede26 Mon Sep 17 00:00:00 2001 From: Dave Gandy Date: Wed, 16 May 2012 09:06:08 -0400 Subject: [PATCH] updating to bootstrap 2.0.3, adding IE7 support which is currently broken for some reason --- docs/assets/css/font-awesome-ie7.css | 228 ++ docs/assets/css/font-awesome.css | 2 +- docs/assets/css/site.css | 3044 ++++++++++------- docs/assets/font/fontawesome-webfont.eot | Bin 35914 -> 36698 bytes docs/assets/font/fontawesome-webfont.svg | 2 +- docs/assets/font/fontawesome-webfont.ttf | Bin 79816 -> 81284 bytes docs/assets/font/fontawesome-webfont.woff | Bin 40628 -> 41500 bytes docs/assets/less/font-awesome.less | 84 +- docs/assets/less/font-museo.less | 18 - docs/assets/less/site.less | 17 +- docs/assets/less/twbs-201/accordion.less | 28 + docs/assets/less/twbs-201/alerts.less | 70 + docs/assets/less/twbs-201/bootstrap.less | 62 + docs/assets/less/twbs-201/breadcrumbs.less | 22 + docs/assets/less/twbs-201/button-groups.less | 148 + docs/assets/less/twbs-201/buttons.less | 183 + docs/assets/less/twbs-201/carousel.less | 121 + docs/assets/less/twbs-201/close.less | 18 + docs/assets/less/twbs-201/code.less | 57 + .../less/twbs-201/component-animations.less | 18 + docs/assets/less/twbs-201/dropdowns.less | 130 + docs/assets/less/twbs-201/forms.less | 522 +++ docs/assets/less/twbs-201/grid.less | 8 + docs/assets/less/twbs-201/hero-unit.less | 20 + docs/assets/less/twbs-201/labels.less | 32 + docs/assets/less/twbs-201/layouts.less | 17 + docs/assets/less/twbs-201/mixins.less | 590 ++++ docs/assets/less/twbs-201/modals.less | 83 + docs/assets/less/twbs-201/navbar.less | 299 ++ docs/assets/less/twbs-201/navs.less | 353 ++ docs/assets/less/twbs-201/pager.less | 30 + docs/assets/less/twbs-201/pagination.less | 55 + docs/assets/less/twbs-201/popovers.less | 49 + docs/assets/less/twbs-201/progress-bars.less | 95 + docs/assets/less/twbs-201/reset.less | 126 + docs/assets/less/twbs-201/responsive.less | 327 ++ docs/assets/less/twbs-201/scaffolding.less | 29 + docs/assets/less/twbs-201/sprites.less | 158 + docs/assets/less/twbs-201/tables.less | 150 + docs/assets/less/twbs-201/thumbnails.less | 35 + docs/assets/less/twbs-201/tooltip.less | 35 + docs/assets/less/twbs-201/type.less | 218 ++ docs/assets/less/twbs-201/utilities.less | 23 + docs/assets/less/twbs-201/variables.less | 107 + docs/assets/less/twbs-201/wells.less | 17 + docs/assets/less/twbs-203/.svn/all-wcprops | 245 ++ docs/assets/less/twbs-203/.svn/entries | 1395 ++++++++ .../.svn/prop-base/accordion.less.svn-base | 5 + .../.svn/prop-base/alerts.less.svn-base | 5 + .../.svn/prop-base/bootstrap.less.svn-base | 5 + .../.svn/prop-base/breadcrumbs.less.svn-base | 5 + .../prop-base/button-groups.less.svn-base | 5 + .../.svn/prop-base/buttons.less.svn-base | 5 + .../.svn/prop-base/carousel.less.svn-base | 5 + .../.svn/prop-base/close.less.svn-base | 5 + .../.svn/prop-base/code.less.svn-base | 5 + .../component-animations.less.svn-base | 5 + .../.svn/prop-base/dropdowns.less.svn-base | 5 + .../.svn/prop-base/forms.less.svn-base | 5 + .../.svn/prop-base/grid.less.svn-base | 5 + .../.svn/prop-base/hero-unit.less.svn-base | 5 + .../prop-base/labels-badges.less.svn-base | 5 + .../.svn/prop-base/layouts.less.svn-base | 5 + .../.svn/prop-base/mixins.less.svn-base | 5 + .../.svn/prop-base/modals.less.svn-base | 5 + .../.svn/prop-base/navbar.less.svn-base | 5 + .../.svn/prop-base/navs.less.svn-base | 5 + .../.svn/prop-base/pager.less.svn-base | 5 + .../.svn/prop-base/pagination.less.svn-base | 5 + .../.svn/prop-base/popovers.less.svn-base | 5 + .../prop-base/progress-bars.less.svn-base | 5 + .../.svn/prop-base/reset.less.svn-base | 5 + .../responsive-1200px-min.less.svn-base | 5 + .../responsive-767px-max.less.svn-base | 5 + .../responsive-768px-979px.less.svn-base | 5 + .../prop-base/responsive-navbar.less.svn-base | 5 + .../responsive-utilities.less.svn-base | 5 + .../.svn/prop-base/responsive.less.svn-base | 5 + .../.svn/prop-base/scaffolding.less.svn-base | 5 + .../.svn/prop-base/sprites.less.svn-base | 5 + .../.svn/prop-base/tables.less.svn-base | 5 + .../.svn/prop-base/thumbnails.less.svn-base | 5 + .../.svn/prop-base/tooltip.less.svn-base | 5 + .../.svn/prop-base/type.less.svn-base | 5 + .../.svn/prop-base/utilities.less.svn-base | 5 + .../.svn/prop-base/variables.less.svn-base | 5 + .../.svn/prop-base/wells.less.svn-base | 5 + .../.svn/text-base/accordion.less.svn-base | 33 + .../.svn/text-base/alerts.less.svn-base | 58 + .../.svn/text-base/bootstrap.less.svn-base | 62 + .../.svn/text-base/breadcrumbs.less.svn-base | 24 + .../text-base/button-groups.less.svn-base | 191 ++ .../.svn/text-base/buttons.less.svn-base | 191 ++ .../.svn/text-base/carousel.less.svn-base | 121 + .../.svn/text-base/close.less.svn-base | 29 + .../.svn/text-base/code.less.svn-base | 57 + .../component-animations.less.svn-base | 20 + .../.svn/text-base/dropdowns.less.svn-base | 143 + .../.svn/text-base/forms.less.svn-base | 584 ++++ .../.svn/text-base/grid.less.svn-base | 5 + .../.svn/text-base/hero-unit.less.svn-base | 22 + .../text-base/labels-badges.less.svn-base | 55 + .../.svn/text-base/layouts.less.svn-base | 17 + .../.svn/text-base/mixins.less.svn-base | 631 ++++ .../.svn/text-base/modals.less.svn-base | 90 + .../.svn/text-base/navbar.less.svn-base | 364 ++ .../.svn/text-base/navs.less.svn-base | 363 ++ .../.svn/text-base/pager.less.svn-base | 36 + .../.svn/text-base/pagination.less.svn-base | 56 + .../.svn/text-base/popovers.less.svn-base | 49 + .../text-base/progress-bars.less.svn-base | 117 + .../.svn/text-base/reset.less.svn-base | 126 + .../responsive-1200px-min.less.svn-base | 26 + .../responsive-767px-max.less.svn-base | 149 + .../responsive-768px-979px.less.svn-base | 17 + .../text-base/responsive-navbar.less.svn-base | 146 + .../responsive-utilities.less.svn-base | 41 + .../.svn/text-base/responsive.less.svn-base | 48 + .../.svn/text-base/scaffolding.less.svn-base | 29 + .../.svn/text-base/sprites.less.svn-base | 191 ++ .../.svn/text-base/tables.less.svn-base | 176 + .../.svn/text-base/thumbnails.less.svn-base | 47 + .../.svn/text-base/tooltip.less.svn-base | 35 + .../.svn/text-base/type.less.svn-base | 235 ++ .../.svn/text-base/utilities.less.svn-base | 23 + .../.svn/text-base/variables.less.svn-base | 205 ++ .../.svn/text-base/wells.less.svn-base | 27 + docs/assets/less/twbs-203/accordion.less | 33 + docs/assets/less/twbs-203/alerts.less | 58 + docs/assets/less/twbs-203/bootstrap.less | 62 + docs/assets/less/twbs-203/breadcrumbs.less | 24 + docs/assets/less/twbs-203/button-groups.less | 191 ++ docs/assets/less/twbs-203/buttons.less | 191 ++ docs/assets/less/twbs-203/carousel.less | 121 + docs/assets/less/twbs-203/close.less | 29 + docs/assets/less/twbs-203/code.less | 57 + .../less/twbs-203/component-animations.less | 20 + docs/assets/less/twbs-203/dropdowns.less | 143 + docs/assets/less/twbs-203/forms.less | 584 ++++ docs/assets/less/twbs-203/grid.less | 5 + docs/assets/less/twbs-203/hero-unit.less | 22 + docs/assets/less/twbs-203/labels-badges.less | 55 + docs/assets/less/twbs-203/layouts.less | 17 + docs/assets/less/twbs-203/mixins.less | 631 ++++ docs/assets/less/twbs-203/modals.less | 90 + docs/assets/less/twbs-203/navbar.less | 364 ++ docs/assets/less/twbs-203/navs.less | 363 ++ docs/assets/less/twbs-203/pager.less | 36 + docs/assets/less/twbs-203/pagination.less | 56 + docs/assets/less/twbs-203/popovers.less | 49 + docs/assets/less/twbs-203/progress-bars.less | 117 + docs/assets/less/twbs-203/reset.less | 126 + .../less/twbs-203/responsive-1200px-min.less | 26 + .../less/twbs-203/responsive-767px-max.less | 149 + .../less/twbs-203/responsive-768px-979px.less | 17 + .../less/twbs-203/responsive-navbar.less | 146 + .../less/twbs-203/responsive-utilities.less | 41 + docs/assets/less/twbs-203/responsive.less | 48 + docs/assets/less/twbs-203/scaffolding.less | 29 + docs/assets/less/twbs-203/sprites.less | 191 ++ docs/assets/less/twbs-203/tables.less | 176 + docs/assets/less/twbs-203/thumbnails.less | 47 + docs/assets/less/twbs-203/tooltip.less | 35 + docs/assets/less/twbs-203/type.less | 235 ++ docs/assets/less/twbs-203/utilities.less | 23 + docs/assets/less/twbs-203/variables.less | 205 ++ docs/assets/less/twbs-203/wells.less | 27 + docs/index.html | 13 +- 168 files changed, 17836 insertions(+), 1325 deletions(-) create mode 100644 docs/assets/css/font-awesome-ie7.css create mode 100755 docs/assets/less/twbs-201/accordion.less create mode 100755 docs/assets/less/twbs-201/alerts.less create mode 100755 docs/assets/less/twbs-201/bootstrap.less create mode 100755 docs/assets/less/twbs-201/breadcrumbs.less create mode 100755 docs/assets/less/twbs-201/button-groups.less create mode 100755 docs/assets/less/twbs-201/buttons.less create mode 100755 docs/assets/less/twbs-201/carousel.less create mode 100755 docs/assets/less/twbs-201/close.less create mode 100755 docs/assets/less/twbs-201/code.less create mode 100755 docs/assets/less/twbs-201/component-animations.less create mode 100755 docs/assets/less/twbs-201/dropdowns.less create mode 100755 docs/assets/less/twbs-201/forms.less create mode 100755 docs/assets/less/twbs-201/grid.less create mode 100755 docs/assets/less/twbs-201/hero-unit.less create mode 100755 docs/assets/less/twbs-201/labels.less create mode 100755 docs/assets/less/twbs-201/layouts.less create mode 100755 docs/assets/less/twbs-201/mixins.less create mode 100755 docs/assets/less/twbs-201/modals.less create mode 100755 docs/assets/less/twbs-201/navbar.less create mode 100755 docs/assets/less/twbs-201/navs.less create mode 100755 docs/assets/less/twbs-201/pager.less create mode 100755 docs/assets/less/twbs-201/pagination.less create mode 100755 docs/assets/less/twbs-201/popovers.less create mode 100755 docs/assets/less/twbs-201/progress-bars.less create mode 100755 docs/assets/less/twbs-201/reset.less create mode 100755 docs/assets/less/twbs-201/responsive.less create mode 100755 docs/assets/less/twbs-201/scaffolding.less create mode 100755 docs/assets/less/twbs-201/sprites.less create mode 100755 docs/assets/less/twbs-201/tables.less create mode 100755 docs/assets/less/twbs-201/thumbnails.less create mode 100755 docs/assets/less/twbs-201/tooltip.less create mode 100755 docs/assets/less/twbs-201/type.less create mode 100755 docs/assets/less/twbs-201/utilities.less create mode 100755 docs/assets/less/twbs-201/variables.less create mode 100755 docs/assets/less/twbs-201/wells.less create mode 100644 docs/assets/less/twbs-203/.svn/all-wcprops create mode 100644 docs/assets/less/twbs-203/.svn/entries create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/accordion.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/alerts.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/bootstrap.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/breadcrumbs.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/button-groups.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/buttons.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/carousel.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/close.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/code.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/component-animations.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/dropdowns.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/forms.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/grid.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/hero-unit.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/labels-badges.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/layouts.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/mixins.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/modals.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/navbar.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/navs.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/pager.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/pagination.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/popovers.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/progress-bars.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/reset.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/responsive-1200px-min.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/responsive-767px-max.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/responsive-768px-979px.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/responsive-navbar.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/responsive-utilities.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/responsive.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/scaffolding.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/sprites.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/tables.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/thumbnails.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/tooltip.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/type.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/utilities.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/variables.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/prop-base/wells.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/accordion.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/alerts.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/bootstrap.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/breadcrumbs.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/button-groups.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/buttons.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/carousel.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/close.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/code.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/component-animations.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/dropdowns.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/forms.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/grid.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/hero-unit.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/labels-badges.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/layouts.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/mixins.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/modals.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/navbar.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/navs.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/pager.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/pagination.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/popovers.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/progress-bars.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/reset.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/responsive-1200px-min.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/responsive-767px-max.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/responsive-768px-979px.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/responsive-navbar.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/responsive-utilities.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/responsive.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/scaffolding.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/sprites.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/tables.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/thumbnails.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/tooltip.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/type.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/utilities.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/variables.less.svn-base create mode 100644 docs/assets/less/twbs-203/.svn/text-base/wells.less.svn-base create mode 100755 docs/assets/less/twbs-203/accordion.less create mode 100755 docs/assets/less/twbs-203/alerts.less create mode 100755 docs/assets/less/twbs-203/bootstrap.less create mode 100755 docs/assets/less/twbs-203/breadcrumbs.less create mode 100755 docs/assets/less/twbs-203/button-groups.less create mode 100755 docs/assets/less/twbs-203/buttons.less create mode 100755 docs/assets/less/twbs-203/carousel.less create mode 100755 docs/assets/less/twbs-203/close.less create mode 100755 docs/assets/less/twbs-203/code.less create mode 100755 docs/assets/less/twbs-203/component-animations.less create mode 100755 docs/assets/less/twbs-203/dropdowns.less create mode 100755 docs/assets/less/twbs-203/forms.less create mode 100755 docs/assets/less/twbs-203/grid.less create mode 100755 docs/assets/less/twbs-203/hero-unit.less create mode 100755 docs/assets/less/twbs-203/labels-badges.less create mode 100755 docs/assets/less/twbs-203/layouts.less create mode 100755 docs/assets/less/twbs-203/mixins.less create mode 100755 docs/assets/less/twbs-203/modals.less create mode 100755 docs/assets/less/twbs-203/navbar.less create mode 100755 docs/assets/less/twbs-203/navs.less create mode 100755 docs/assets/less/twbs-203/pager.less create mode 100755 docs/assets/less/twbs-203/pagination.less create mode 100755 docs/assets/less/twbs-203/popovers.less create mode 100755 docs/assets/less/twbs-203/progress-bars.less create mode 100755 docs/assets/less/twbs-203/reset.less create mode 100755 docs/assets/less/twbs-203/responsive-1200px-min.less create mode 100755 docs/assets/less/twbs-203/responsive-767px-max.less create mode 100755 docs/assets/less/twbs-203/responsive-768px-979px.less create mode 100755 docs/assets/less/twbs-203/responsive-navbar.less create mode 100755 docs/assets/less/twbs-203/responsive-utilities.less create mode 100755 docs/assets/less/twbs-203/responsive.less create mode 100755 docs/assets/less/twbs-203/scaffolding.less create mode 100755 docs/assets/less/twbs-203/sprites.less create mode 100755 docs/assets/less/twbs-203/tables.less create mode 100755 docs/assets/less/twbs-203/thumbnails.less create mode 100755 docs/assets/less/twbs-203/tooltip.less create mode 100755 docs/assets/less/twbs-203/type.less create mode 100755 docs/assets/less/twbs-203/utilities.less create mode 100755 docs/assets/less/twbs-203/variables.less create mode 100755 docs/assets/less/twbs-203/wells.less diff --git a/docs/assets/css/font-awesome-ie7.css b/docs/assets/css/font-awesome-ie7.css new file mode 100644 index 000000000..3bef79cb7 --- /dev/null +++ b/docs/assets/css/font-awesome-ie7.css @@ -0,0 +1,228 @@ +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-style: normal; + font-weight: normal; +} + +.icon-large { + font-size: 1.3333em; +} + +.icon-glass { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-music { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-search { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-envelope { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-heart { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-star { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-star-empty { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-user { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-film { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-th-large { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-th { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-th-list { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-ok { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-remove { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-zoom-in { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-zoom-out { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-off { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-signal { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-cog { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-trash { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-home { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-file { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-time { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-road { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-download-alt { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-upload { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-inbox { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-play-circle { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-repeat { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-refresh { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-list-alt { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-lock { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-flag { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-headphones { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-volume-off { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-volume-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-volume-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-qrcode { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-barcode { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-tag { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-tags { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-book { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-bookmark { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-print { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-camera { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-font { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-bold { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-italic { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-text-height { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-text-width { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-align-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-align-center { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-align-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-align-justify { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-list { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-indent-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-indent-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-facetime-video { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-picture { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-pencil { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-map-marker { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-adjust { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-tint { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-edit { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-check { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-move { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-step-backward { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-fast-backward { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-backward { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-play { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-pause { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-stop { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-forward { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-fast-forward { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-step-forward { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-eject { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chevron-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chevron-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-plus-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-minus-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-remove-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-ok-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-question-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-info-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-screenshot { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-remove-circle { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-ok-circle { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-ban-circle { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-arrow-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-arrow-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-arrow-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-arrow-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-share-alt { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-resize-full { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-resize-small { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-plus { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-minus { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-asterisk { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-exclamation-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-gift { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-leaf { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-fire { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-eye-open { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-eye-close { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-warning-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-plane { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-calendar { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-random { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-comment { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-magnet { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chevron-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chevron-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-retweet { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-shopping-cart { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-folder-close { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-folder-open { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-resize-vertical { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-resize-horizontal { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-bar-chart { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-twitter-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-facebook-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-camera-retro { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-key { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-cogs { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-comments { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-thumbs-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-thumbs-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-star-half { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-heart-empty { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-signout { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-linkedin-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-pushpin { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-external-link { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-signin { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-trophy { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-github-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-upload-alt { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-lemon { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-phone { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-check-empty { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-bookmark-empty { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-phone-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-github { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-unlock { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-credit-card { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-rss { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-hdd { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-bullhorn { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-bell { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-certificate { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-hand-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-hand-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-hand-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-hand-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-circle-arrow-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-circle-arrow-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-circle-arrow-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-circle-arrow-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-globe { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-wrench { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-tasks { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-filter { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-briefcase { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-fullscreen { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-group { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-link { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-cloud { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-beaker { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-cut { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-copy { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-paper-clip { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-save { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-sign-blank { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-reorder { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-ul { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-ol { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-strikethrough { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-underline { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-table { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-magic { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-truck { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-pinterest-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-google-plus-sign { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-google-plus { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-money { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-caret-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-caret-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-caret-left { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-caret-right { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-columns { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-sort { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-sort-down { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-sort-up { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } + +.icon-user-md { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chart-pie-one-third { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chart-pie-two-thirds { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chart-pie-full { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } +.icon-chart-pie-empty { *zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = ' '); } diff --git a/docs/assets/css/font-awesome.css b/docs/assets/css/font-awesome.css index 304e2d156..b8e54f363 100644 --- a/docs/assets/css/font-awesome.css +++ b/docs/assets/css/font-awesome.css @@ -24,7 +24,7 @@ @font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot'); - src: url('../font/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svgz#FontAwesomeRegular') format('svg'), url('../font/fontawesome-webfont.svg#FontAwesomeRegular') format('svg'); + src: url('../font/fontawesome-webfont.eot') format('embedded-opentype'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svgz#FontAwesomeRegular') format('svg'), url('../font/fontawesome-webfont.svg#FontAwesomeRegular') format('svg'); font-weight: normal; font-style: normal; } diff --git a/docs/assets/css/site.css b/docs/assets/css/site.css index b06fb9a3c..16ec421bd 100644 --- a/docs/assets/css/site.css +++ b/docs/assets/css/site.css @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.0.1 + * Bootstrap v2.0.3 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -61,7 +61,7 @@ sub { } img { max-width: 100%; - height: auto; + vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; } @@ -91,10 +91,10 @@ input[type="submit"] { -webkit-appearance: button; } input[type="search"] { - -webkit-appearance: textfield; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; + -webkit-appearance: textfield; } input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { @@ -115,6 +115,26 @@ textarea { .clearfix:after { clear: both; } +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -155,101 +175,83 @@ a:hover { [class*="span"] { float: left; margin-left: 20px; - float: left; - margin-left: 20px; } -.span1 { - width: 60px; - width: 60px; +.container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; } -.span2 { - width: 140px; - width: 140px; -} -.span3 { - width: 220px; - width: 220px; -} -.span4 { - width: 300px; - width: 300px; -} -.span5 { - width: 380px; - width: 380px; -} -.span6 { - width: 460px; - width: 460px; -} -.span7 { - width: 540px; - width: 540px; -} -.span8 { - width: 620px; - width: 620px; -} -.span9 { - width: 700px; - width: 700px; -} -.span10 { - width: 780px; - width: 780px; +.span12 { + width: 940px; } .span11 { width: 860px; - width: 860px; } -.span12, -.container { - width: 940px; - width: 940px; +.span10 { + width: 780px; } -.offset1 { - margin-left: 100px; - margin-left: 100px; +.span9 { + width: 700px; } -.offset2 { - margin-left: 180px; - margin-left: 180px; +.span8 { + width: 620px; } -.offset3 { - margin-left: 260px; - margin-left: 260px; +.span7 { + width: 540px; } -.offset4 { - margin-left: 340px; - margin-left: 340px; +.span6 { + width: 460px; } -.offset5 { - margin-left: 420px; - margin-left: 420px; +.span5 { + width: 380px; } -.offset6 { - margin-left: 500px; - margin-left: 500px; +.span4 { + width: 300px; } -.offset7 { - margin-left: 580px; - margin-left: 580px; +.span3 { + width: 220px; } -.offset8 { - margin-left: 660px; - margin-left: 660px; +.span2 { + width: 140px; } -.offset9 { - margin-left: 740px; - margin-left: 740px; +.span1 { + width: 60px; } -.offset10 { - margin-left: 820px; - margin-left: 820px; +.offset12 { + margin-left: 980px; } .offset11 { margin-left: 900px; - margin-left: 900px; +} +.offset10 { + margin-left: 820px; +} +.offset9 { + margin-left: 740px; +} +.offset8 { + margin-left: 660px; +} +.offset7 { + margin-left: 580px; +} +.offset6 { + margin-left: 500px; +} +.offset5 { + margin-left: 420px; +} +.offset4 { + margin-left: 340px; +} +.offset3 { + margin-left: 260px; +} +.offset2 { + margin-left: 180px; +} +.offset1 { + margin-left: 100px; } .row { margin-left: -20px; @@ -275,101 +277,83 @@ a:hover { [class*="span"] { float: left; margin-left: 20px; - float: left; - margin-left: 20px; } -.span1 { - width: 60px; - width: 60px; +.container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; } -.span2 { - width: 140px; - width: 140px; -} -.span3 { - width: 220px; - width: 220px; -} -.span4 { - width: 300px; - width: 300px; -} -.span5 { - width: 380px; - width: 380px; -} -.span6 { - width: 460px; - width: 460px; -} -.span7 { - width: 540px; - width: 540px; -} -.span8 { - width: 620px; - width: 620px; -} -.span9 { - width: 700px; - width: 700px; -} -.span10 { - width: 780px; - width: 780px; +.span12 { + width: 940px; } .span11 { width: 860px; - width: 860px; } -.span12, -.container { - width: 940px; - width: 940px; +.span10 { + width: 780px; } -.offset1 { - margin-left: 100px; - margin-left: 100px; +.span9 { + width: 700px; } -.offset2 { - margin-left: 180px; - margin-left: 180px; +.span8 { + width: 620px; } -.offset3 { - margin-left: 260px; - margin-left: 260px; +.span7 { + width: 540px; } -.offset4 { - margin-left: 340px; - margin-left: 340px; +.span6 { + width: 460px; } -.offset5 { - margin-left: 420px; - margin-left: 420px; +.span5 { + width: 380px; } -.offset6 { - margin-left: 500px; - margin-left: 500px; +.span4 { + width: 300px; } -.offset7 { - margin-left: 580px; - margin-left: 580px; +.span3 { + width: 220px; } -.offset8 { - margin-left: 660px; - margin-left: 660px; +.span2 { + width: 140px; } -.offset9 { - margin-left: 740px; - margin-left: 740px; +.span1 { + width: 60px; } -.offset10 { - margin-left: 820px; - margin-left: 820px; +.offset12 { + margin-left: 980px; } .offset11 { margin-left: 900px; - margin-left: 900px; +} +.offset10 { + margin-left: 820px; +} +.offset9 { + margin-left: 740px; +} +.offset8 { + margin-left: 660px; +} +.offset7 { + margin-left: 580px; +} +.offset6 { + margin-left: 500px; +} +.offset5 { + margin-left: 420px; +} +.offset4 { + margin-left: 340px; +} +.offset3 { + margin-left: 260px; +} +.offset2 { + margin-left: 180px; +} +.offset1 { + margin-left: 100px; } .row-fluid { width: 100%; @@ -392,62 +376,83 @@ a:hover { .row-fluid:after { clear: both; } -.row-fluid > [class*="span"] { - float: left; - margin-left: 2.127659574%; +.row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; float: left; margin-left: 2.127659574%; + *margin-left: 2.0744680846382977%; } -.row-fluid > [class*="span"]:first-child { +.row-fluid [class*="span"]:first-child { margin-left: 0; } -.row-fluid > .span1 { - width: 6.382978723%; - width: 6.382978723%; -} -.row-fluid > .span2 { - width: 14.89361702%; - width: 14.89361702%; -} -.row-fluid > .span3 { - width: 23.404255317%; - width: 23.404255317%; -} -.row-fluid > .span4 { - width: 31.914893614%; - width: 31.914893614%; -} -.row-fluid > .span5 { - width: 40.425531911%; - width: 40.425531911%; -} -.row-fluid > .span6 { - width: 48.93617020799999%; - width: 48.93617020799999%; -} -.row-fluid > .span7 { - width: 57.446808505%; - width: 57.446808505%; -} -.row-fluid > .span8 { - width: 65.95744680199999%; - width: 65.95744680199999%; -} -.row-fluid > .span9 { - width: 74.468085099%; - width: 74.468085099%; -} -.row-fluid > .span10 { - width: 82.97872339599999%; - width: 82.97872339599999%; -} -.row-fluid > .span11 { - width: 91.489361693%; - width: 91.489361693%; -} -.row-fluid > .span12 { - width: 99.99999998999999%; +.row-fluid .span12 { width: 99.99999998999999%; + *width: 99.94680850063828%; +} +.row-fluid .span11 { + width: 91.489361693%; + *width: 91.4361702036383%; +} +.row-fluid .span10 { + width: 82.97872339599999%; + *width: 82.92553190663828%; +} +.row-fluid .span9 { + width: 74.468085099%; + *width: 74.4148936096383%; +} +.row-fluid .span8 { + width: 65.95744680199999%; + *width: 65.90425531263828%; +} +.row-fluid .span7 { + width: 57.446808505%; + *width: 57.3936170156383%; +} +.row-fluid .span6 { + width: 48.93617020799999%; + *width: 48.88297871863829%; +} +.row-fluid .span5 { + width: 40.425531911%; + *width: 40.3723404216383%; +} +.row-fluid .span4 { + width: 31.914893614%; + *width: 31.8617021246383%; +} +.row-fluid .span3 { + width: 23.404255317%; + *width: 23.3510638276383%; +} +.row-fluid .span2 { + width: 14.89361702%; + *width: 14.8404255306383%; +} +.row-fluid .span1 { + width: 6.382978723%; + *width: 6.329787233638298%; } .row-fluid { width: 100%; @@ -470,72 +475,91 @@ a:hover { .row-fluid:after { clear: both; } -.row-fluid > [class*="span"] { - float: left; - margin-left: 2.127659574%; +.row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; float: left; margin-left: 2.127659574%; + *margin-left: 2.0744680846382977%; } -.row-fluid > [class*="span"]:first-child { +.row-fluid [class*="span"]:first-child { margin-left: 0; } -.row-fluid > .span1 { - width: 6.382978723%; - width: 6.382978723%; -} -.row-fluid > .span2 { - width: 14.89361702%; - width: 14.89361702%; -} -.row-fluid > .span3 { - width: 23.404255317%; - width: 23.404255317%; -} -.row-fluid > .span4 { - width: 31.914893614%; - width: 31.914893614%; -} -.row-fluid > .span5 { - width: 40.425531911%; - width: 40.425531911%; -} -.row-fluid > .span6 { - width: 48.93617020799999%; - width: 48.93617020799999%; -} -.row-fluid > .span7 { - width: 57.446808505%; - width: 57.446808505%; -} -.row-fluid > .span8 { - width: 65.95744680199999%; - width: 65.95744680199999%; -} -.row-fluid > .span9 { - width: 74.468085099%; - width: 74.468085099%; -} -.row-fluid > .span10 { - width: 82.97872339599999%; - width: 82.97872339599999%; -} -.row-fluid > .span11 { - width: 91.489361693%; - width: 91.489361693%; -} -.row-fluid > .span12 { - width: 99.99999998999999%; +.row-fluid .span12 { width: 99.99999998999999%; + *width: 99.94680850063828%; +} +.row-fluid .span11 { + width: 91.489361693%; + *width: 91.4361702036383%; +} +.row-fluid .span10 { + width: 82.97872339599999%; + *width: 82.92553190663828%; +} +.row-fluid .span9 { + width: 74.468085099%; + *width: 74.4148936096383%; +} +.row-fluid .span8 { + width: 65.95744680199999%; + *width: 65.90425531263828%; +} +.row-fluid .span7 { + width: 57.446808505%; + *width: 57.3936170156383%; +} +.row-fluid .span6 { + width: 48.93617020799999%; + *width: 48.88297871863829%; +} +.row-fluid .span5 { + width: 40.425531911%; + *width: 40.3723404216383%; +} +.row-fluid .span4 { + width: 31.914893614%; + *width: 31.8617021246383%; +} +.row-fluid .span3 { + width: 23.404255317%; + *width: 23.3510638276383%; +} +.row-fluid .span2 { + width: 14.89361702%; + *width: 14.8404255306383%; +} +.row-fluid .span1 { + width: 6.382978723%; + *width: 6.329787233638298%; } .container { - width: 940px; - margin-left: auto; margin-right: auto; + margin-left: auto; *zoom: 1; *zoom: 1; - width: 940px; - margin-left: auto; margin-right: auto; + margin-left: auto; *zoom: 1; *zoom: 1; } @@ -572,8 +596,8 @@ a:hover { clear: both; } .container-fluid { - padding-left: 20px; padding-right: 20px; + padding-left: 20px; *zoom: 1; *zoom: 1; } @@ -616,8 +640,9 @@ h4, h5, h6 { margin: 0; + font-family: inherit; font-weight: bold; - color: #333333; + color: inherit; text-rendering: optimizelegibility; } h1 small, @@ -644,8 +669,8 @@ h2 small { font-size: 18px; } h3 { - line-height: 31.5px; font-size: 18px; + line-height: 31.5px; } h3 small { font-size: 14px; @@ -711,10 +736,26 @@ dd { } dt { font-weight: bold; + line-height: 20px; } dd { margin-left: 10.5px; } +.dl-horizontal dt { + float: left; + width: 120px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.dl-horizontal dd { + margin-left: 130px; +} hr { margin: 21px 0; border: 0; @@ -730,11 +771,13 @@ em { .muted { color: #999999; } -abbr { +abbr[title] { + cursor: help; + border-bottom: 1px dotted #ddd; +} +abbr.initialism { font-size: 90%; text-transform: uppercase; - border-bottom: 1px dotted #ddd; - cursor: help; } blockquote { padding: 0 0 0 15px; @@ -760,10 +803,10 @@ blockquote small:before { } blockquote.pull-right { float: right; - padding-left: 0; padding-right: 15px; - border-left: 0; + padding-left: 0; border-right: 5px solid #eeeeee; + border-left: 0; } blockquote.pull-right p, blockquote.pull-right small { @@ -778,8 +821,8 @@ blockquote:after { address { display: block; margin-bottom: 21px; - line-height: 21px; font-style: normal; + line-height: 21px; } small { font-size: 100%; @@ -790,8 +833,8 @@ cite { code, pre { padding: 0 3px 2px; - font-family: Menlo, Monaco, "Courier New", monospace; - font-family: Menlo, Monaco, "Courier New", monospace; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; color: #333333; -webkit-border-radius: 3px; @@ -802,7 +845,7 @@ pre { border-radius: 3px; } code { - padding: 3px 4px; + padding: 2px 4px; color: #d14; background-color: #f7f7f9; border: 1px solid #e1e1e8; @@ -811,8 +854,12 @@ pre { display: block; padding: 10px; margin: 0 0 10.5px; - font-size: 12px; + font-size: 12.950000000000001px; line-height: 21px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; background-color: #f5f5f5; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); @@ -822,10 +869,6 @@ pre { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; - white-space: pre; - white-space: pre-wrap; - word-break: break-all; - word-wrap: break-word; } pre.prettyprint { margin-bottom: 21px; @@ -880,7 +923,6 @@ button, select, textarea { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } label { display: block; @@ -899,7 +941,8 @@ select, font-size: 14px; line-height: 21px; color: #555555; - border: 1px solid #ccc; + background-color: #ffffff; + border: 1px solid #cccccc; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -928,15 +971,16 @@ input[type="radio"] { line-height: normal; cursor: pointer; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; + background-color: transparent; border: 0 \9; /* IE9 and down */ + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } input[type="image"] { border: 0; @@ -945,9 +989,9 @@ input[type="file"] { width: auto; padding: initial; line-height: initial; - border: initial; background-color: #ffffff; background-color: initial; + border: initial; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; @@ -998,6 +1042,7 @@ input[type="hidden"] { } .radio, .checkbox { + min-height: 18px; padding-left: 18px; } .radio input[type="radio"], @@ -1042,33 +1087,33 @@ textarea { input:focus, textarea:focus { border-color: rgba(82, 168, 236, 0.8); - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); outline: 0; outline: thin dotted \9; /* IE6-9 */ + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus, select:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } .input-mini { width: 60px; @@ -1091,163 +1136,111 @@ select:focus { input[class*="span"], select[class*="span"], textarea[class*="span"], -.uneditable-input { +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { float: none; margin-left: 0; } -input.span1, -textarea.span1, -.uneditable-input.span1 { - width: 50px; - width: 50px; +input, +textarea, +.uneditable-input { + margin-left: 0; } -input.span2, -textarea.span2, -.uneditable-input.span2 { - width: 130px; - width: 130px; -} -input.span3, -textarea.span3, -.uneditable-input.span3 { - width: 210px; - width: 210px; -} -input.span4, -textarea.span4, -.uneditable-input.span4 { - width: 290px; - width: 290px; -} -input.span5, -textarea.span5, -.uneditable-input.span5 { - width: 370px; - width: 370px; -} -input.span6, -textarea.span6, -.uneditable-input.span6 { - width: 450px; - width: 450px; -} -input.span7, -textarea.span7, -.uneditable-input.span7 { - width: 530px; - width: 530px; -} -input.span8, -textarea.span8, -.uneditable-input.span8 { - width: 610px; - width: 610px; -} -input.span9, -textarea.span9, -.uneditable-input.span9 { - width: 690px; - width: 690px; -} -input.span10, -textarea.span10, -.uneditable-input.span10 { - width: 770px; - width: 770px; -} -input.span11, -textarea.span11, -.uneditable-input.span11 { - width: 850px; - width: 850px; -} -input.span12, -textarea.span12, -.uneditable-input.span12 { - width: 930px; +input.span12, textarea.span12, .uneditable-input.span12 { width: 930px; } -input.span1, -textarea.span1, -.uneditable-input.span1 { - width: 50px; - width: 50px; -} -input.span2, -textarea.span2, -.uneditable-input.span2 { - width: 130px; - width: 130px; -} -input.span3, -textarea.span3, -.uneditable-input.span3 { - width: 210px; - width: 210px; -} -input.span4, -textarea.span4, -.uneditable-input.span4 { - width: 290px; - width: 290px; -} -input.span5, -textarea.span5, -.uneditable-input.span5 { - width: 370px; - width: 370px; -} -input.span6, -textarea.span6, -.uneditable-input.span6 { - width: 450px; - width: 450px; -} -input.span7, -textarea.span7, -.uneditable-input.span7 { - width: 530px; - width: 530px; -} -input.span8, -textarea.span8, -.uneditable-input.span8 { - width: 610px; - width: 610px; -} -input.span9, -textarea.span9, -.uneditable-input.span9 { - width: 690px; - width: 690px; -} -input.span10, -textarea.span10, -.uneditable-input.span10 { - width: 770px; - width: 770px; -} -input.span11, -textarea.span11, -.uneditable-input.span11 { - width: 850px; +input.span11, textarea.span11, .uneditable-input.span11 { width: 850px; } -input.span12, -textarea.span12, -.uneditable-input.span12 { - width: 930px; +input.span10, textarea.span10, .uneditable-input.span10 { + width: 770px; +} +input.span9, textarea.span9, .uneditable-input.span9 { + width: 690px; +} +input.span8, textarea.span8, .uneditable-input.span8 { + width: 610px; +} +input.span7, textarea.span7, .uneditable-input.span7 { + width: 530px; +} +input.span6, textarea.span6, .uneditable-input.span6 { + width: 450px; +} +input.span5, textarea.span5, .uneditable-input.span5 { + width: 370px; +} +input.span4, textarea.span4, .uneditable-input.span4 { + width: 290px; +} +input.span3, textarea.span3, .uneditable-input.span3 { + width: 210px; +} +input.span2, textarea.span2, .uneditable-input.span2 { + width: 130px; +} +input.span1, textarea.span1, .uneditable-input.span1 { + width: 50px; +} +input, +textarea, +.uneditable-input { + margin-left: 0; +} +input.span12, textarea.span12, .uneditable-input.span12 { width: 930px; } +input.span11, textarea.span11, .uneditable-input.span11 { + width: 850px; +} +input.span10, textarea.span10, .uneditable-input.span10 { + width: 770px; +} +input.span9, textarea.span9, .uneditable-input.span9 { + width: 690px; +} +input.span8, textarea.span8, .uneditable-input.span8 { + width: 610px; +} +input.span7, textarea.span7, .uneditable-input.span7 { + width: 530px; +} +input.span6, textarea.span6, .uneditable-input.span6 { + width: 450px; +} +input.span5, textarea.span5, .uneditable-input.span5 { + width: 370px; +} +input.span4, textarea.span4, .uneditable-input.span4 { + width: 290px; +} +input.span3, textarea.span3, .uneditable-input.span3 { + width: 210px; +} +input.span2, textarea.span2, .uneditable-input.span2 { + width: 130px; +} +input.span1, textarea.span1, .uneditable-input.span1 { + width: 50px; +} input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] { - background-color: #f5f5f5; - border-color: #ddd; cursor: not-allowed; + background-color: #eeeeee; + border-color: #ddd; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; } .control-group.warning > label, .control-group.warning .help-block, @@ -1440,9 +1433,29 @@ select:focus:required:invalid:focus { margin-bottom: 21px; background-color: #f5f5f5; border-top: 1px solid #ddd; + *zoom: 1; + *zoom: 1; +} +.form-actions:before, +.form-actions:after { + display: table; + content: ""; +} +.form-actions:after { + clear: both; +} +.form-actions:before, +.form-actions:after { + display: table; + content: ""; +} +.form-actions:after { + clear: both; } .uneditable-input { - display: block; + overflow: hidden; + white-space: nowrap; + cursor: not-allowed; background-color: #ffffff; border-color: #eee; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); @@ -1451,7 +1464,6 @@ select:focus:required:invalid:focus { -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); - cursor: not-allowed; } :-moz-placeholder { color: #999999; @@ -1465,11 +1477,13 @@ select:focus:required:invalid:focus { ::-webkit-input-placeholder { color: #999999; } +.help-block, +.help-inline { + color: #555555; +} .help-block { display: block; - margin-top: 5px; - margin-bottom: 0; - color: #999999; + margin-bottom: 10.5px; } .help-inline { display: inline-block; @@ -1481,42 +1495,23 @@ select:focus:required:invalid:focus { /* IE7 inline-block hack */ *zoom: 1; - margin-bottom: 9px; vertical-align: middle; padding-left: 5px; } .input-prepend, .input-append { margin-bottom: 5px; - *zoom: 1; - *zoom: 1; -} -.input-prepend:before, -.input-append:before, -.input-prepend:after, -.input-append:after { - display: table; - content: ""; -} -.input-prepend:after, -.input-append:after { - clear: both; -} -.input-prepend:before, -.input-append:before, -.input-prepend:after, -.input-append:after { - display: table; - content: ""; -} -.input-prepend:after, -.input-append:after { - clear: both; } .input-prepend input, .input-append input, +.input-prepend select, +.input-append select, .input-prepend .uneditable-input, .input-append .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: middle; -webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; @@ -1526,9 +1521,10 @@ select:focus:required:invalid:focus { } .input-prepend input:focus, .input-append input:focus, +.input-prepend select:focus, +.input-append select:focus, .input-prepend .uneditable-input:focus, .input-append .uneditable-input:focus { - position: relative; z-index: 2; } .input-prepend .uneditable-input, @@ -1537,40 +1533,52 @@ select:focus:required:invalid:focus { } .input-prepend .add-on, .input-append .add-on { - float: left; - display: block; + display: inline-block; width: auto; - min-width: 16px; height: 21px; - margin-right: -1px; + min-width: 16px; padding: 4px 5px; font-weight: normal; line-height: 21px; - color: #999999; text-align: center; text-shadow: 0 1px 0 #ffffff; - background-color: #f5f5f5; + vertical-align: middle; + background-color: #eeeeee; border: 1px solid #ccc; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; +} +.input-prepend .add-on, +.input-append .add-on, +.input-prepend .btn, +.input-append .btn { + margin-left: -1px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } .input-prepend .active, .input-append .active { background-color: #a9dba9; border-color: #46a546; } -.input-prepend .add-on { - *margin-top: 1px; - /* IE6-7 */ - +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; } .input-append input, +.input-append select, .input-append .uneditable-input { - float: left; -webkit-border-radius: 3px 0 0 3px; -moz-border-radius: 3px 0 0 3px; border-radius: 3px 0 0 3px; @@ -1579,11 +1587,40 @@ select:focus:required:invalid:focus { border-radius: 3px 0 0 3px; } .input-append .uneditable-input { - border-left-color: #eee; border-right-color: #ccc; + border-left-color: #eee; } -.input-append .add-on { - margin-right: 0; +.input-append .add-on:last-child, +.input-append .btn:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { margin-left: -1px; -webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; @@ -1592,15 +1629,13 @@ select:focus:required:invalid:focus { -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; } -.input-append input:first-child { - *margin-left: -160px; -} -.input-append input:first-child + .add-on { - *margin-left: -21px; -} .search-query { - padding-left: 14px; padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + margin-bottom: 0; -webkit-border-radius: 14px; -moz-border-radius: 14px; @@ -1623,8 +1658,22 @@ select:focus:required:invalid:focus { .form-horizontal .help-inline, .form-search .uneditable-input, .form-inline .uneditable-input, -.form-horizontal .uneditable-input { +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; margin-bottom: 0; } .form-search .hide, @@ -1633,26 +1682,31 @@ select:focus:required:invalid:focus { display: none; } .form-search label, -.form-inline label, +.form-inline label { + display: inline-block; +} .form-search .input-append, .form-inline .input-append, .form-search .input-prepend, .form-inline .input-prepend { - display: inline-block; -} -.form-search .input-append .add-on, -.form-inline .input-prepend .add-on, -.form-search .input-append .add-on, -.form-inline .input-prepend .add-on { - vertical-align: middle; + margin-bottom: 0; } .form-search .radio, -.form-inline .radio, .form-search .checkbox, +.form-inline .radio, .form-inline .checkbox { + padding-left: 0; margin-bottom: 0; vertical-align: middle; } +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} .control-group { margin-bottom: 10.5px; } @@ -1688,13 +1742,24 @@ legend + .control-group { text-align: right; } .form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; margin-left: 160px; + *margin-left: 0; +} +.form-horizontal .controls:first-child { + *padding-left: 160px; +} +.form-horizontal .help-block { + margin-top: 10.5px; + margin-bottom: 0; } .form-horizontal .form-actions { padding-left: 160px; } table { max-width: 100%; + background-color: transparent; border-collapse: collapse; border-spacing: 0; } @@ -1708,7 +1773,7 @@ table { line-height: 21px; text-align: left; vertical-align: top; - border-top: 1px solid #ddd; + border-top: 1px solid #dddddd; } .table th { font-weight: bold; @@ -1716,21 +1781,26 @@ table { .table thead th { vertical-align: bottom; } -.table thead:first-child tr th, -.table thead:first-child tr td { +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { border-top: 0; } .table tbody + tbody { - border-top: 2px solid #ddd; + border-top: 2px solid #dddddd; } .table-condensed th, .table-condensed td { padding: 4px 5px; } .table-bordered { - border: 1px solid #ddd; + border: 1px solid #dddddd; border-collapse: separate; *border-collapse: collapsed; + border-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; @@ -1738,12 +1808,16 @@ table { -moz-border-radius: 4px; border-radius: 4px; } -.table-bordered th + th, -.table-bordered td + td, -.table-bordered th + td, -.table-bordered td + th { - border-left: 1px solid #ddd; +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; } +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, .table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td { @@ -1751,21 +1825,15 @@ table { } .table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child { - -webkit-border-radius: 4px 0 0 0; - -moz-border-radius: 4px 0 0 0; - border-radius: 4px 0 0 0; - -webkit-border-radius: 4px 0 0 0; - -moz-border-radius: 4px 0 0 0; - border-radius: 4px 0 0 0; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; } .table-bordered thead:first-child tr:first-child th:last-child, .table-bordered tbody:first-child tr:first-child td:last-child { - -webkit-border-radius: 0 4px 0 0; - -moz-border-radius: 0 4px 0 0; - border-radius: 0 4px 0 0; - -webkit-border-radius: 0 4px 0 0; - -moz-border-radius: 0 4px 0 0; - border-radius: 0 4px 0 0; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; } .table-bordered thead:last-child tr:last-child th:first-child, .table-bordered tbody:last-child tr:last-child td:first-child { @@ -1775,15 +1843,15 @@ table { -webkit-border-radius: 0 0 0 4px; -moz-border-radius: 0 0 0 4px; border-radius: 0 0 0 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; } .table-bordered thead:last-child tr:last-child th:last-child, .table-bordered tbody:last-child tr:last-child td:last-child { - -webkit-border-radius: 0 0 4px 0; - -moz-border-radius: 0 0 4px 0; - border-radius: 0 0 4px 0; - -webkit-border-radius: 0 0 4px 0; - -moz-border-radius: 0 0 4px 0; - border-radius: 0 0 4px 0; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; } .table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th { @@ -1797,62 +1865,195 @@ table .span1 { float: none; width: 44px; margin-left: 0; + float: none; + width: 44px; + margin-left: 0; } table .span2 { float: none; width: 124px; margin-left: 0; + float: none; + width: 124px; + margin-left: 0; } table .span3 { float: none; width: 204px; margin-left: 0; + float: none; + width: 204px; + margin-left: 0; } table .span4 { float: none; width: 284px; margin-left: 0; + float: none; + width: 284px; + margin-left: 0; } table .span5 { float: none; width: 364px; margin-left: 0; + float: none; + width: 364px; + margin-left: 0; } table .span6 { float: none; width: 444px; margin-left: 0; + float: none; + width: 444px; + margin-left: 0; } table .span7 { float: none; width: 524px; margin-left: 0; + float: none; + width: 524px; + margin-left: 0; } table .span8 { float: none; width: 604px; margin-left: 0; + float: none; + width: 604px; + margin-left: 0; } table .span9 { float: none; width: 684px; margin-left: 0; + float: none; + width: 684px; + margin-left: 0; } table .span10 { float: none; width: 764px; margin-left: 0; + float: none; + width: 764px; + margin-left: 0; } table .span11 { float: none; width: 844px; margin-left: 0; + float: none; + width: 844px; + margin-left: 0; } table .span12 { float: none; width: 924px; margin-left: 0; + float: none; + width: 924px; + margin-left: 0; } +table .span13 { + float: none; + width: 1004px; + margin-left: 0; + float: none; + width: 1004px; + margin-left: 0; +} +table .span14 { + float: none; + width: 1084px; + margin-left: 0; + float: none; + width: 1084px; + margin-left: 0; +} +table .span15 { + float: none; + width: 1164px; + margin-left: 0; + float: none; + width: 1164px; + margin-left: 0; +} +table .span16 { + float: none; + width: 1244px; + margin-left: 0; + float: none; + width: 1244px; + margin-left: 0; +} +table .span17 { + float: none; + width: 1324px; + margin-left: 0; + float: none; + width: 1324px; + margin-left: 0; +} +table .span18 { + float: none; + width: 1404px; + margin-left: 0; + float: none; + width: 1404px; + margin-left: 0; +} +table .span19 { + float: none; + width: 1484px; + margin-left: 0; + float: none; + width: 1484px; + margin-left: 0; +} +table .span20 { + float: none; + width: 1564px; + margin-left: 0; + float: none; + width: 1564px; + margin-left: 0; +} +table .span21 { + float: none; + width: 1644px; + margin-left: 0; + float: none; + width: 1644px; + margin-left: 0; +} +table .span22 { + float: none; + width: 1724px; + margin-left: 0; + float: none; + width: 1724px; + margin-left: 0; +} +table .span23 { + float: none; + width: 1804px; + margin-left: 0; + float: none; + width: 1804px; + margin-left: 0; +} +table .span24 { + float: none; + width: 1884px; + margin-left: 0; + float: none; + width: 1884px; + margin-left: 0; +} +.dropup, .dropdown { position: relative; } @@ -1867,24 +2068,22 @@ table .span12 { display: inline-block; width: 0; height: 0; - text-indent: -99999px; - *text-indent: 0; vertical-align: top; - border-left: 4px solid transparent; - border-right: 4px solid transparent; border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; opacity: 0.3; filter: alpha(opacity=30); opacity: 0.3; filter: alpha(opacity=30); - content: "\2193"; } .dropdown .caret { margin-top: 8px; margin-left: 2px; } .dropdown:hover .caret, -.open.dropdown .caret { +.open .caret { opacity: 1; filter: alpha(opacity=100); opacity: 1; @@ -1895,24 +2094,23 @@ table .span12 { top: 100%; left: 0; z-index: 1000; - float: left; display: none; + float: left; min-width: 160px; - _width: 160px; padding: 4px 0; - margin: 0; + margin: 1px 0 0; list-style: none; background-color: #ffffff; - border-color: #ccc; - border-color: rgba(0, 0, 0, 0.2); - border-style: solid; - border-width: 1px; - -webkit-border-radius: 0 0 5px 5px; - -moz-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; - -moz-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); @@ -1922,22 +2120,26 @@ table .span12 { -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; - *border-right-width: 2px; - *border-bottom-width: 2px; } -.dropdown-menu.bottom-up { - top: auto; - bottom: 100%; - margin-bottom: 2px; +.dropdown-menu.pull-right { + right: 0; + left: auto; } .dropdown-menu .divider { + *width: 100%; height: 1px; - margin: 5px 1px; + margin: 9.5px 1px; + *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid #ffffff; *width: 100%; + height: 1px; + margin: 9.5px 1px; *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; } .dropdown-menu a { display: block; @@ -1945,7 +2147,7 @@ table .span12 { clear: both; font-weight: normal; line-height: 21px; - color: #555555; + color: #333333; white-space: nowrap; } .dropdown-menu li > a:hover, @@ -1955,17 +2157,28 @@ table .span12 { text-decoration: none; background-color: #9d261d; } -.dropdown.open { +.open { *z-index: 1000; } -.dropdown.open .dropdown-toggle { - color: #ffffff; - background: #ccc; - background: rgba(0, 0, 0, 0.3); -} -.dropdown.open .dropdown-menu { +.open .dropdown-menu { display: block; } +.pull-right .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: "\2191"; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} .typeahead { margin-top: 2px; -webkit-border-radius: 4px; @@ -1999,36 +2212,60 @@ table .span12 { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} .fade { - -webkit-transition: opacity 0.15s linear; - -moz-transition: opacity 0.15s linear; - -ms-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; - -webkit-transition: opacity 0.15s linear; - -moz-transition: opacity 0.15s linear; - -ms-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; opacity: 0; + filter: alpha(opacity=0); + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -ms-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -ms-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } .fade.in { opacity: 1; + filter: alpha(opacity=100); + opacity: 1; + filter: alpha(opacity=100); } .collapse { - -webkit-transition: height 0.35s ease; - -moz-transition: height 0.35s ease; - -ms-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; - -webkit-transition: height 0.35s ease; - -moz-transition: height 0.35s ease; - -ms-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; position: relative; - overflow: hidden; height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -ms-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -ms-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; } .collapse.in { height: auto; @@ -2048,125 +2285,146 @@ table .span12 { .close:hover { color: #000000; text-decoration: none; - opacity: 0.4; - filter: alpha(opacity=40); - opacity: 0.4; - filter: alpha(opacity=40); cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); + opacity: 0.4; + filter: alpha(opacity=40); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } .btn { display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; padding: 4px 10px 4px; margin-bottom: 0; font-size: 14px; line-height: 21px; + *line-height: 20px; color: #333333; text-align: center; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); vertical-align: middle; - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - border: 1px solid #ccc; - border-bottom-color: #bbb; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); cursor: pointer; + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e6e6e6; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e6e6e6; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #cccccc; + *border: 0; + border-bottom-color: #b3b3b3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; *margin-left: .3em; *margin-left: .3em; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); } .btn:hover, .btn:active, @@ -2174,6 +2432,7 @@ table .span12 { .btn.disabled, .btn[disabled] { background-color: #e6e6e6; + *background-color: #d9d9d9; } .btn:active, .btn.active { @@ -2185,6 +2444,7 @@ table .span12 { .btn.disabled, .btn[disabled] { background-color: #e6e6e6; + *background-color: #d9d9d9; } .btn:active, .btn.active { @@ -2200,6 +2460,9 @@ table .span12 { color: #333333; text-decoration: none; background-color: #e6e6e6; + *background-color: #d9d9d9; + /* Buttons in IE7 don't get borders, so darken on hover */ + background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; @@ -2222,22 +2485,22 @@ table .span12 { } .btn.active, .btn:active { - background-image: none; - -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); background-color: #e6e6e6; background-color: #d9d9d9 \9; + background-image: none; outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); } .btn.disabled, .btn[disabled] { cursor: default; - background-image: none; background-color: #e6e6e6; + background-image: none; opacity: 0.65; filter: alpha(opacity=65); opacity: 0.65; @@ -2288,100 +2551,110 @@ table .span12 { .btn-info:hover, .btn-inverse, .btn-inverse:hover { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } .btn-primary.active, .btn-warning.active, .btn-danger.active, .btn-success.active, .btn-info.active, -.btn-dark.active { +.btn-inverse.active { color: rgba(255, 255, 255, 0.75); } +.btn { + border-color: #ccc; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +} .btn-primary { - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - border-color: #9d511d #9d511d #5c2f11; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + border-color: #9d461d #9d461d #5c2911; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - border-color: #9d511d #9d511d #5c2f11; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + border-color: #9d461d #9d461d #5c2911; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #9d461d; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - border-color: #9d511d #9d511d #5c2f11; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + border-color: #9d461d #9d461d #5c2911; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - background-color: #9d371d; - background-image: -moz-linear-gradient(top, #9d261d, #9d511d); - background-image: -ms-linear-gradient(top, #9d261d, #9d511d); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d511d)); - background-image: -webkit-linear-gradient(top, #9d261d, #9d511d); - background-image: -o-linear-gradient(top, #9d261d, #9d511d); - background-image: linear-gradient(top, #9d261d, #9d511d); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + background-color: #9d331d; + background-image: -moz-linear-gradient(top, #9d261d, #9d461d); + background-image: -ms-linear-gradient(top, #9d261d, #9d461d); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#9d261d), to(#9d461d)); + background-image: -webkit-linear-gradient(top, #9d261d, #9d461d); + background-image: -o-linear-gradient(top, #9d261d, #9d461d); + background-image: linear-gradient(top, #9d261d, #9d461d); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d511d', GradientType=0); - border-color: #9d511d #9d511d #5c2f11; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d261d', endColorstr='#9d461d', GradientType=0); + border-color: #9d461d #9d461d #5c2911; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #9d461d; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } @@ -2390,22 +2663,24 @@ table .span12 { .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { - background-color: #9d511d; + background-color: #9d461d; + *background-color: #873c19; } .btn-primary:active, .btn-primary.active { - background-color: #723b15 \9; + background-color: #723315 \9; } .btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { - background-color: #9d511d; + background-color: #9d461d; + *background-color: #873c19; } .btn-primary:active, .btn-primary.active { - background-color: #723b15 \9; + background-color: #723315 \9; } .btn-warning { background-color: #faa732; @@ -2448,6 +2723,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #f89406; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #faa732; @@ -2490,6 +2768,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #f89406; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } @@ -2499,6 +2780,7 @@ table .span12 { .btn-warning.disabled, .btn-warning[disabled] { background-color: #f89406; + *background-color: #df8505; } .btn-warning:active, .btn-warning.active { @@ -2510,6 +2792,7 @@ table .span12 { .btn-warning.disabled, .btn-warning[disabled] { background-color: #f89406; + *background-color: #df8505; } .btn-warning:active, .btn-warning.active { @@ -2556,6 +2839,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #bd362f; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #da4f49; @@ -2598,6 +2884,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #bd362f; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } @@ -2607,6 +2896,7 @@ table .span12 { .btn-danger.disabled, .btn-danger[disabled] { background-color: #bd362f; + *background-color: #a9302a; } .btn-danger:active, .btn-danger.active { @@ -2618,6 +2908,7 @@ table .span12 { .btn-danger.disabled, .btn-danger[disabled] { background-color: #bd362f; + *background-color: #a9302a; } .btn-danger:active, .btn-danger.active { @@ -2664,6 +2955,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #51a351; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #5bb75b; @@ -2706,6 +3000,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #51a351; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } @@ -2715,6 +3012,7 @@ table .span12 { .btn-success.disabled, .btn-success[disabled] { background-color: #51a351; + *background-color: #499249; } .btn-success:active, .btn-success.active { @@ -2726,6 +3024,7 @@ table .span12 { .btn-success.disabled, .btn-success[disabled] { background-color: #51a351; + *background-color: #499249; } .btn-success:active, .btn-success.active { @@ -2772,6 +3071,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #2f96b4; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #49afcd; @@ -2814,6 +3116,9 @@ table .span12 { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #2f96b4; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } @@ -2823,6 +3128,7 @@ table .span12 { .btn-info.disabled, .btn-info[disabled] { background-color: #2f96b4; + *background-color: #2a85a0; } .btn-info:active, .btn-info.active { @@ -2834,94 +3140,101 @@ table .span12 { .btn-info.disabled, .btn-info[disabled] { background-color: #2f96b4; + *background-color: #2a85a0; } .btn-info:active, .btn-info.active { background-color: #24748c \9; } .btn-inverse { - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - border-color: #262626 #262626 #000000; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - border-color: #262626 #262626 #000000; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #222222; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - border-color: #262626 #262626 #000000; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - background-color: #393939; - background-image: -moz-linear-gradient(top, #454545, #262626); - background-image: -ms-linear-gradient(top, #454545, #262626); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); - background-image: -webkit-linear-gradient(top, #454545, #262626); - background-image: -o-linear-gradient(top, #454545, #262626); - background-image: linear-gradient(top, #454545, #262626); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + background-color: #414141; + background-image: -moz-linear-gradient(top, #555555, #222222); + background-image: -ms-linear-gradient(top, #555555, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); + background-image: -webkit-linear-gradient(top, #555555, #222222); + background-image: -o-linear-gradient(top, #555555, #222222); + background-image: linear-gradient(top, #555555, #222222); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); - border-color: #262626 #262626 #000000; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); + border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #222222; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } @@ -2930,22 +3243,24 @@ table .span12 { .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] { - background-color: #262626; + background-color: #222222; + *background-color: #151515; } .btn-inverse:active, .btn-inverse.active { - background-color: #0c0c0c \9; + background-color: #080808 \9; } .btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] { - background-color: #262626; + background-color: #222222; + *background-color: #151515; } .btn-inverse:active, .btn-inverse.active { - background-color: #0c0c0c \9; + background-color: #080808 \9; } button.btn, input[type="submit"].btn { @@ -2957,16 +3272,21 @@ input[type="submit"].btn::-moz-focus-inner { padding: 0; border: 0; } -button.btn.large, -input[type="submit"].btn.large { +button.btn.btn-large, +input[type="submit"].btn.btn-large { *padding-top: 7px; *padding-bottom: 7px; } -button.btn.small, -input[type="submit"].btn.small { +button.btn.btn-small, +input[type="submit"].btn.btn-small { *padding-top: 3px; *padding-bottom: 3px; } +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} .btn-group { position: relative; *zoom: 1; @@ -3014,7 +3334,7 @@ input[type="submit"].btn.small { *zoom: 1; } -.btn-group .btn { +.btn-group > .btn { position: relative; float: left; margin-left: -1px; @@ -3025,7 +3345,7 @@ input[type="submit"].btn.small { -moz-border-radius: 0; border-radius: 0; } -.btn-group .btn:first-child { +.btn-group > .btn:first-child { margin-left: 0; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; @@ -3034,8 +3354,8 @@ input[type="submit"].btn.small { -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; } -.btn-group .btn:last-child, -.btn-group .dropdown-toggle { +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; @@ -3043,7 +3363,7 @@ input[type="submit"].btn.small { -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; } -.btn-group .btn.large:first-child { +.btn-group > .btn.large:first-child { margin-left: 0; -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; @@ -3052,8 +3372,8 @@ input[type="submit"].btn.small { -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; } -.btn-group .btn.large:last-child, -.btn-group .large.dropdown-toggle { +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; @@ -3061,49 +3381,69 @@ input[type="submit"].btn.small { -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; } -.btn-group .btn:hover, -.btn-group .btn:focus, -.btn-group .btn:active, -.btn-group .btn.active { +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { z-index: 2; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } -.btn-group .dropdown-toggle { +.btn-group > .dropdown-toggle { padding-left: 8px; padding-right: 8px; - -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - *padding-top: 5px; - *padding-bottom: 5px; + -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + *padding-top: 4px; + *padding-bottom: 4px; } -.btn-group.open { - *z-index: 1000; +.btn-group > .btn-mini.dropdown-toggle { + padding-left: 5px; + padding-right: 5px; } -.btn-group.open .dropdown-menu { - display: block; - margin-top: 1px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; +.btn-group > .btn-small.dropdown-toggle { + *padding-top: 4px; + *padding-bottom: 4px; +} +.btn-group > .btn-large.dropdown-toggle { + padding-left: 12px; + padding-right: 12px; } .btn-group.open .dropdown-toggle { background-image: none; - -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); +} +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #9d461d; +} +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; } .btn .caret { margin-top: 7px; @@ -3116,20 +3456,35 @@ input[type="submit"].btn.small { opacity: 1; filter: alpha(opacity=100); } +.btn-mini .caret { + margin-top: 5px; +} +.btn-small .caret { + margin-top: 6px; +} +.btn-large .caret { + margin-top: 6px; + border-left-width: 5px; + border-right-width: 5px; + border-top-width: 5px; +} +.dropup .btn-large .caret { + border-bottom: 5px solid #000000; + border-top: 0; +} .btn-primary .caret, +.btn-warning .caret, .btn-danger .caret, .btn-info .caret, .btn-success .caret, .btn-inverse .caret { border-top-color: #ffffff; + border-bottom-color: #ffffff; opacity: 0.75; filter: alpha(opacity=75); opacity: 0.75; filter: alpha(opacity=75); } -.btn-small .caret { - margin-top: 4px; -} .alert { padding: 8px 35px 8px 14px; margin-bottom: 21px; @@ -3142,11 +3497,11 @@ input[type="submit"].btn.small { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -} -.alert, -.alert-heading { color: #c09853; } +.alert-heading { + color: inherit; +} .alert .close { position: relative; top: -2px; @@ -3156,28 +3511,17 @@ input[type="submit"].btn.small { .alert-success { background-color: #dff0d8; border-color: #d6e9c6; -} -.alert-success, -.alert-success .alert-heading { color: #468847; } .alert-danger, .alert-error { background-color: #f2dede; border-color: #eed3d7; -} -.alert-danger, -.alert-error, -.alert-danger .alert-heading, -.alert-error .alert-heading { color: #b94a48; } .alert-info { background-color: #d9edf7; border-color: #bce8f1; -} -.alert-info, -.alert-info .alert-heading { color: #3a87ad; } .alert-block { @@ -3203,6 +3547,9 @@ input[type="submit"].btn.small { text-decoration: none; background-color: #eeeeee; } +.nav > .pull-right { + float: right; +} .nav .nav-header { display: block; padding: 3px 15px; @@ -3217,8 +3564,8 @@ input[type="submit"].btn.small { margin-top: 9px; } .nav-list { - padding-left: 14px; - padding-right: 14px; + padding-left: 15px; + padding-right: 15px; margin-bottom: 0; } .nav-list > li > a, @@ -3230,8 +3577,8 @@ input[type="submit"].btn.small { .nav-list > li > a { padding: 3px 15px; } -.nav-list .active > a, -.nav-list .active > a:hover { +.nav-list > .active > a, +.nav-list > .active > a:hover { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); background-color: #9d261d; @@ -3239,6 +3586,22 @@ input[type="submit"].btn.small { .nav-list [class^="icon-"] { margin-right: 2px; } +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9.5px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; + *width: 100%; + height: 1px; + margin: 9.5px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} .nav-tabs, .nav-pills { *zoom: 1; @@ -3284,8 +3647,9 @@ input[type="submit"].btn.small { margin-bottom: -1px; } .nav-tabs > li > a { - padding-top: 9px; - padding-bottom: 9px; + padding-top: 8px; + padding-bottom: 8px; + line-height: 21px; border: 1px solid transparent; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; @@ -3317,8 +3681,8 @@ input[type="submit"].btn.small { -moz-border-radius: 5px; border-radius: 5px; } -.nav-pills .active > a, -.nav-pills .active > a:hover { +.nav-pills > .active > a, +.nav-pills > .active > a:hover { color: #ffffff; background-color: #9d261d; } @@ -3366,10 +3730,13 @@ input[type="submit"].btn.small { .nav-pills.nav-stacked > li:last-child > a { margin-bottom: 1px; } -.nav-tabs .dropdown-menu, -.nav-pills .dropdown-menu { - margin-top: 1px; - border-width: 1px; +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; } .nav-pills .dropdown-menu { -webkit-border-radius: 4px; @@ -3382,15 +3749,18 @@ input[type="submit"].btn.small { .nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret { border-top-color: #9d261d; + border-bottom-color: #9d261d; margin-top: 6px; } .nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret { border-top-color: #5c1611; + border-bottom-color: #5c1611; } .nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret { border-top-color: #333333; + border-bottom-color: #333333; } .nav > .dropdown.active > a:hover { color: #000000; @@ -3398,15 +3768,16 @@ input[type="submit"].btn.small { } .nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, -.nav > .open.active > a:hover { +.nav > li.dropdown.open.active > a:hover { color: #ffffff; background-color: #999999; border-color: #999999; } -.nav .open .caret, -.nav .open.active .caret, -.nav .open a:hover .caret { +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { border-top-color: #ffffff; + border-bottom-color: #ffffff; opacity: 1; filter: alpha(opacity=100); opacity: 1; @@ -3436,11 +3807,11 @@ input[type="submit"].btn.small { clear: both; } .tab-content { - overflow: hidden; + overflow: auto; } -.tabs-below .nav-tabs, -.tabs-right .nav-tabs, -.tabs-left .nav-tabs { +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { border-bottom: 0; } .tab-content > .tab-pane, @@ -3451,14 +3822,14 @@ input[type="submit"].btn.small { .pill-content > .active { display: block; } -.tabs-below .nav-tabs { +.tabs-below > .nav-tabs { border-top: 1px solid #ddd; } -.tabs-below .nav-tabs > li { +.tabs-below > .nav-tabs > li { margin-top: -1px; margin-bottom: 0; } -.tabs-below .nav-tabs > li > a { +.tabs-below > .nav-tabs > li > a { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; @@ -3466,30 +3837,30 @@ input[type="submit"].btn.small { -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; } -.tabs-below .nav-tabs > li > a:hover { +.tabs-below > .nav-tabs > li > a:hover { border-bottom-color: transparent; border-top-color: #ddd; } -.tabs-below .nav-tabs .active > a, -.tabs-below .nav-tabs .active > a:hover { +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { border-color: transparent #ddd #ddd #ddd; } -.tabs-left .nav-tabs > li, -.tabs-right .nav-tabs > li { +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { float: none; } -.tabs-left .nav-tabs > li > a, -.tabs-right .nav-tabs > li > a { +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { min-width: 74px; margin-right: 0; margin-bottom: 3px; } -.tabs-left .nav-tabs { +.tabs-left > .nav-tabs { float: left; margin-right: 19px; border-right: 1px solid #ddd; } -.tabs-left .nav-tabs > li > a { +.tabs-left > .nav-tabs > li > a { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; @@ -3498,20 +3869,20 @@ input[type="submit"].btn.small { -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; } -.tabs-left .nav-tabs > li > a:hover { +.tabs-left > .nav-tabs > li > a:hover { border-color: #eeeeee #dddddd #eeeeee #eeeeee; } -.tabs-left .nav-tabs .active > a, -.tabs-left .nav-tabs .active > a:hover { +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { border-color: #ddd transparent #ddd #ddd; *border-right-color: #ffffff; } -.tabs-right .nav-tabs { +.tabs-right > .nav-tabs { float: right; margin-left: 19px; border-left: 1px solid #ddd; } -.tabs-right .nav-tabs > li > a { +.tabs-right > .nav-tabs > li > a { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; @@ -3520,19 +3891,22 @@ input[type="submit"].btn.small { -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; } -.tabs-right .nav-tabs > li > a:hover { +.tabs-right > .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #eeeeee #dddddd; } -.tabs-right .nav-tabs .active > a, -.tabs-right .nav-tabs .active > a:hover { +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { border-color: #ddd #ddd #ddd transparent; *border-left-color: #ffffff; } .navbar { + *position: relative; + *z-index: 2; overflow: visible; margin-bottom: 21px; } .navbar-inner { + min-height: 40px; padding-left: 20px; padding-right: 20px; background-color: #2c2c2c; @@ -3559,14 +3933,252 @@ input[type="submit"].btn.small { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); } -.btn-navbar { +.navbar .container { + width: auto; +} +.nav-collapse.collapse { + height: auto; +} +.navbar { + color: #999999; +} +.navbar .brand:hover { + text-decoration: none; +} +.navbar .brand { + float: left; + display: block; + padding: 8px 20px 12px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + line-height: 1; + color: #999999; +} +.navbar .navbar-text { + margin-bottom: 0; + line-height: 40px; +} +.navbar .navbar-link { + color: #999999; +} +.navbar .navbar-link:hover { + color: #ffffff; +} +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; + margin-top: 5px; +} +.navbar .btn-group .btn { + margin: 0; +} +.navbar-form { + margin-bottom: 0; + *zoom: 1; + *zoom: 1; +} +.navbar-form:before, +.navbar-form:after { + display: table; + content: ""; +} +.navbar-form:after { + clear: both; +} +.navbar-form:before, +.navbar-form:after { + display: table; + content: ""; +} +.navbar-form:after { + clear: both; +} +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; + margin-top: 5px; +} +.navbar-form input, +.navbar-form select { + display: inline-block; + margin-bottom: 0; +} +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 6px; + white-space: nowrap; +} +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} +.navbar-search { + position: relative; + float: left; + margin-top: 6px; + margin-top: 6px; + margin-bottom: 0; +} +.navbar-search .search-query { + padding: 4px 9px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + font-size: 13px; + font-weight: normal; + line-height: 1; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #ffffff; + background-color: #626262; + border: 1px solid #151515; + -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} +.navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} +.navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} +.navbar-search .search-query:focus, +.navbar-search .search-query.focused { + padding: 5px 10px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + outline: 0; +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-left: 0; + padding-right: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; + width: 940px; +} +.navbar-fixed-top { + top: 0; +} +.navbar-fixed-bottom { + bottom: 0; +} +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; +} +.navbar .nav > li { + display: block; + float: left; +} +.navbar .nav > li > a { + float: none; + padding: 9px 10px 11px; + line-height: 19px; + color: #999999; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.navbar .btn { + display: inline-block; + padding: 4px 10px 4px; + margin: 5px 5px 6px; + line-height: 21px; +} +.navbar .btn-group { + margin: 0; + padding: 5px 5px 6px; +} +.navbar .nav > li > a:hover { + background-color: transparent; + color: #ffffff; + text-decoration: none; +} +.navbar .nav .active > a, +.navbar .nav .active > a:hover { + color: #ffffff; + text-decoration: none; + background-color: #222222; +} +.navbar .divider-vertical { + height: 40px; + width: 1px; + margin: 0 9px; + overflow: hidden; + background-color: #222222; + border-right: 1px solid #333333; +} +.navbar .nav.pull-right { + margin-left: 10px; + margin-right: 0; +} +.navbar .btn-navbar { display: none; float: right; padding: 7px 10px; @@ -3612,6 +4224,9 @@ input[type="submit"].btn.small { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #222222; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #2c2c2c; @@ -3654,38 +4269,43 @@ input[type="submit"].btn.small { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #222222; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); } -.btn-navbar:hover, -.btn-navbar:active, -.btn-navbar.active, -.btn-navbar.disabled, -.btn-navbar[disabled] { +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { background-color: #222222; + *background-color: #151515; } -.btn-navbar:active, -.btn-navbar.active { +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { background-color: #080808 \9; } -.btn-navbar:hover, -.btn-navbar:active, -.btn-navbar.active, -.btn-navbar.disabled, -.btn-navbar[disabled] { +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { background-color: #222222; + *background-color: #151515; } -.btn-navbar:active, -.btn-navbar.active { +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { background-color: #080808 \9; } -.btn-navbar .icon-bar { +.navbar .btn-navbar .icon-bar { display: block; width: 18px; height: 2px; @@ -3706,232 +4326,6 @@ input[type="submit"].btn.small { .btn-navbar .icon-bar + .icon-bar { margin-top: 3px; } -.nav-collapse.collapse { - height: auto; -} -.navbar .brand:hover { - text-decoration: none; -} -.navbar .brand { - float: left; - display: block; - padding: 8px 20px 12px; - margin-left: -20px; - font-size: 20px; - font-weight: 200; - line-height: 1; - color: #ffffff; -} -.navbar .navbar-text { - margin-bottom: 0; - line-height: 40px; - color: #999999; -} -.navbar .navbar-text a:hover { - color: #ffffff; - background-color: transparent; -} -.navbar .btn, -.navbar .btn-group { - margin-top: 5px; -} -.navbar .btn-group .btn { - margin-top: 0; -} -.navbar-form { - margin-bottom: 0; - *zoom: 1; - *zoom: 1; -} -.navbar-form:before, -.navbar-form:after { - display: table; - content: ""; -} -.navbar-form:after { - clear: both; -} -.navbar-form:before, -.navbar-form:after { - display: table; - content: ""; -} -.navbar-form:after { - clear: both; -} -.navbar-form input, -.navbar-form select { - display: inline-block; - margin-top: 5px; - margin-bottom: 0; -} -.navbar-form .radio, -.navbar-form .checkbox { - margin-top: 5px; -} -.navbar-form input[type="image"], -.navbar-form input[type="checkbox"], -.navbar-form input[type="radio"] { - margin-top: 3px; -} -.navbar-form .input-append, -.navbar-form .input-prepend { - margin-top: 6px; - white-space: nowrap; -} -.navbar-form .input-append input, -.navbar-form .input-prepend input { - margin-top: 0; -} -.navbar-search { - position: relative; - float: left; - margin-top: 6px; - margin-bottom: 0; -} -.navbar-search .search-query { - padding: 4px 9px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 13px; - font-weight: normal; - line-height: 1; - font-size: 13px; - font-weight: normal; - line-height: 1; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 13px; - font-weight: normal; - line-height: 1; - font-size: 13px; - font-weight: normal; - line-height: 1; - color: #ffffff; - color: rgba(255, 255, 255, 0.75); - background: #666; - background: rgba(255, 255, 255, 0.3); - border: 1px solid #111; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15); - -webkit-transition: none; - -moz-transition: none; - -ms-transition: none; - -o-transition: none; - transition: none; - -webkit-transition: none; - -moz-transition: none; - -ms-transition: none; - -o-transition: none; - transition: none; -} -.navbar-search .search-query :-moz-placeholder { - color: #eeeeee; -} -.navbar-search .search-query ::-webkit-input-placeholder { - color: #eeeeee; -} -.navbar-search .search-query :-moz-placeholder { - color: #eeeeee; -} -.navbar-search .search-query ::-webkit-input-placeholder { - color: #eeeeee; -} -.navbar-search .search-query:hover { - color: #ffffff; - background-color: #999999; - background-color: rgba(255, 255, 255, 0.5); -} -.navbar-search .search-query:focus, -.navbar-search .search-query.focused { - padding: 5px 10px; - color: #333333; - text-shadow: 0 1px 0 #ffffff; - background-color: #ffffff; - border: 0; - -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - outline: 0; -} -.navbar-fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} -.navbar-fixed-top .navbar-inner { - padding-left: 0; - padding-right: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.navbar .nav { - position: relative; - left: 0; - display: block; - float: left; - margin: 0 10px 0 0; -} -.navbar .nav.pull-right { - float: right; -} -.navbar .nav > li { - display: block; - float: left; -} -.navbar .nav > li > a { - float: none; - padding: 10px 10px 11px; - line-height: 19px; - color: #999999; - text-decoration: none; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.navbar .nav > li > a:hover { - background-color: transparent; - color: #ffffff; - text-decoration: none; -} -.navbar .nav .active > a, -.navbar .nav .active > a:hover { - color: #ffffff; - text-decoration: none; - background-color: #222222; -} -.navbar .divider-vertical { - height: 40px; - width: 1px; - margin: 0 9px; - overflow: hidden; - background-color: #222222; - border-right: 1px solid #333333; -} -.navbar .nav.pull-right { - margin-left: 10px; - margin-right: 0; -} -.navbar .dropdown-menu { - margin-top: 1px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} .navbar .dropdown-menu:before { content: ''; display: inline-block; @@ -3953,39 +4347,57 @@ input[type="submit"].btn.small { top: -6px; left: 10px; } -.navbar .nav .dropdown-toggle .caret, -.navbar .nav .open.dropdown .caret { +.navbar-fixed-bottom .dropdown-menu:before { + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; + bottom: -7px; + top: auto; +} +.navbar-fixed-bottom .dropdown-menu:after { + border-top: 6px solid #ffffff; + border-bottom: 0; + bottom: -6px; + top: auto; +} +.navbar .nav li.dropdown .dropdown-toggle .caret, +.navbar .nav li.dropdown.open .caret { border-top-color: #ffffff; + border-bottom-color: #ffffff; } -.navbar .nav .active .caret { +.navbar .nav li.dropdown.active .caret { opacity: 1; filter: alpha(opacity=100); opacity: 1; filter: alpha(opacity=100); } -.navbar .nav .open > .dropdown-toggle, -.navbar .nav .active > .dropdown-toggle, -.navbar .nav .open.active > .dropdown-toggle { +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { background-color: transparent; } -.navbar .nav .active > .dropdown-toggle:hover { +.navbar .nav li.dropdown.active > .dropdown-toggle:hover { color: #ffffff; } -.navbar .nav.pull-right .dropdown-menu { +.navbar .pull-right .dropdown-menu, +.navbar .dropdown-menu.pull-right { left: auto; right: 0; } -.navbar .nav.pull-right .dropdown-menu:before { +.navbar .pull-right .dropdown-menu:before, +.navbar .dropdown-menu.pull-right:before { left: auto; right: 12px; } -.navbar .nav.pull-right .dropdown-menu:after { +.navbar .pull-right .dropdown-menu:after, +.navbar .dropdown-menu.pull-right:after { left: auto; right: 13px; } .breadcrumb { padding: 7px 14px; margin: 0 0 21px; + list-style: none; background-color: #fbfbfb; background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5); @@ -4020,6 +4432,14 @@ input[type="submit"].btn.small { } .breadcrumb li { display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; text-shadow: 0 1px 0 #ffffff; } .breadcrumb .divider { @@ -4077,6 +4497,7 @@ input[type="submit"].btn.small { color: #999999; cursor: default; } +.pagination .disabled span, .pagination .disabled a, .pagination .disabled a:hover { color: #999999; @@ -4155,6 +4576,12 @@ input[type="submit"].btn.small { .pager .previous a { float: left; } +.pager .disabled a, +.pager .disabled a:hover { + color: #999999; + background-color: #fff; + cursor: default; +} .modal-open .dropdown-menu { z-index: 2050; } @@ -4191,7 +4618,6 @@ input[type="submit"].btn.small { top: 50%; left: 50%; z-index: 1050; - max-height: 500px; overflow: auto; width: 560px; margin: -250px 0 0 -280px; @@ -4244,14 +4670,17 @@ input[type="submit"].btn.small { margin-top: 2px; } .modal-body { + overflow-y: auto; + max-height: 400px; padding: 15px; } -.modal-body .modal-form { +.modal-form { margin-bottom: 0; } .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; + text-align: right; background-color: #f5f5f5; border-top: 1px solid #ddd; -webkit-border-radius: 0 0 6px 6px; @@ -4285,11 +4714,13 @@ input[type="submit"].btn.small { .modal-footer:after { clear: both; } -.modal-footer .btn { - float: right; +.modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} .tooltip { position: absolute; z-index: 1020; @@ -4550,9 +4981,13 @@ input[type="submit"].btn.small { .thumbnails:after { clear: both; } +.row-fluid .thumbnails { + margin-left: 0; +} .thumbnails > li { float: left; - margin: 0 0 21px 20px; + margin-bottom: 21px; + margin-left: 20px; } .thumbnail { display: block; @@ -4590,13 +5025,19 @@ a.thumbnail:hover { .thumbnail .caption { padding: 9px; } -.label { - padding: 2px 4px 3px; - font-size: 11.9px; +.label, +.badge { + font-size: 11.844px; font-weight: bold; + line-height: 14px; color: #ffffff; + vertical-align: baseline; + white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; +} +.label { + padding: 1px 4px 2px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -4604,43 +5045,86 @@ a.thumbnail:hover { -moz-border-radius: 3px; border-radius: 3px; } -.label:hover { +.badge { + padding: 1px 9px 2px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} +a.label:hover, +a.badge:hover { color: #ffffff; text-decoration: none; + cursor: pointer; } -.label-important { +.label-important, +.badge-important { background-color: #b94a48; } -.label-important:hover { +.label-important[href], +.badge-important[href] { background-color: #953b39; } -.label-warning { +.label-warning, +.badge-warning { background-color: #f89406; } -.label-warning:hover { +.label-warning[href], +.badge-warning[href] { background-color: #c67605; } -.label-success { +.label-success, +.badge-success { background-color: #468847; } -.label-success:hover { +.label-success[href], +.badge-success[href] { background-color: #356635; } -.label-info { +.label-info, +.badge-info { background-color: #3a87ad; } -.label-info:hover { +.label-info[href], +.badge-info[href] { background-color: #2d6987; } +.label-inverse, +.badge-inverse { + background-color: #333333; +} +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} @-webkit-keyframes progress-bar-stripes { from { - background-position: 0 0; + background-position: 40px 0; } to { - background-position: 40px 0; + background-position: 0 0; } } @-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { from { background-position: 0 0; } @@ -4650,10 +5134,10 @@ a.thumbnail:hover { } @keyframes progress-bar-stripes { from { - background-position: 0 0; + background-position: 40px 0; } to { - background-position: 40px 0; + background-position: 0 0; } } .progress { @@ -4724,9 +5208,11 @@ a.thumbnail:hover { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width 0.6s ease; -moz-transition: width 0.6s ease; @@ -4740,14 +5226,14 @@ a.thumbnail:hover { transition: width 0.6s ease; } .progress-striped .bar { - background-color: #62c462; + background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-color: #62c462; + background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); @@ -4766,6 +5252,8 @@ a.thumbnail:hover { .progress.active .bar { -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-danger .bar { @@ -4876,6 +5364,42 @@ a.thumbnail:hover { background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } +.progress-warning .bar { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -ms-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(top, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -ms-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(top, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); +} +.progress-warning.progress-striped .bar { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} .accordion { margin-bottom: 21px; } @@ -4896,6 +5420,9 @@ a.thumbnail:hover { display: block; padding: 8px 15px; } +.accordion-toggle { + cursor: pointer; +} .accordion-inner { padding: 9px 15px; border-top: 1px solid #e5e5e5; @@ -5011,7 +5538,7 @@ a.thumbnail:hover { .hero-unit { padding: 60px; margin-bottom: 30px; - background-color: #f5f5f5; + background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; @@ -5023,12 +5550,14 @@ a.thumbnail:hover { margin-bottom: 0; font-size: 60px; line-height: 1; + color: inherit; letter-spacing: -1px; } .hero-unit p { font-size: 18px; font-weight: 200; line-height: 31.5px; + color: inherit; } .pull-right { float: right; @@ -5056,19 +5585,25 @@ a.thumbnail:hover { .clearfix:after { clear: both; } -@font-face { - font-family: 'MuseoSans'; - src: url('../font/museosans_300-webfont.eot'); - src: url('../font/museosans_300-webfont.eot') format('embedded-opentype'), url('../font/museosans_300-webfont.ttf') format('truetype'); - font-weight: normal; - font-style: normal; +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } -@font-face { - font-family: 'MuseoSans'; - src: url('../font/museosans_500-webfont.eot'); - src: url('../font/museosans_500-webfont.eot') format('embedded-opentype'), url('../font/museosans_500-webfont.ttf') format('truetype'); - font-weight: bold; - font-style: normal; +.input-block-level { + display: block; + width: 100%; + min-height: 28px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; } @font-face { font-family: 'MuseoSlab'; @@ -5110,7 +5645,7 @@ a.thumbnail:hover { @font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot'); - src: url('../font/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svg#FontAwesome') format('svg'); + src: url('../font/fontawesome-webfont.eot') format('embedded-opentype'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svg#FontAwesome') format('svg'); font-weight: normal; font-style: normal; } @@ -5792,6 +6327,7 @@ li[class*=" icon-"].icon-large:before { } .navbar .brand { padding: 11px 20px 9px; + color: #ffffff; } .navbar-inner { -webkit-border-radius: 0; @@ -5929,6 +6465,9 @@ a[href^='http://']:after:hover { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#bbbbbb', GradientType=0); border-color: #bbbbbb #bbbbbb #959595; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #bbbbbb; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #e4e4e4; @@ -5971,6 +6510,9 @@ a[href^='http://']:after:hover { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#bbbbbb', GradientType=0); border-color: #bbbbbb #bbbbbb #959595; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #bbbbbb; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); font-family: MuseoSlab, "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -5996,6 +6538,7 @@ a[href^='http://']:after:hover { .hero-unit .btn-large.disabled, .hero-unit .btn-large[disabled] { background-color: #bbbbbb; + *background-color: #aeaeae; } .hero-unit .btn-large:active, .hero-unit .btn-large.active { @@ -6007,6 +6550,7 @@ a[href^='http://']:after:hover { .hero-unit .btn-large.disabled, .hero-unit .btn-large[disabled] { background-color: #bbbbbb; + *background-color: #aeaeae; } .hero-unit .btn-large:active, .hero-unit .btn-large.active { @@ -6014,7 +6558,7 @@ a[href^='http://']:after:hover { } .hero-unit .btn-large i { position: absolute; - top: 12px; + top: 13px; left: 22px; font-size: 46px; } @@ -6067,6 +6611,9 @@ a[href^='http://']:after:hover { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffeb8', endColorstr='#c49c38', GradientType=0); border-color: #c49c38 #c49c38 #896d27; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #c49c38; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-color: #e7d785; @@ -6109,6 +6656,9 @@ a[href^='http://']:after:hover { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffeb8', endColorstr='#c49c38', GradientType=0); border-color: #c49c38 #c49c38 #896d27; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #c49c38; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); color: #333333; @@ -6125,6 +6675,7 @@ a[href^='http://']:after:hover { .btn-primary[disabled], .hero-unit .btn-primary[disabled] { background-color: #c49c38; + *background-color: #b08c32; } .btn-primary:active, .hero-unit .btn-primary:active, @@ -6143,6 +6694,7 @@ a[href^='http://']:after:hover { .btn-primary[disabled], .hero-unit .btn-primary[disabled] { background-color: #c49c38; + *background-color: #b08c32; } .btn-primary:active, .hero-unit .btn-primary:active, @@ -6334,7 +6886,3 @@ footer ul { margin-left: 30px; line-height: 25px; } -footer ul li:before { - font-size: 20px; - vertical-align: top; -} diff --git a/docs/assets/font/fontawesome-webfont.eot b/docs/assets/font/fontawesome-webfont.eot index 1b9d7c47e81595335c9495f589bc0dddb5fe8ef5..54d49605829b2f87811d61661a2a5fce4e821269 100755 GIT binary patch delta 36522 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 delta 35741 zcmV(rK<>ZVo&w640tQNq0069ukp?yd>Ze_}kwF!aRZj#V0A6{Ks6hdgk?MMX{SY4~ z2;n)|`Jb_>;hr8q02QnRU3CtA6jMIhKW9jwiew^d(_Q6Ml8itntRnQ`2hX-tflap) zkx@e8DXAxhRLHQwd-Ir2&;p@LFXP&|v|8E(Nz00GJ|NiK-x@2yHQH4Drvz8>#9TFyCwHH^I3G zjQ)wPjd^L}^Qi?FuCj!e6?`kTAgz2@X1*^dFrrhD-cj9r6c;zB$sM-Pb zdo8FIS{i|gOF#ys@TeIS$PkTwJhsrMviE@H#dZL{?FL1vkXYT_U!`A=Y&c{l!HF$c7En z^9%_`>v@8q9N87ck9y!CkoUes;zXuNzsQo4W&a{GFM#F2)>`6Kx2DZ0*a4#v5&FNN zpd6nUBYTRymjwWsX`fnunv|AwW}lQ&{POctjz@b-jjpR*@$XnR83f;RQJG3{8oswoa#tjmxO@Q(mT?Zqn>;lv=6CnbBFW7Dg;OsZO_#fm7 zFxUxe-kJvVMe5)6R4hiZ*wWjESl=IX;8%Z>E1crPIe?j}>~cvw0 zptwER(|{C(QQ+k1G9_h>++t=&3=c*-iitVI7?hvE;Z_`WESWbNv`Mxg3@?5}VX5(- z1*hPQNYv1dZDTio!UfhfC&n&-L?#U)IYw6g^AO26jFBioj|+}o+_<9B-gu@;)J3qH z2`LsIXHuD41!?&PwIB_|mB%ulH!kUO$bdF^B4SxIyKp+6PHe8~{CvF3~5{M+4piVMVTW9I84rjB4 z?e34XJXl8+6*`r29SEjUZ=48=sC64G3VXht-30j+0zf0nl#XLUL456e*8i&kV>_pV zeqdo&HpAS1qI)i6Pelh!s%z9Hz%2b#bOg43G<8h*J2=~}mvMJ=mg?6_bdrd5nu_6NP zIW-14rrj2$OjMw8MB8l0ZGspjCb>QY#*I_!Z>r0%MkPY^`Peu*vF$-1k{8GN6@(l?k==aB zOsW;0nGwQmplZxZ>cG;ph&s~|Yw=3%qpve5REC$~^Mc89eU!)0Q90lHGzI}MOE-8- zL;%u%$+d#sI|U3a@+yvMqELevU?+a64jSIjb zhOla`c@)HK^oy=$LyKYam>Tnc9SAMeZHqEc2FiImq<74UfNzOpb6FTM&hUI5oduYN zG39yA?53=77seVIjwiD|EixL*Ra($R1f@8C$7OL6qTg(F7}G^kRPg1U?(P}XY~mdy zR3Io$Imxgj6vPk>F}F2x-36@rd}G+|16pzsi_u7P;Y>l|nxQ;JW^#84RjV^k8P-LMvY$r0>ACaf@IXLxq^2B#HKI<_a$F$yhq!{{=N^v3cj3UX#d_Lf%hle%G-R}=DLqOY#om>r(5a1(tm}51VxABjJ=;fsyMNUDfFujl= zCnZWMza&@4Rm@OInhM#p?19?UM>L&a{wRaihhjHj|{VmFt=1d?OtA zD4ZCoP%5GODG~-C^YZkf&>8`Mhzebph*=^P!a7h#%19#!vidyl_MJE-3||T#AWr6p zkfY8!KIx}_fVk2$0ML;<8&>Eo17@&F#4|K3GT#`}J>iWbkj9w`te{1Z<0Q4+YKTFb zgXo5nh6a_u#zYWQz+vEGK>6JeKp3;ZalrLcz{H+|2ofy?Gpv9Uo_0WgLdBHSq6Lu| zlc+)<S2qK@CBp5Yx}^T!Og=iqeZ9rX^;Ju@YauBVGuBcN@}MaqYxEvCO;&ChS%A(_XbFu zD6V_j;}hEXOCUpkX%<~4FqTyfWc5YC2>AlRcxs=S_lF^$c`9n9ZmP5RKZG-WYjO?o2x|v#1e@vKA1RF46uCcNLtKE7y1j|~_CjY9hnVCnVWILBS zK}&}Gk|!cK2cw@r6EL+JN6b$A5N=X3B2fkTsQaBtZ}swj)u9D;(aarGm}E)E9~E(x z#{CmlwWEMm91752XhhGW1k=E}abx8prF>9Qlv+uc(vra+x3_jZQj-+T_Wh4EcpRxF zN|8V;1+c59hhf%@ktR5}u~3?ubuq#6Sk(P3yg>}PO_l?KTFn0Q?{1nHXL z%L)X#vbsutE!gx7Clov|1r3Gn=0U>f8{|mrQ_zV@Qx+58VrKzp1H68J3Yx?yObAFFo}k2PXSlN&K4K`= z@HP*N_8g|vCO=?}Ll#+;{eozc(ruFQif|ds0|60`=!NSz+glJmdUmqVsdM;$D~&te z-U8DTLtuoK(>!$h=`pLqoc4-SBQ;7SSKnPw^3a({COMoI;X$_i$NV2!AT-m#AG`{T zH9P`;S|p52Sm<{2jOucN4=Rnctb1s$Mz2S&qdP2sNI1%mYLL0ZPb#^DR(Vw%!!2p616cvRBZz4uOgL(>j6!Z9@U zV-iR4iXM0=c?W)2(Cd%ii|>eAP=&QYK$8uBu((CeJ@>y$?yfyw$2bryJYe@8xe7xO zC@7c8J26qjgNr7)16-Hn7O%Pa-lES$%|WFnKffnAdD*8ett zIm6ZyM6>1oWNzQK1*#7K9kTkbOhkKaDLK|oiHy$fE*(z5ir|G}Pw!Za5m2~_t{zJ1 zs-3X{r)jCNf-dfT#1IX;aK;;#kW2qQ4n~;;f|pA|`ESvuhBmhx9s;qWlMW^J8B~J; zGb<-YWey6gf}*oV6eeqc2SMP--&#w5kBuV`TPv}Y&}2mR4^Pn8IWf!a_Rk0QHY5buCgWP9pWBg?p~9el8{c3LLF3p7=W5l z?uPK$nN!$JK1ff8Uz!E1uocHJBDR64vu%G5;NGRTH~auxN|OS1ES=biRcz%gb73@r zkYdQB!CwnDfFLSk;VjIAfGxsT94M^L*X_K zv%3<6#vK>@Qvwzg)z8w81Ij?d@zks~t_KE@Ug}Gitg zv<=!QeQ=pkb^tz*v68^7B@FWkOQj@&*>zx`Sq%tn7rv|qG~|RGE+zcxl)OwH(eD)_ zz+Lu*6Lzn=oq2i|9M^;~umxeqzC=%57QpQyK}AKjEP^_#0o4r)iu%|gh63c4&S!=G z{8)aLi7E9Rkd+<#N*3pT6<1b-;I30Cj!DHcg`D~h;b>gJOZX+3#L8Pa6^ttRmyW!5 z7_=Sy<`?8+4C!l&L{BAR(Eu=u{Uze)tUMAO!4l?c6G;K6x@EU^HjM(8tgs?3li|X1 zL-17+LX)9t>I1wzl`6lGZni96@0p2UOiKWWFppqHr~kF%q?J^E8sBGNiCqqBs5U*g(99SXOgO7c3H!R;I^3EQKO~Si(Mc<_uVWUR0yO&$!K>_MD zgKC)tk!(O=8fmGA!89;WQsR-^0*zrDwVW=7ceWW* zmxyG6w0~xfkEVcsKID{12?7iG{O(-500e(-H6QbYfe85wss-;tG5292XmI9Wp?JEw z2j2)-9nkUMPCsStfRQwk6)T0sSP&9{AVia86n7wr^9VPC09R@y)TT^DRkzsE+={2f z(C?OZ;|)DP0CZxNA~i*0nKy>xR7MI;@Z9*xRfJNW8eq_W%I0Mn1P52%xNvvY14pg+ zC4pglgTdX*1V7H=!gj-W)cJsxVx5R*qfnS>>*SEj*)RE`-@~mWyuo<nq8*D=CWReB9$)u7&5q zB~1>M&qsT#SB?*^y27=grX(|J`4_c74D0k8k<{Ao6jA^MIroTx2 z7E)4{coDRRSb``&ymX^r>hR>z5O=;g2?iiXFBR6K+boD`NaOis=_^>t6b@8i5f~T! zl4M@ynhFe(~SHK=I!Qpb&*%&Iwf@|_iah?NK9 zu}?GN6`;BCHH8(gDZW8GIe=&da#TZ%HJaCdfbKnV0S>a4(8%yH8?}yy8F{HX{bm|+ zW)Awl0wxFaLzb95=rBYSfDTeXW86^5y1)@(W!!*$(lJ6}Szf8($LSZ**U@&3x7-Fa z{{X@P#|LW%u$``XN8C0wk4Q(*n(XI}P-#Y=Cn_Z-APpP3Ll+{{A@3!~@nrGbaLPu1 zlASFAyZRtlmti{yn$$UrVU*0ev2uO~s`KD7FsWmvqT!}$9bZGOd=x;2vda%})5cZK zJbWndLJcI#8Pxwt7$6kQ(Gz%u z!8_N7JJPU!dKsXXp1eaXpV}MYFj{VZqlnQ|k8A{E_VDCV%HJ<%gp?+oQBVvDps+yb zgATJbJ#=~=0@w7Df5skCMn4%gRJ|pGF&Ts^EmCFdZFPxV5WQA6X~-E5E^U~Ib!8I= z6gC_S2i-uqV#eMfyEbv1V;*`U-iaiLt&tx>-W9eNx++Xd4-Cd8hc|Tagag`t@@Qvw z+82{XMII}QHit{ISWUqtEQVR556E;T-gjDg-8otYtH|?TMT9Cw+r|uo0~A07fj=AD zNHeP5&3jT8_lr!!#s1Vy_5O4=dBu%M8ElzeQ9!k2or9jl@LVz+G zkv-6q80gjp=r9~*?2S5dWqUnR_o2SPH#HESNjrhI8X^TvLd4%mNk%Gvv&CE)JQ!>T z)76b5b1;Q~4nTz}v#$nQYEFc`^3=t0GZYT95@4jdros}YdyC1@ON17vJwgsR*W4A& zqHru`c5t6GxYcs}sHxLC{o-L<;dzf-#ycL6x-9#kZbUdW5U?p*wkjc*U)NqHQqQuxEah5V1MJ3Ak}`%(oqPOIBq_{0}PQ!25If`>q%(I z#8RqwZG^Y7YSRir5+IBn6Da-8<=?52Rb%IJYw-qAQ{uPmP@4dM89*ePE$G%_3g$o= zM-7Ef>5(DQ^bUm&dm1mL44O?Ls7`f7G_d4uK;%VP-qq)lLW%^;>IebxE*;Dn{vp#% z=~oJoYepJeRbJ(k;@p|U1jS27%<|SVuy8&^@;sHW@Yq%&An-Dl@g&eQ=L$zHOE+Og zD*G}pw#l>*V_QalVc9?J2EP={d^^>19hIr4MrVT9^&DdWxeo(-jiHTqX#p@o`OXlA znruo90Rha{mvKYG!Y=rxF?LV-F# z;QO%%nbK}ms4dp3{}+Hdf$ecr``}b~B~9uIijrPt0dkRg*y-gbj7jdEx@n|`*?9O);zk_^d*#EA~{Q`QJaQUU_P zOj{d-2>Y%;AY@{tGW^JQ~(!K;VIi=Tv%y$`5B#Yc@;XvvU#l5-fX$)5i%BSX(z zz;CYX`0sT%dzwuyD3+ghrDq_FNR*+dQ$GfUnm!rJiD-V2(L|{2RiSge0_S)>P}%qC z!esk@RUw^E(bzk#82%tFT><`Ju}?yE4HJNB3>;F{A{+}A7$S_Wt^XqTaLGLZv2;si z<%%xWg#>oEw-_b^UtL_H%6};b9q5nHpBFbuZ%34F2+A2lj4+ho4Ydaq=-GdYRv;EF zQF|6SFfgKO#XRaADbXJwqCLL0a+U4WkgElM!1?HoBux!_-2-XWZ>0b;dwyjol0g%%fSQ~37-_)?Kx$WFQR#W z+O1X4N`Uya+_16o7eT{xO@Z(er!ef^xzPGSLqpM}ib-JN42*&=YQQ%VVtK`taMLxD z#6<2IjzXd%QlJNd$^`Uacc2hE-n`_0rGh3HYPqK_v?JOn-!PcZ8zU_MEx^CCdNc!~ z9Hb#LjuiYEc=)E(aSvpF+`d3G zRM6s+bJd6o(Ey@xv#&%GDU$T}+!lKYd|@>pW&?6DRinhzG*2*vgj^Mlpt}*YK#UJY zs2vI2PyKr1Eu0uw>&1(~yzDUIO_~1kc;Gry3Qk6#Mh@Bx+AsSagAoXcpp8=%8A)Nq zqWCCD&I|fLYF29D#-j<1E-|ow6DXUYI1$u*&6tX3VhQ+cNY$Z008l19i?ymQ$w+|X zN4k8)YAP6ONj^4FNUL5;1P};nM9WbroJ2$2Iiht8*I>U*cL38$1M_Lg^Lmk zJgJ041R|dIzObyB(*+B4!8%vA$%Jnr%#>px+UjCu3fL(xTg{N)i3N3k4l|);NmuWc z4+gQmECaAL2MTeClJ}1I{`~FOa3C6~6b8*r1w@mSVa=elIFrcrvv*L(T0}XJaWzL01mxiMfd1s_HMCPu z$|m**f_w@L2#q|zA_FlRX(rO?G}=)Q#RSh*t(R8nt#MfncEMQmOxMVS%z3v}z-?hefjkm@!O%0OzZR6=2hmvpksRR7fLA-f1?w2wSGp5Lvw+lrkm8 z-~qv!;P$po4W{`AA3Tnw-~;5#9)*|ulX{M?$l-L)D%s;BQniKAWME?h&0rPrg!4Zq z@VKDxV%;p^A*tAZRSCpmN%RjCY#AdEG7=L7p1Bjn?QDSY5KrfTB1{HC8+>v%fiM)? zb~qBuUlb5uhhhla-7CDT- zTK&nWF%4D(QCyXK7_#QZ?t?i_l?v_I*e1|Ngwctsk&sr!5Sj@qIb4TT%+-F=<%$KA z?}EjMvI-D?SYX_nZ}oqW-AXW_WGyR*82B)jC83{AFQ$g1Lpy{WCJl`I(SuwvE^6p9 zT3b`owF$QfSv7zyp|w(pru05eM&Z+(lf=)iI^&IT2+>_FhtyISPQ!%dtw)1+h8zl z6GCy^$ns6LH%Wl=mWJ$EfQceZwWtSc;npaBLh)k0NKqDL3qfhg<|Nc&Vs-XN;7Ke3 z80A$8>C|juIe$l(3W)0Q>#eEoo#}3 zTKs(8Hw2IGaOp(+9BV0a9jw-&Ro=WT0(dYL4CI2UHZS5T=A`-y-NrH=+DL8Z()>jY79!|hjeDcy|?;YcVq>G>6 zS#aQiQ1}swJ;5P+?;T;2X3_9<3uEUWwOeUq+xu94-Yq5;DnZSvcbJ!eA3zYX+ zOXW*TBO9dJ!|HfuCPi)$+((Otlu59Ea@~vo3$>PU9A3WmT;a;*%C*;?gKe%|x^N_G7Edu+uy?f1Aj3+l`Q%3N|G5 z_&HBgh?TMWOguPy#71SYx(-~WZkaPs-q5kQ1wFvjDXp^rj>ZcaO%R)hBN3Z_+c$^$ zCT9@vt>lX=fxdh$R~A$Pjo8daWDiw#&N%46OA}FVJOtOerY5<@GnW~xCZcN-@N!^m z(&9u_UFvEGw>oW9;kLSJEGMwdL!#Pwr^&#aYT&4{&j^@NU{_AF;Mhy<3wymNR47Do zFKp|cz6QD3x;4HDYqJst%NbgKK!m{@nMoiTW8Bz}&VQ;3Xz?E=qC9;`<-Ujl*Q;)t26g(Ytxgs@dmU@L*Z zDttJwjKE+pICn!{6PZ?hD93h{%|^!b)Z~ z)`ie^_8~4ofVlu!Z;4nb+^7xhd8;IZ2#~)VagnDQc|M@7A((z@aWxB8rnQIRN8)S; zr9hFGYvwrAhq#C_MAEJS zWLdvbutE~A0BaD;(+mwk5?j+n3&S!d@xy6n2Vnsa(Yiej6Li>ryL*_~b_Ux=&|NS3 z&e`kWP~!%}3prS6KF6@?0Lb9M@}tmg2EB@e>}sW%*FJ9n>0Sb9ZOPi>wILP?0{|~a zad`!DaH5PWN+C}M1NwQ>2fiaGvkneQRXE0BB8K$L92NXTYw*MvIsy^k(y3PcCTEo? zPQu4MRqXT-Tln*TGvpPE1>k3@0sx_=cky$C9g|VvY$+-c#Tk$45;eeD+6v7HIpvSj z=(&H1D@d#tzWdY zKxRtG9er_$bkUYYPz+osh0}%hr4<9p|L0irCbK=-~VAnp*>2Vy;=`u{D*8j zQ^O&1llh@~5^%Gj3SKCz5_MXSm}5bn85{x6TyBO#2Zv(bAxTmhv7Us0BDwHPjiCl< zjku@a&VGiS6w@yaQfAjFYVDt;ETDUgxpbA8ATdVMBz%6Ps|5|$wG4li`}E1 zFmh1MZB1oNpu1{)$q_({NFdi=h2vP?V3bt**d|D=yCBn_c&uY&rFdag3!Wgw92xvN zR&gQI#ZqC<0?2hAKq1lMJAu122d_A~>SShr0j3O54k=Q_od5)k$f8zo5t5^+^1+~( z);^rlIsx!Q&_L2OiPM}1H0OZO^M8mPPu{%U^<0OaAm7RZPC)q=FZ#zUo4>45X2OLH zD0^rGZ!ysAE{42VjlDUlS_WK8xI$p;yae{S1bQfP^p%G)1;fi03L4*u!&wCSfg8qu z3YKlLn)w*m!<=KXd)#R-n;ywcwYbu{Igtrx3Vpx^34p08+`?<5YS(fQ8UlGARSrF^ zN}a}Dy)NlKi9&?>QGA*aKP~Iw=x>dm%#ms%VfcZ>1)@smQIMJ;hln<0x}g*lNvl`7 z9@EZ!i;Ps2Dx~wnRw~@LZhs*!YoU(0E$XWgwboRDein~b1M(_IKHw~sNM-vSvT1ojSU`=f zS`!#hMn)j`2Ge5~ppS9*NhQs%T3! zcn=KKmu!HNM+Fi5OH}vDtjENp>;_RkxY=Zqal> zV1}{DVZ{up943(=OuI5Df~-JU3YeUW90!evWdT;b9LnyWR%f{nHYWbS*oz7(asv-M zqg$w0@y#hB!n*(;=I6u`8+ryRL^u?K?6CM~oC;a8W|jLH9r{qYf3>TBQEW9lqG6Qr z0P=dBbrBzL{t|fvQQ@$p)i?loW#Q&wN5R5eV3xG?Vy*YD4QwGtpaC@*3ERT(Km1yO zxcQ{sBn`foq$#V82H~WN90^Y|2q@mXlFf7@Mv*Ie&f6Jpnwue|X#F;njV0zTY2%8` zWf?Tg( zum&#DW8&PLX5Oh=v zk|7TJ0GA2;cz^WazAEt#d`9=-%__)#c#i73rn0v~G6xi2coo^P$OcisL{Qj~f`|%+ znFO(>0qapVh{O!5isCra3rA4%`v*uFpFE8kq#8PI(V{b2B4*Ui99$;~o7=b{YrKjJ zhdE;kTUA05V{_GiD*?TN!HC0xB{DHIMu0BG;t~(zqWxX9lZeW90+d&Olvlu=vG_9R=EY*i%ZyZD z43lCw3bRNS6wwhwQh&N_(J=vayj%rI_E8N33U;9+hyakru-i)q(1NF-1nztziD@EF z9;+!=d7qz>eVE5#2z2P#My;x3K#amLO#5Vi1ak5wLVV~2D+6G7J;>%tTtyuDM;?7qVT%+g>w@9`iMmT&pcOAet81llAp;1RIQ04s z_g?zEm=S)+ar&n)g8#Aun$c@3@qs-O@Tj(G-QL81^yH%vheYSjbb<;0F*b-aI!T72 zh(ljo&<9g78n`>-%gH{EtmP2@CVj{kl{u&if|GvGu}ZOs%p|31Jfn-xaA^=>Dc}P< zq+F0f8w=ZfLG6_mc#>~#99$S5RhF9QjjP86^H*Y3-~F|Rs0Q4~d8wB@sx=zT{n-`D z7-T?yh5aD>rT_NC;^GizY{&qu9kT5>T0oOc792^>MvE1IUhDz}cBWYex*X(l69Y3B z&g=?tQ_&W<@YPDlxwn7vPcpeQ%K}zU0<0v0agH)F4<6jSF!Oq2eFs4dc0u9u&{wlB7{`kAt4bl zIsE>+A}Q6;mG^vJmEo}6c|=dn?f>`rEz;p^&_ZQ%?me;tFtHMzRMOBQQcUq>z@Rjduu{8@@2c-}W$H~k&G`0`lXFyIp z#vP|(;GX#&@;q?4Aox{`=wec?lsbPuS&L_#!NtYd8vzj|-Y1LI!+RgKGGRx5URH3h zFUA2_KC4-TLTAnkU1Z)4h@CZc&Yf>URj^>RXBdV+B&}i~TRuHtxcwf(&LAOev#O69 z8B~_(*xMl1341z)K#|_3ZNwzP)(TRK;LeQa)qrtGd2>@VYqlT}xE~^9bJ`$zN=q8o z21T2XCUEW|_c2w$(M6)`h=ZMfyJ4ES!Y2laa16Tb82va!^cmnGIedF226n(Ec|y*L zKt-Syg3_^yg+OA4jU3_VPyAP9fL=B&opu^C3H>OX3Hg%|&n{tdSBoxK9>c*4kie&7 zLZP4#0Ne)%=xN`8voMXV0c2lA32TTZo5PH+`ZMV1yg@`n{2&|m^K^56jx`*pveI^q ziA?}t16PnFAN)>5mDsKY2QX#6#(W%c6sXd#ySNb~tLE96F^%s4Lx|8E;`GLDSJUeR0;A9O`15r z3Xc-yNT(+ISF+0XiIl)o?y&o7B?Idut zr{$5Gh*0c|`|W};g~OQ%@CE)Q@f9iBDEf$vAVU8LT~yqq+VIkUWiTKz4JuqS5k=ra z%c{MUz!Wr@G*SUH?3XLzh8Z>^a-eu<|Dy|MCtmKm14XpdAx}oh12N!Fq{GFf^${v! zUe^=2ypC67X8~m$p8>G6w5iB#(l7)d2*}o?atN#32&3#{36y9TI7sLt(EyR{>*yk? z^n8XVGxQ-jaPV(`a|WF}fvWDs?!TbU32v&ub^f+Hrp-M~-)VSyicKOpEv!MHp z(j-RRjo->)*kS!5Q*u>8=jn|e@(J@YvHvT*HK=|PfWP6u17}K70jhXEQXD{OR)0P6 zH>kN^{KsO3y2`fOboU;xgh3Pzz!(x@wh@{wfTb3<3J9@(O!+p+0g)I?2P_bjThIUK z)$Us&Q;xx}8if?-k8SYHKS!++)$b$CsHB7%^PLJcL|PRY!{MT2{)8jJU6o+d4769Odrq;GQdVe$M=%Fu2U3)7m94z`Hf=Bqyk|H(2*I5 z{e+Av%LVa&*`sZ@JvJiJDt{CsKSk3v4DMn#*xT$)*;RSjx7$aiM7N3MaZX_OSe(UF z+wtb*7qZ|Sd2E>gbR|#>g_h{opgEwojbkQ{;hpu91BM7vB+1MY%Hzgq!kjiYJv<^6 zEdsUy1f7qeqKy-ebP%+}w3nqQvzw^eApp#JFB@QgIE?iIL~s|{)&X)NMeeu+git{Mv=PMFXPA8JonO0?Y^K+2l(wn~q|rpw!t$1kAQ7Xfv1*nKp@> z8)p-ktu+JMY9!y~qz5WT`PkabVbmeI08c?kD|=(317f76AbPdN0vD=YRqDg@Vc{Mv z2Wb<3`*Ss+O|yMf@;YfvdUN^kn@${J8@GSEIa8mCH9 zC=Sff#F&{8)38M4ws4+Uc{%`c05qxtU*W%hfznF+1$7lTgSc+)fCxK|R}d_f5`se!wz`znKj$0Bh98?uHapkf|^uOwOc4-K-B`n=*L2jpOvE!fv z!AX)|Eh@ADni6G5z_G!fGdP4{cN1l*$_PPXyG5uXxoKfM#vcn7jAl?^sU;h~o3+Dj z38WZD+6o;lcR|44b%1CvRuaI#Sv&H{4}zXp)W;~-p;%JbQJ<#q9tV&4 zefz@l_ecxLdYX&{y}7BPA<+LR;4nmeNPLfIz%JK|2IW-s-O-dSk(N}6sOCCN8;XP= zsd%l#%kHJ1^vJf+C9)&wmp}=BqN8>6eP2hQB8Iz?L=YDvSyUN#1{vve0=tO8tQ15z z$7ez@^mf*SrW$`Yai>J4i-bBB?o~CITBL+ZKC0G9&iWISwx2#&UQ-dsmVl2G?b)5IipG1y-WkYta!;Tw< zN7*LGQtonadTIet((Pp4hOOfAj(K`b?A!o2GDE>+N?n&WPCHmG=h392JdtIaiEait)qJq#=quvTGRBrU4<#rUbY{CS2QwiO^esZ0 zO;w^SCP(Kq%6P442WHIJqfHom9h)1fB-s*D@gf=Vg^7K3-U7%3PkVSB#2HEtH@*&I7uoi zPIyxjq1;#$OgJNdFnwgO6ZzW-FF_x;hCBDYbk8s%1wYC8n?y?XEi*s{w?=oVfE++b z6P%O}o}%hQxEy8xQUusgqC?X6In5)Eb@aD4aOSQ20KX523Q>Uuq>6)*D;#6Y6d0}~ zV*ihq`c+PHg@lCFefF2M`cgj~UBbqIR%3BWrW3yIvUvA@&y_^u;_)0{;FFnH9zx4U zY~ai~HyIl+f8>=-OfUj;8(FOE+9K;iDvZTNp5rndCAj4b(VW51exf(gR_z|<4oRee z9w09jX2wA}E^qxe;*WSm3pz1LfrJ19{Ujw4p@@JudgRu`WOm)%5cLNgaVwR$q9R~z zfc<(`w4?riGRTnQ1+tEhn+O3}z4;Re)Ai#9b$*Zz$I-E*k6kcdQtcua{Srd5(jg*o zgFStKYaV{CGaJrN#(yeVKtR?eYGtlWkV$tGC^#h;Vt59>N)ucOrNwY`#wQwiXu650 z#gXcX$b`_%H()Od#7MISjgT=^2&C?abD1`TNJfKyFW&(X?gZcn99JD_5ja|K%+*sf zdJM%bj~_l7wJLFi8bJqQkMsLh3wh)m2b7sGHPj0s+d-(F#5EzkrhD-#+lsizO8rta z7*u|YfMrdhD=lGAaLp0V)N~(ayqHHS6IyFL1_~7Qg|d~Z8u~H?a6k8n$+HRx0s4V7 z8Oou554R~Efa3E_kx6A z@`D^%rzlAdLgwpDQska04K$oIItWjDl$uTu{6bd2HA`ZKHMJQ1LWM=^-0@OW)P=(q!xJg8P~FYy1M?X2ItmoXSk&pjHp z)(P{v_dFdt#Hvb$dJE`+q#=i0c+!Xk*6i0#aUausy(o2_R>6x#YtdZKLgK_Y7W)y0`;7^ z8Dvbs4pK0``XulWI^d#k6PAa(=u6svqt#%EGRphYrgJPTM#pi8(Mi2b2}r_YfT&!b zlVV+keN#?@sFdZXJ-3o+l41H>OvT>)8X;|z3>V;IXpRqpl)J>{f6cLMHlC4-uf0cr zY%uWxQg#^iCxC}QMtO^dY!_H-ak>k(CRTQ0kCRhtdvK#22wTfIbqoY}CpH&a9|k9o`+DbXBUDT}W)(cO zCp?o<(@ywG`K2u=e^ZW^Y5c$p4Bg`kf1f3+4?g3rY`Fck03q&W(o-~oX&W7P9F%~) z1E8p=nfqHTMZp*NwQh6fI5wPqp(j4Jo6pmachjhH7{ymE?v94J!AXC?H7 zPZWLUW4~;M}C4x^}xvEF$*;8U$M+-F7`-y)_#L59M z-8{GdTFkaUG>D2)E51G?WrN-I`f;kzYc*pFwUx6ZFNTQHk#hqu0M%mx6KKnNm&R<6 zgHXa0Q&Kyb3Yv3kZe%Nbl7f|b&O$}NG{G;Np<*HtjkD>w+eBG^PZCC9d3C)!U?Zj> z9y8*!c=PpnYpEeknjN|$$(ArhBG^m1+1~He%z0)WROV-)Hu{ZsKBe|(0)El-ww(sJDS zNJ=v1CUIu34AWtM;@8wc;ZxUo(hRBOy#JxWl-5$|)WkSEyuPX15SDVp!sr8c`fK~= z2*t1N&}G)Z(#%pFpDOWK51h9b8(;F!f=QS-Ebb5{TrEvKa#oN=;6T*GQs_z*0y2w! z=bj$k5HNf{VNtURnKmE6aBYeyBuw#C}<06WNP8;AgHK_O@fN7fxvB>5vV7l>JUR3 zf=1A&+a%1G<6KGEC<88K$V{yTB(+3E1f6`@~6v?rjJljyqyZ zsF+pm7R;7^J0|})LfjfiHj82*eS(@hrQ=RHKrky3 z7VZI?EH9!N+`%y%GFnc{vQRQ?Bty=&HNIXeyd?#Z{3Zz)l-Om^WyzC>m;tVh-#OS(>LykRvsb>&8w`z%3$U>K3#AF4QKgBrs zLF2xqG@qau2nip{zp(Tl!b)77+;<6}^Q*E($CnhOgA){jF%Sh1Abz$0p(d&To&bV0 z94{^*G`N4JS4aSBR^|aE8L=JBrHePE!~l#@fkxORUz1iD4f8U z77l^Wukt&A6U3NurxhzopgQKKLx>5W-qMWFdfu~IC`ke#OGl(PEqx4cNbk?IsGxHk;I|}MY=4Kp$q!`0ZdKuv2++V z%#5{XTpkY<7)(KDP$67yB3&To#L2*Y)i-_>05(9$zt>Z>KsV~0x}jLutYRzkT{t&= za*PmAe@Gub_Y)g~oUkts29v%v@(nASm^TeesR*1TOv%G)Inalwz1++v=n@OOIT7dr z9EjB;JRWSJH(IsuQ}ga=GZ+Grg^-X%%vJ)xe5}k+m{)G1i{XUB3-Zta#F5{9h$(Ab zB+y*x%SVr`SNAXvkBquN2UI&}=~|Eoo(O_Ce=Ja{w^0QN?q`pKuuE$y^Ec-OhwYc& zN@gV9dbYN9a?Bnc4iSwbf*{mJyXJ;4nZ+root+*`T@$ivqY%1PWqTVBGdW-z9tr^x z4V!$1j1dXP;|;>b;rT-xsu36L! ze*iFXQQl+XgVqj`pK`o*J(RPHy$cQ*g^p3SM z=Jetkr!6ufRY$mjoeQewLsS@fiSD2_p636``_03T1w?9Nt_@ovEhU2&It#+dtIO+UAtgT~*krC5lwq7oMrH`WQy5e=L(2 z#D+1=wIoIZAon|T+}l6ek7Q*nk$7yG^70o!I(mU*Cv^F-63lWkI;5=*^BQRML8Gb< z&)!>@3~JWx&W2cq6aLIbg{$ZUXhe(E=*O3AzWw8}I^QF+HPo^^pCjU&{8kijNf$_p zLJ#W0prI0d(t*$FI9yl&Z<&aEf8QV?F0!6c0M*WC!u8p0&C7^Tv{G9h*B#U+ISvV0 z{qKGOi%5IeCKW76rNNnED`%Jl-T}AqQsQL3nq1ELLba^8*ipv94Uh;d>cXIHYD`s= zK-^QMCH!kPG=Z{$`Ti0(ErmI=g9101(+nN!vX@IrHHr)gwJv~C6j~Mte{=Af82e~O zQcx9U3eHp`Z3TsO(=ce}UB~2~pU9$l-|hoapDnkL7)cxqfKk`@VdeP-Tk(pSf~sqV zpkYnIV&O0$*brDualOj+Di}BbL*^C6uc+NtL7my_Ab6@-3_LmMa7F6wp#Xen*@jhe zDUA1Kq}1v_qm6Qi zwGqNy+CFUoK}W}^LBh-bQTjw z@<%jRW2?psF(g3@Me2b?S5WWFg40O0r~VPxJcpUI)Jzg>K_M(!e~e+2jL2BE#7P)4 zsMj^|6}KbJi-!G2M$E~H9b{AuxXvhrC-b28n|9!NS;!D5m(^-WLxfc&M4X;8QYI;Z zjQwT9P^d#Wk z;K3rox-pc`=Jj)RDKxKi{W87T;_>4^ct#V2!OCak9@>eaA1 z)-wG|RVo6me+W!uZcaFGlhRy%xzO5lxzohq$^fJf(z(c{E+mKnJg3CZV@6R*3Nzbj zig!^KZ**_Gg^d_qWK7S#z_XWdI?VIl5*aGFj5nC;w6D0ey~+qp^)8g*67|ptPqaH| zry!fiEwqx?U<1{TUvkjGBqnHZ_TqCWF!nYijU}!xe`{J^DMtG^Xas?X+f6RP$$%w? z7LDWJL4mYU4kcvJ_D$X9s;>F#WHc-?nZ2IQL~;Euf7bDdTo$8WvnS{i@^j_d#d z(k9*jVY_yU3FNTc9zmQN8R2&W%Ohe`S(iOiLWmvm>*Gb}#)|R?&}M8{T|~tX@5aCd zWYJXiaHlqF>XiAI0A~qc33mfz8hjfVoX)}Ue<~Ej@b`p93sOD*t6ii5VE-}+`y<|J zw$ab4^j427@VuxUEO5i)BNo7#L5>m2rA;ez%r#Cyt2p?%ye%;|-;1Ef7RK%mZA~En zb?e53l=$K(=J}ner7}PZW17%(71xV19b9t>93+)w4@An|Kia_Sy`BGF{$Nqrtsdpa ze;dM0c3}4YL6YbMu655{ajx94r0Z7N*b#f0U5g@ZH;S@=Uk}<8gY?~8qhg^yV|%h4 zv0`V|gf4yN(XK9&5`abR1V*JoM5d-DHX7|_|>Z={+V ze>xbkodcmC1EJ-9i)=YNaM=2s-C&@>e>+(a&6WcL9G&FhELQw?2C!K^iVqs1qCOX` zEmjUt@E_bB{dNb2hJiI&|4m${Fsb)R1g`GQqJ|)IM>*Ph!O&{Hlkryx@le4O;vA$t zqipT=#S_IY6G#5x#j42`cj}gae|BtZ z$v2^|ik~=#H~(3vc*;!PeJ$)oQ=&49`ewv_m)CF=bY2Uy(SY<6UQvA+;}`3aH*S$h z>KLQghI2;W`Lm0O8N6KX-lL!b!bWWjrjPDDhEz+4_AX33!vMr?6;3~45&Pr4vH z_>Q9SGpl{D4Z`Ak2;%1(erRa2e{d0Dh>cWFX4yx(n^0HppwG)N{anA;(N;JwN)WncLEG^Mw#tHyY=*);M-+^$U;{`8r zgvxw=yd%y2C=8D$1abD+yaDg7j-~Z;6{SKJN?xZ~*k;6{Heo=O1FbL^p7gqD9>h?3qg~|$ z#j&t)PoYM3q;w-emD+gUW zuWG@ClT%Rjo8XIJ6AEa zu%rY9d|mF`86#dTncCY7?>}!R*~+FsFiTz%XbvNjqtsi9|6-6JCD8 zPPdLMpwLri{9oIs;ZoWHFSl#&az>G>UKvQr!j7u=C;HJ^e*+}0B0+))JOmDlRzN1c zVG!=F2NCGTR(9*MnV234k_&@a0p~NPHTt(PVD8VoIpZV-2Sh2f2l^SN;^{R5sg%~6 zmw7I$bDMHLMjs81@f$8Y1y4_+x!XqHE5ewp-P_b`*DDu70Afw{cQ>y+9G5wfJ&%;(T=*Q^mztM_d)ynCxoJ0Z+n1r~d~uCc^) z`eY|u+VV+5AVH&X|FLqwxIy9#0>L{ugK`2UeOx@ZSj54{5#UIw2tbie*p(Rk2lsW1 z!KevS0Y{R|l)pIwBJc{mK|M?8nDe7T*JRH0WLD-Jf2kt%q$|AjOff{;PWG=tRu{!Nl@#5z)XGlb1BuN z1fU}!5tA=Na4&55Z-UHWxy_5;HzwI$S7D^AOL5$lCFsv1l;K)-GKHL&Xo3lbhz^^2 z{zp8Sf3g9eYHyRT5#zpR2z$2nN{kLhaMZIN^-D?YO$5+;&OSo8aBxS z?4{vA5uaqj8yIh#2C~UZvn7ckY-lv&(#u4^HcE~M1_uRcLnKj*TIaAa0kLaz^!p_E z(7QbHsQdENLk3kP5>ws$?igfV;hMgomu5Dtf1}GRS2nC*het*R`HS39g@!Gv8(6y4uU6-DZz?Pp~=Ia z^RNi)Ua$f^^3skA|7K8^>?EMakEX`7nt!9pmqAE;dSL_8C|p=MA+y%7vt5eAs6dN$3Sb!koORa^NkVPS)rO;m2Oy&yL(*KN_>_B%qLOYVO{8=aD zT~sCLyiCd&i5n~7{PUBxK`kr4MFX=K>O4(5aSMd9>U=wkuuN>aaCBT;uYvV*4GLx! z!H=?r0QYN#u;>4RxyqZu`0#xKMwycMNGw zP=a9J;3P6OH0Q&jLSH7Vw-wJJ%Oh+vgG`Lirxh|za6CjKo>w`quSm1k&V&*A#IP%` zNJDba;Tt$q$NqV0xMEW@WvIs~+%)WCaw;Z9$@Bq5pvUlA*!o(uGmWj95+CF;yXH zr9&iYO7<(dqCx|b4Z~t9QS{|ejPRo09e-!#FhdtY_ z+|zh6bJU#T)i%IhMtmVJEMKt#bU>?_{gP7XqN57{sfQPUVa^+L#aD%cgRybVND&Gt zc$;)L0{|U&;isKoOcN$LeoW2M zQ?^J>xY7i?rfD3Ki|%*yf3MH3{?|3~w-Y(7o}pBYz4}p!I0xhb-dH{?rXr7o91ad+ zOUStP#Aopl16UWGCF>9b?CD_;9;;2_YIth%gj1k+&~K~&Ox|}`1pnc1RRp8~j3-}P z;>(PIxI_y2UuZNakG%#{NNVh15QcpAFN-j;e%KtrM)_j|_*fd+e>toiDAFL>7Dux_ zENx`6&CsPf(I8Pf`5zV=$8x1}+6PmI_yG>yLI^Vp1-MlmI?+bU6d{Bm^C4~mY@X|I z(Ws!kMEOAiUiY;oixQBN_zqn`ec*NN&VQcRCey#ft3n(`=T;w8HQeR`l!0O1UmBAR zfWB5~P_1Hv#`ec2f3|G51RE)|8EirL4#b@WF5Lu76bEIAL2=I2sutcGz!CUTY>3S& zT}cY=m~!*ZjL%ZS1T6wBEL?Z-B&~zHnpV*P2v-tOJX`!Bh0m83OA94ZhLNPTX`BCnv6RXG{5CYX(C<+j8 zxCP0qLS7Jxf3A`QL}mp9S;BAC;boc7dKYNEB*L|||1R<}d>75o?XW@8(TRs0&9wQJ zAXDctWi1gCA=EYVG%`u^%|^Tj0C_7|3W|nE8mKK5fquuilowW!xW{SuZ)He`!z_E0XDsu zRm6czS2+Sxq;v;gAXQ|C?`uW?4sBkruQo#@yKP8U_)-yo3INQB*z#YO(a6eQrzkWg zhL4Kle{#ke$7@-A@ znm~bGuoZ0y0%%EQbmI%>K)I;m^RQeA-S}vio_Q%SI9N9 zN5>K10qY;mW?C^%G1EWNZh874ib_W02EoRce=ywOG0TY11QyYy`xQ|5oqRsmbJx9auGIlft52=;2S%{BBadNRf%WRRRt*i9I+1Igv3X_ zw*&_SbAk}ip%egu8!h=85Jiw8Xq9FOe*us?EmRLv0R>eEQx2BClp=l8CNpO_g$S=N zgBW8VUX&_ysAjPXc56vDM3yaril>@g+A1C-EufO>f`A2VZwe?d7!P$3lHlQ=2aHm3 zAxHPKaWC?6i7>E<=mP;n4f_*N((uUEAcXjkkRIX;B}qUEkesU+Ye+BW+5_OD0omJl?ftlFZ$cHOS)+5`Hk@K1+cR=$V z*}@s9#ZlR^i-f@=DO+0=DuiLWP02M7k$PHNoq&rT?iW%MmKpQ~KE~1i>A}KX4blD+ zHdhl3Yy5-6_>D`awxc$&4-mzvU|ZV)XbY!`XH}1-k+S0u>;p*QEUW! zL2#Xyi0=)@z~oJ?#}pI{VKN4(JcI!R!nhHRNSsiB2v=L#S>h>e9*mZp_mVh8YdqaCOe<&wE4x%Kf zt*2EcpblCMktoiRp}WPp!0KZrdQ%YbWd|* zXG0haxds4E8A@{QTq>*EP`8H|2FFZiFtDNs=A<18pw__Du1jHjZS3TSS@mP91VwCc^~-pa%OJG_siP&J#(Lk5U9wA8;h>C4JNc>gLC8;<^Qib4->zu?%j!hyJ_r0v--f6 zzq0S~8wxauM_WK2t0(6OwddVkXCFX6J%M^C4()YmFrX71p++I9O9S@j>;n5`T~x6$ z;xG!o(+Qt_e?SW#`#d7IYr#@;q#dTzT2COZ4m#7YB9?7l8Ybjv`*v*I5nD{gMWv%P z5-Fmm9*}8As#^u18_GVSj@v^(bu8#Cm@ah_*`6foCd8gzR%u>JGbMDM5*|qBE14?g z;}pzZF`7lDGGHR2RK%4LUL@=}u;)N_3Xr_Oa)T}!e`r5&%Rs9Kgc2ak@lE-+=AIOv zxPF=8Tfi5>INinWIC7hoos8_KK^%Q?J=S+CT)k{PqL$({k)wu+TRPfyk2iI<78w}b zVOfI4Y*@W!X@S-!7@T48g+?71tzZ?8Mk?6dVU?4W!xwp5c)Jq#>#?k;T(NIu=9gn! zL3)*Of0a3@lvc$>LV~3W)CEv|M0Ev9hSfN!y(j5T!6z9ZP=&*`#10hu|+Hsa|Cm3!sNmejftOEpw{Zk_Z19)J7 zYm1N#Sz-a7EI=~_hz2~N0L7Fb7;=OI2uy%Pe+Jr-M@gf@Zi4AB(hO8n( zQ4k@fM-bBkh-lHIG(f@`{9z34Foty)LpTf}n#K^!;z(ohBoX+M2=qY&avXv)4nY|P zAd7;KMPUdcpo9@POc5YF5g0rW@H`ORX~uRm8k&r7EOJ;ZatJJP0331f98us5QK$@2 zf2a7P5Aj9c;)?#o6n%;%^At(mD2vt@bJiGb))-^X7(dP!C(alp#uyXE7z4%|-;6hI z_->7`+$f2-}oQdx$RvkfI?8a~W4RhVcRu+OyNh7{q1 zRAGYC;eqqvfs^5Yli|Om!*@%D=a!4fEf;o5F1(ao2`IU;QE}sgDkxUJ$ejc^cY3xFRM^pmY}$; zL2X)s(zOMNItuc16}0F(Y0!3)py{PSkg3@Uorj`xN2~fhUy$nVhgT#zxFOZC4yFi?fsCb*lffU z)4D(byxMD0Wp^%v{>OYyisBRaiM6A4q}yj3U`JUQ^l6c%H)3Yn_GuNsf2!3|hH#j= z{6L8+b)IqwYc68p5P$#x(hoy~(pc?8ep0Gdy=GU&H&&j7Sjh0^1FY0mP;Evkh^rx_ z#DFx2#x_i0eJBLBs+q>EE1M1HaO5L#`l33mZ2;Mc!Qx*wDw0EW!N$;}qDttB0nsMc zgL2@oie6B%J4`ZfmXwhte-;%{I|f7zA#VpU!ep(5@xKH}poLjN$p>irn>AdtNxBe7 zk9n-K^hZHjPZ=@0T6o?Cg!QkxE*pYSI)Ka+Lm}fFhCl7YxGk$4hrBNY=@FQ;=E7>P zQBQ8+mt!TeE#M~LV;@^Ys3bzGpL$OcurpTgCLFJ%t#u#G)e~$smnXh1|e0HZ2e6GM6EaF3cW06Z!! zaf-!dgtnGej(*aClQ3V5e>}53IYrq$?SAMz=@p?jk^g~XT@|sbOSmax(OX_U2a_uooQPEdg06HyV7 z4lUNPckTb+*Nj@dG9L$+@^#93PQqf|wNsNsktfALz14^lT{(d4golxg;% zr}PX=0tGVk^og0%`yL$`fq~vV4l+?-1BnQj!dozJtf)jDT|5Bz%jR{QeB$}WBS4%D zZ>|MsWP2UlYSq}=8q|P!sMFU&j`h$0KREB|NC2f^bAM}HE&!{7^8z_wCwyOr9DK79 z|2(Tz9cd}=f1B{J%ycUjChRV!B$Wve%qcS9WKs&j~$Y()l;4H_`c6myUEG{_*c(gaB#Bp)E|(+x9B4{TLZ zurV--zCg(Yix#1-1_clu>m4sqiS!lx7X@`tX>k7We>vAcc`HFvH_RdF6uk}LEcdbq zt`9UR14K4vu)?@(am)?KGOg44*oay!b{84`ODPdOP8GJqK}>c1X9{QsXeW73 z0!z?%Iy4wI<%ZHJ7-&T)NmptZNXqy(A%-AAkT&2Tv65n-MPcfyg=Q?~01t-e!9x<6 zYNXI;f0Cfe0fgHT@J;&sriY)#z*2Qt~g!5o>y{3%xjQWB2HBN zoH(z}dl1LWX4?dSUNFla(&RJ~d0m2a0H#Mk$|JzqI6OoGf>GK8A$9?)WuRvt%zCCU zf27#Co$8^%1UoHzW_|_yQuI&9b7U_A2%3zxUWFGImIyzAP+1|Bd6WH|M2a&0&MpYoHSV;S9VVbWlv9MgL2XGYokA9<4WcwKbTtLK1vohUb%d*r z9eitoCV5C@2KtXhO`peZdPXdsK(uD(=Wg1^+1!GcyUX(5=8hEP`>NJdKKyi?x>4z^6XB&tKcN;1bxDN?0ke{Gh$ zb#{8XYF2Ri&SwDl8bab3jyR@6ym#9@yacdQ!BYoo%!0_ji3Bqtx)nDsEK;<3Zfe_$ zi$xh5UrKR7=@h?r-VI8h29hZEJ<%0nM||d~p-6}lxG@X_u)uGr@hOsPytri5y6_d! zyGEolTtf@~x$rdadfeTBu9i^?f2vs<%&MWjqOUwDP4ig~)ZN%WSK_uvH%a5{pZ zkQ*gB>bSXM6h>4fH->JshJpm~!i`c3Zgc2%gH$Zw;NrSsYD7JA^@a#Ef#VT$cDXeN z_=Hb4Xs~#o9E_$ws9J5bf022u?m;tX0M!&o(0HUno>vt!b8&r(j+ZVayhYVy4p-vm z@SLCnt5VevcvA#@s5j%k>o7szlefXpApbhg|82KTyeorNKuf}|-iVo3~I zbQHRj+d`P}0>$GU#=T>Bzl*z0pUvA^9z;L7jcJnBcXI2R8vde@e;$Ta%D&TANapdS zp6tytqOv5SsF}rRGLisQ$}!?}dI<=b$Dy_gaCy_}9c_9s7ZgBzBmeYKIP|(YMCS-g z2;;#8P#%C%3ixQ?m%#8rEd+H1xWJOqCseoJMeMYwekf8F!nR zas0gDc2>;nUT0o3e}yG%y8&kQ6|kO5r9sQ5$*s&+K@}JGsUQH+VJO180_~hkcZ5&^ z3(*jPrZ;963VH|ek2u6Ap;e(GUNE68MuBu;L5eqMc989%yhD11Q4R>92@$m)%)7dY zcaJ{B%ob;o&pZISVnZ})2!nQTn5MC?iUI8)rnEb47Otmye}kjjClkFmR39nve_${J zREvoUi?>%jHU`9@+YlzKA`|T?5^xFkZ+3`Hd5SoQVR9}l+Ak~Pqpv2V;AquN=vKs1 zcdJYxYy+pQN$TgSWB}elV29R{M&UQF(=dKk9AtY*pZJlhDt@ynk)Gu{^C$z#rek9W6nviTd?YGlLK%k4z^t7SAPWNEeZV`5O~+I2BYjM^ zre9TlBn(iIEL1Wh!n;E|oe_Fz#o<%`BX=KQT?AHiQ zAxgKO#Wz&~MXhf1)J=s5TE0+Gkc+fP{HKIR=kKuO=qYkFyNZ2KE4X<#A$`wn&S8>suN$AlVP7 z4AElIeUVksY$BXM@Pp%Up%5^khs&`T5P-#!s$2n}v= zf~u0=Q3HuUGiUZd+>h}WJD`QAoICcuAxK99f6!hy^hkK$)Kr2-Oxw4G;3ZEJNxv-C6N`43EY8S(N4N9j{*~dx@qw|k{5VhT zYe*AEWHBO$6N-uG9;W>z9wsgtxgI7Pe_PPN_>gkgi=1-Ox>~bL7lIqV-J5udjI+yB zh*xVgdO8hm1l6j&{&FnK41+)`V3Xq>k7y%ZoSWT85dfGhBW9Q844~Q2WO8F_h-e}O zH5)1+us<8M7fe5DYAR?>^ys{F_whDr36JJFnwurYQb(+SQqgmQs5tL>U@I@Oe<_x1 zEFiLt`U_MR&|xAoy;#PDt(+`FnagnD*$^kTqA=w7jr|b-@B!ca5CiZRmuMG4e$fEW z*rRAZDxzn)H`6ZeQ!gxsVK5(h!_VyCV}b+Q)}ph3d&^N_z2cbk_+M`G?|ICt7Je|jXhQu1bRWB{V=A7xNCq~OpsqdR?R8mTxmE53ec z3CPoyFWfPd-xclXXe6bEPy1sx)>N03mTva>S9)ncz$ihyOyV7%Hb4_w0k|M8N3;T@ zahR!t!xZ%WlS+gcQuWg9Uu6kD4e)+VF(jnI^YKgLA2Zf56pqByC?z zksub%SOt6ML2f@HdGV*0Mx{B(k4rH(y^+IxioXSM*2YkONGkHIJtk{tGQii^i3S=X zNHJ{&-Y^X!Da+6en$!ePqsj;~@d2{>sGzkL@j(#LN5rg9RBfDqKz7!IDvsm;GBZ3v z&4;=(7)(n54GkFx1bwoQf8}aCZdN2Q{S4VqzJe4GfT^l?x?3nB@Hd5}8wcWIRotka zoar9{E!N`~Cc0rdPRZ{NEaVPmAKo&vDY!sqlnr~5evg}H_j;TmEXu4#&3B?)1c-LaO0yHR7((nJy7w?;>fZz+X-Zdsf-V89YGhFL5W@)BDt+L z?#d-k7nY8J2Y9e;e}fFjVbB$3QYsxe-L_C@(q|t_>>bzY0et|`V50cXDu*`Djp|Gs;eGx?c{Pk8u(%j3V*8jX1|Z0D(NX$oHkWWf4d%uc129EjTEDym;X4A z2`2hc{Cg3I$-TNP<@jq)gwhRgM@Idt`fx($ag`4>0m-dCezhiyLk)sF79^RmV!iwm z_@&P9^u11Z6mqLfWA*mgC_VuhvV^uC&LN5Sa7$cX(+!5P*11OG)D(bwx8Be+0gJ{X zq-;hZUowGKe>x^x4>i$qjaNohOt^z$5I_`UZLZS0EAloyvo$QwxDUwoJ3SZG11OHq zOh}0g%yqp^^vyQWe$M z-jech`PN-nQcHc4#rfJzx^~gG!WkSaS#nGPm8(K-F*j<=PmaN+L}`O7I?+EDA`f>u zWW-W~^eD?|$it&V1FOB zO{Fr|nbiyjFwh6H-u6?X#MF-lHBZ6d&N>NbZei6k0K8se!2&2Ycaph*xw$W!i|n&Iv#U z1JFv?t^E2%VK<`5){IUG4=~>h2vM(b=%>MKGg>xO#v@eht+l6ZCl-MmJ3}f9gEB`u zX5#Wsx&Y9yg^Uifr&B^vAY_1qJwQy;SJQr?N@fG3A7u7_aN!Mbe{UkLjI1L%5|(O$ ze=@Y<69YLb4U8DNnkc@sw_20|;R%fUT3+{KG6Z zLB)|-krV1>9#ArTinCcHPt}h9S&|PZ(HrrR-(}^K=7*>`LCy*VTYWGKkqUwM>pofq zXwyXr5S0Z)(^pJDZFw&PA%;ND!3#qbe*--O!vm=SM{kb|=Y0V%76mi@juhJHp`$5` zmHKtWNRe{ZWZ$1LCNIS*Em>mH7Iv7-lw~AtV-!4gYu;d{b$k1$Dr9X;o)l-fOshvO z+BI-oBBZi1sLU0R$DWXIsF<7eNdV_Dkmx}-YQwqDpl;cqZnec2PJ}2LQkhwTf6lf3 z3k*PzQw0SeC$owed>%~Jyys_+&XUjZBARH&4 zI^5Lb=p%?)=|W90j6%ijJTqasLCMMGI5Z8~!xSD_dkSek6D|Nz-Sm*a0*>$GXJ$mQ zL5jvCmS+q}Y(JT%Fic`1#7{rcp+FA3$vliT?fhMX?_sBs&AY z4;I1b-fH6*C}zKB#h5P747y=Hmoe}2-?8&UXZwk%RhqpOx}LRCvlA8AAz((ujf*oD zOj+2pGi_}8(#R_;Xj9do7=mef9Bi8X6g`pMwiz3>00n?!1Xc*lD=x!+;$oM#{QTw5}00E0R#I!3tPd`CzeUvzqZB+XKC7!Vix@J<&Ow z`DkecTkagCOVq*o&*Dthp_;D~XU1yn4_a@OZEIjl+?{U$sKD@*f4k+A@jgR$HHe(Z zHF`_DiXGFbs0IZAVob(kj(uQ|)c%PoOM#-a4E}K!6mD0f-MtiyzMqB+J2*PT=%GZY z5&67}(_rY5g=ZCT0Hlmy2{RAOR5-V|#iXDXl7X|JS!r+OH72T`BY+90(Vv3s*bW9u zH2?u4%p@eeGLYU49> z5^tvZLY%@yQHBAt&?^LEsb!#FviKf?K1$(W%2ES?$nvfIr{ZT3H{-h#L%^RDdw*0F zZCq@TB)fyHwnVBujwosqlAz6w8zsriGtk@`tq*ahqaXh0e+x7xpz^bP`1=f*wUaC= zhYUD0VvKwvPmpPqqWY7+-)FZt(7O$a4mk~~{0N7Vd{V>gy9`tqO0gE)?m)kZsMq@Ic;$c-Fvyq=pLs2=I?P2(<+iN zik;)+ED&ZUDX_1^&6VI~UO$9uI+Xv9k9f{RMp;AehPx|&Pe%pl^?kQisr)cg5iAkA z^ghOxe~orETxVFUp@>D(940KBprD4Cy z_i-h8Z%UvYnYIM1j4-;uoq-3~?}*~~Ld_*~DlIADx)T{$e=6P$t>Tq-uB`6&Z^h;Tho&{Pp%$2KFJ36^?3X`?Otu$_q?#`KMY5Y}f3cz?4Aa0DGd zf2866Bj>NS2z2;7X`>H3!ARxdwQzh&RhTm)YxS7AQfmq55OUhs8AZ0q9|8KxfblS` zd}1D5-M3|0tBa&X1do`ojhfh!#FITtO0hX%uFo?qmQf&s_D(lI3NnsI3LXc1!jhU(3F#X!=4Iw-!MdWMR-|}07&UW)e^KFe~?T>u@cmL z^RF&LJq1aAKBR{;|O4`gdSLyP^hpLXPGV2r!r{{0hWt1qVvWS%|kHQ4?3wZdWLE z=$<8lYZA!kl!NbHcht}=e+}*m-t2A0f-8&V0x5I=EiGxa$&=!p9%i&);~I&DcM3#b zvIG#?h-6*2tUs2i3?&rA z_p^gZK|?@$L3CgKT`WV++*L?2W_^3iZ;9;`&+tYSw5K57E|6kOvUF?|88&holG4Q1 zkpf{&vu5WRal$8%f6$rY5Rqtf0w5&<=$#^VjVdRIFHmA5O&8*d&4<9@P8=gmL?00o zL45(_MG+N4@T#;~8KxMPI7@k>NZ~bEJ;aE_^bN211PLuVa@AY;N7!ZPQ4q?Ur(CI5 zqPao0!kVI8_>S2guhbVCg+OrY7$CtM(C&=B25WKqv+L#Ve`y)narTt2-gYj$=_cc{ zWKP*dwv3CJeVR9{gh`bEM~hUw#!ONKR9{K3lhdRg9BBU5tX6`=azly=ZDslAoiKfX zX+(;U4u1}0;S4JB0)6pNN0SZ~~xf0bbIP0gl6P9M~ z_|0PGl+y7mf9@F>rA39aB}9i`BD^kAhIOfEubwLn%V*|I`zE6`lAP6P!Mf<^S_E?s5yhV(F)VzVzITZJc$Z{e zJX0rkiXMOz0w7$Q+_(%4b)E5#QF5RG4`)64hojN}e~>IO=(C*{B_@kP;2vv0=$zSb zf9)4M6;Xo^lFC%+NgH&z7QK7KoJU$2VU!pnLKskFM+pxkf6!;6hKb1xv@+2?{u<&U z!|kR0MIU1e{XKxDf$^hSSqK>ZV64QZgw>4`8_3PhNfAUnm6U?ph6!Ugty|&@P{xRq zNxgF&e`d)C5mhFsfT1qMG;A> z5EPX5qiO{aLeu0z!S&-d=H-noJJ*Cimp*YAf11&BcCG7!<)o__Pt8dpHyJ0(Z9vKo zQ22aBZ#j0^0qgH&-L#)&Ez$k3yNine+oV(BxC;=M@L zffP%s=mK;{Z(rtYnsm3uAp4d^EmUHhf1ks(AROC54w4DfFsP~z?5$;J z1cHx5SX~6j+J+<$QIbOyA5;^F$)NZ{FG#a9-==*<1d}+R2%j56qFP{~;M}!>e=BEV zFfO?`LNXL=TT196mBf0{eI3!fgUUNWp#+piQ6NJSv1tk%UH@)yQNQ_tT-Jd3=|$vm zM)D4*jv!KkG92i7AP`)$)e{1rwcyKlo@)CUnZeqjqmQ0MT}K3EAk>J$0w@U}?t{Vs z2G%^GsF-bVS}iW_U*Vl$D5yzBe|~znn1tNBraFPLR2B31c8-9Gs;95K>kuG?8&Gb5 zx-2L;qeg&z7K9Y&`P!^ickhij6%Jm~Q>FrSoz8&63vNJ)4iM~uiV8#ns3}knAf`m= z7YxooDIY`wIl<_JOofIWf=n1HYoJdI3%O-4wqwAZ^W;t(zhixF02J6Te>NdqzS}K9 z+mV?9Xf`1BhiVU~ts=II5U=q$e*yCuC7R7O^1!KO`C8j`ToPa(_QFx3CVVJf19i_H zAgWQ?qh>?~iB`6jy14LejJqetu7-OQfQxQG zdJWLqR8AH~Egj*~-Klg#oqW-`rSCq+#tdRDrSE*t;ft`i-C(7+e^Fu=y&;W)XTXC0 zBeO92!qBTbTV)DYX-TB8genN8Mc#D!6}(9-Y$Rtu^0%RGa|ukj$W zKe$BseAj#oEsP}EYa zH5BWVS7*uGIcjWu<0j6#+QkIYJ8(03DDtY3>M}=h35RsLn;CCcQhz|KXijRhd9JtP zRonkj%Q6=r?Y42Id?MibuRh@we4Rre(d$N(38Jho!~_YGydwjbdP_xCj7dj7C~R=f zBIUPE?S!K1D%OCNUpbqc1o4>n%iCcaZ06ae^0VE+zgXEY^@u~l%*pIU`Ij_qD6_c*`ev9<$r4%qiQZAiYn%@i|Ug|sknp<6ln7H*e~*KvAAe6#Ex-rph6<% zyRJRs5A7&fUUs$=1|ZQ7Ij9KuwkPU5i&fx2QVkH~(fEfaef4nX_&CaD*vK>7ixD8j z9gujB>-qW3AKol9fz)(C(mg)>D4fC3G@juqwOxsi_GU0avwx#^Jom+gBLB8GZQMTj zWR&q`4;KnT-r1rPw;0BbDT@*Q6)lx((=a>HL6#s!%&@`O+R++Ek{w74AB%(rkb6hU zK9Ffap$=TCxup?b!Lmh1nx#;oC+V9dQsk|((u-*5ht&oss-%0ck@f?XM>fj)80Aq+ zA`-NX7J0T?ynn8-77#$%IH1)ZsC}UJjXFMvr=VCvn#QoQirl&3V2JER=2@#Fo91=$ z0TDopBnyyQC)9%3KSUY{C?$F(R6)naxdO!cA}&ya!|>9JmB}F9f--GY@J74G#(0n8 zt4Ta08RdUABn6iW0k_O1J)2!g_$Nsps|2$r`4!~sCx2-NL>-V5q&Rp*Z-Cpx6ksEi z$aC>BlHmetr;A&;NaP}@k}^sOW=MDhtzmI$HhKwYoe4xw5-5qtPErTRARr;}!V)n( z6`e__b0lrm)H~}3vZm29Kim_za)dx$+>WkX3m`I1IRT<{hz*hwO5QrbcO3v$aB&5R zz=~w^BY&ie0$WMNB)ovB8Ve2v2>|cUWVUEyZITUqc}jyaoYM+T2boe0;`{T2+e zEn(QtdoePo!4gO!#I(#2B2?*(ac%fOE$}xvku4k<%CS*9hYZG*o!iVO_JGM3w_fYa z2(G;}rTOj4V5AjiWHF+A6Q^T$Ou;q(6guB9S$`rb;{h= zUau}ZX*JE=!=R7Du@Df0kVm39^uA*itzG~f27 z$$xcMnxoAv-$$V4K4CmIwXxS^cZlIBhu`fE-_+rgHS&ldvygKh1QVCQMbc-JF&xQc zpgrk}u{|tuUfQ@6oPhDPryvW|;PMF*ff9+Av=U@$%A*=>EU)W&dw)T#e9I#PcNpCUnIgG$VGFK2?`)Rn5~7^w zOr*37ZREXxfUU;vt?axXsc$=XW(l#p#yv*5!%Es zYb_#ZzF&S+&RI9lyzFQ~(c3tRtN?n`V+qEQ%z4(3C15MIg{8sxoR&VSoYH6Ku1x26 z8wXTm!1>>(YfCJVCkk*ij)Zm@>Fep`o7D`d!dGvwsJ}y0Clvx>$20eomVZgil=s2M zLjS!{2}Wj(zP(;~MkQB|{Kb%u-qK|tu_(ZRL%G#=itTYqYA#fQxCwQ@Er@lLk_qN- zN2v!%GWvTN;e-|^A`6mt7CjnXqaAW|$iq<})@6OoIS@)kH_>XQ_k|0DMck^&2{&a? zrsHEKf@2_pzP;q8A%u3A`G3nN8P7z%x9_{GrcYIp@Zun5v+cR8)GE}~W@hf-nxqI5 zpq(TakU&Rcs(8GE05?=#eZ;&K!s}>exV?(dztTS#)Ig3Px@jRSPN#?TF_b*W~kR?WyHHz8%gfKn=p)K45 zOp0nzQird!D#kR~s9x7vLF7m=;glV!8&iSEAWj4kA`w*|!cG1=-bU;6>xBG4LJgDf zoB~~m!6n?BB0va&yMNGV1Bq>-=Tg5#*Wfh3n_mODJBSb{7%{b#ok>-|1@mw3>stq%{^vIfo)L6ad_o6|vpq3rB zA&h48lOX|!mr)H+K+TcVV&H_2XibC)euI`HWo#^q5^Ts2(M21lLlZeK5Ey`xK#2t- zl$Fv?NsvKeYJWB*D5$X(7i5&n9$2WG(@2Xx@+Y|_usavVSYU)ah*@N^T=0$Y6R=#N z_t6Es?M=qIR+nLfg@DV_Z?dSPM(Fn%jiiZFY*R$fw=Da_LXl`n=`du4ldMN+RPKOZ zD5^(Ux}su;M~l@LN4pkRqmBytM00MWM>FvEg0{V(!hgDGq;d76uIYie8k-V}-gPpE z5qA1ljzA=$8`eeMO>v{i$u9+)R{lAn2Vrwo+f~|-D3z0Qy`Dz#?Ig9ASmi(?wWjkX zardPR4cHEBaT;BJtU_z2L(}3M#mr# zUCQ{RHGgHJl}yW-GYMsXHiVOZW%0Oa6r0A87h4kBbZ~!RtfNjQ(vci~9c;elAe%sK z7sy*17bav!7cND~4DGn*Nm}qaK@VE}k{Bg#)jTdfL`I!fOq=h!@cA~W7 zqXkujQC~qcdD-D3Wq;0Acn_)r?5Q`%=qPS)sUWffBha)pQ9Xl1AFyGj%L!_*TB5L@ zY)gMn4eHTMM}%ucI;b9JfVQi~>1rpA38jv7w@3StyLyR)fds3N-k7vD(>a@NHG7AF!56J&z&AxRk}$dU4G2+OgZwF~aKB;aHBt<-4&OalUA zg9s*0BorlQI9G>|6QRJQ4JQHz6GVctAaDs1C8&`yUdizA?OJ - + diff --git a/docs/assets/font/fontawesome-webfont.ttf b/docs/assets/font/fontawesome-webfont.ttf index 09eec9bf929a653022acafb138bfa1054183ecdc..9e342cb5794b6d2893d83adfbe4ca95918295e5d 100755 GIT binary patch delta 11550 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 LlR37*tA+T#jYL*@ delta 10397 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 diff --git a/docs/assets/font/fontawesome-webfont.woff b/docs/assets/font/fontawesome-webfont.woff index 0a512cd301da4c43a9717d4b3bc67205dcaad5a3..1443ba17c07636ca5475bd8e1ff99118ab51ebaf 100755 GIT binary patch delta 39737 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 z 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 Vz5D>+t4H$=002U((P99=e*h0dt|kBg diff --git a/docs/assets/less/font-awesome.less b/docs/assets/less/font-awesome.less index 09abcd42d..1d9dbb258 100644 --- a/docs/assets/less/font-awesome.less +++ b/docs/assets/less/font-awesome.less @@ -23,73 +23,73 @@ */ @font-face { - font-family: 'FontAwesome'; - src: url('../font/fontawesome-webfont.eot'); - src: url('../font/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), - url('../font/fontawesome-webfont.woff') format('woff'), - url('../font/fontawesome-webfont.ttf') format('truetype'), - url('../font/fontawesome-webfont.svg#FontAwesome') format('svg'); - font-weight: normal; - font-style: normal; + font-family: 'FontAwesome'; + src: url('../font/fontawesome-webfont.eot'); + src: url('../font/fontawesome-webfont.eot') format('embedded-opentype'), + url('../font/fontawesome-webfont.woff') format('woff'), + url('../font/fontawesome-webfont.ttf') format('truetype'), + url('../font/fontawesome-webfont.svg#FontAwesome') format('svg'); + font-weight: normal; + font-style: normal; } /* Font Awesome styles ------------------------------------------------------- */ [class^="icon-"]:before, [class*=" icon-"]:before { - font-family: FontAwesome; - font-weight: normal; - font-style: normal; - display: inline-block; - text-decoration: inherit; + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + display: inline-block; + text-decoration: inherit; } a [class^="icon-"], a [class*=" icon-"] { - display: inline-block; - text-decoration: inherit; + display: inline-block; + text-decoration: inherit; } /* makes the font 33% larger relative to the icon container */ .icon-large:before { - vertical-align: middle; - font-size: 4/3em; + vertical-align: middle; + font-size: 4/3em; } .btn { - [class^="icon-"], - [class*=" icon-"] { - /* keeps button heights with and without icons the same */ - line-height: .9em; - } + [class^="icon-"], + [class*=" icon-"] { + /* keeps button heights with and without icons the same */ + line-height: .9em; + } } li { - [class^="icon-"], - [class*=" icon-"] { - display: inline-block; - width: 1.25em; - text-align: center; - } - .icon-large[class^="icon-"], - .icon-large[class*=" icon-"] { - /* 1.5 increased font size for icon-large * 1.25 width */ - width: 1.5*1.25em; - } + [class^="icon-"], + [class*=" icon-"] { + display: inline-block; + width: 1.25em; + text-align: center; + } + .icon-large[class^="icon-"], + .icon-large[class*=" icon-"] { + /* 1.5 increased font size for icon-large * 1.25 width */ + width: 1.5*1.25em; + } } li[class^="icon-"], li[class*=" icon-"] { - margin-left: 0; - list-style-type: none; + margin-left: 0; + list-style-type: none; - &:before { - text-indent: -2em; - text-align: center; - } - &.icon-large:before { - text-indent: -4/3em; - } + &:before { + text-indent: -2em; + text-align: center; + } + &.icon-large:before { + text-indent: -4/3em; + } } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen diff --git a/docs/assets/less/font-museo.less b/docs/assets/less/font-museo.less index 56269e6f7..9c7a022e6 100644 --- a/docs/assets/less/font-museo.less +++ b/docs/assets/less/font-museo.less @@ -1,21 +1,3 @@ -@font-face { - font-family: 'MuseoSans'; - src: url('../font/museosans_300-webfont.eot'); - src: url('../font/museosans_300-webfont.eot') format('embedded-opentype'), - url('../font/museosans_300-webfont.ttf') format('truetype'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'MuseoSans'; - src: url('../font/museosans_500-webfont.eot'); - src: url('../font/museosans_500-webfont.eot') format('embedded-opentype'), - url('../font/museosans_500-webfont.ttf') format('truetype'); - font-weight: bold; - font-style: normal; -} - @font-face { font-family: 'MuseoSlab'; src: url('../font/museo_slab_300-webfont.eot'); diff --git a/docs/assets/less/site.less b/docs/assets/less/site.less index e38469aa3..6c9d655cb 100644 --- a/docs/assets/less/site.less +++ b/docs/assets/less/site.less @@ -1,5 +1,5 @@ -@import "tw-bs-201/bootstrap.less"; -@import "tw-bs-201/mixins.less"; +@import "twbs-203/bootstrap.less"; +@import "twbs-203/mixins.less"; @import "mixins.less"; @import "variables.less"; @@ -11,7 +11,10 @@ #new-icons, #base-icons, #extended-icons, #examples, #integration, #code, #roadmap { padding-top: 40px; } -.navbar .brand { padding: 11px 20px 9px; } +.navbar .brand { + padding: 11px 20px 9px; + color: @white; +} .navbar-inner { .border-radius(0); } @@ -98,7 +101,7 @@ a[href^='http://'] { text-align: left; i { position: absolute; - top: 12px; + top: 13px; left: 22px; font-size: 46px; } @@ -249,11 +252,5 @@ footer { ul { margin-left: 30px; line-height: 25px; - li { - &:before { - font-size: 20px; - vertical-align: top; - } - } } } diff --git a/docs/assets/less/twbs-201/accordion.less b/docs/assets/less/twbs-201/accordion.less new file mode 100755 index 000000000..11a36b544 --- /dev/null +++ b/docs/assets/less/twbs-201/accordion.less @@ -0,0 +1,28 @@ +// ACCORDION +// --------- + + +// Parent container +.accordion { + margin-bottom: @baseLineHeight; +} + +// Group == heading + body +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + .border-radius(4px); +} +.accordion-heading { + border-bottom: 0; +} +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +// Inner needs the styles because you can't animate properly with any styles on the element +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} diff --git a/docs/assets/less/twbs-201/alerts.less b/docs/assets/less/twbs-201/alerts.less new file mode 100755 index 000000000..562826fd3 --- /dev/null +++ b/docs/assets/less/twbs-201/alerts.less @@ -0,0 +1,70 @@ +// ALERT STYLES +// ------------ + +// Base alert styles +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: @baseLineHeight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + background-color: @warningBackground; + border: 1px solid @warningBorder; + .border-radius(4px); +} +.alert, +.alert-heading { + color: @warningText; +} + +// Adjust close link position +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} + +// Alternate styles +// ---------------- + +.alert-success { + background-color: @successBackground; + border-color: @successBorder; +} +.alert-success, +.alert-success .alert-heading { + color: @successText; +} +.alert-danger, +.alert-error { + background-color: @errorBackground; + border-color: @errorBorder; +} +.alert-danger, +.alert-error, +.alert-danger .alert-heading, +.alert-error .alert-heading { + color: @errorText; +} +.alert-info { + background-color: @infoBackground; + border-color: @infoBorder; +} +.alert-info, +.alert-info .alert-heading { + color: @infoText; +} + + +// Block alerts +// ------------------------ +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} diff --git a/docs/assets/less/twbs-201/bootstrap.less b/docs/assets/less/twbs-201/bootstrap.less new file mode 100755 index 000000000..143cd4093 --- /dev/null +++ b/docs/assets/less/twbs-201/bootstrap.less @@ -0,0 +1,62 @@ +/*! + * Bootstrap v2.0.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +// CSS Reset +@import "reset.less"; + +// Core variables and mixins +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + +// Grid system and page structure +@import "scaffolding.less"; +@import "grid.less"; +@import "layouts.less"; + +// Base CSS +@import "type.less"; +@import "code.less"; +@import "forms.less"; +@import "tables.less"; + +// Components: common +//@import "sprites.less"; +@import "dropdowns.less"; +@import "wells.less"; +@import "component-animations.less"; +@import "close.less"; + +// Components: Buttons & Alerts +@import "buttons.less"; +@import "button-groups.less"; +@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less + +// Components: Nav +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; + +// Components: Popovers +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; + +// Components: Misc +@import "thumbnails.less"; +@import "labels.less"; +@import "progress-bars.less"; +@import "accordion.less"; +@import "carousel.less"; +@import "hero-unit.less"; + +// Utility classes +@import "utilities.less"; // Has to be last to override when necessary diff --git a/docs/assets/less/twbs-201/breadcrumbs.less b/docs/assets/less/twbs-201/breadcrumbs.less new file mode 100755 index 000000000..39060bad2 --- /dev/null +++ b/docs/assets/less/twbs-201/breadcrumbs.less @@ -0,0 +1,22 @@ +// BREADCRUMBS +// ----------- + +.breadcrumb { + padding: 7px 14px; + margin: 0 0 @baseLineHeight; + #gradient > .vertical(@white, #f5f5f5); + border: 1px solid #ddd; + .border-radius(3px); + .box-shadow(inset 0 1px 0 @white); + li { + display: inline-block; + text-shadow: 0 1px 0 @white; + } + .divider { + padding: 0 5px; + color: @grayLight; + } + .active a { + color: @grayDark; + } +} diff --git a/docs/assets/less/twbs-201/button-groups.less b/docs/assets/less/twbs-201/button-groups.less new file mode 100755 index 000000000..a04220a9a --- /dev/null +++ b/docs/assets/less/twbs-201/button-groups.less @@ -0,0 +1,148 @@ +// BUTTON GROUPS +// ------------- + + +// Make the div behave like a button +.btn-group { + position: relative; + .clearfix(); // clears the floated buttons + .ie7-restore-left-whitespace(); +} + +// Space out series of button groups +.btn-group + .btn-group { + margin-left: 5px; +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-top: @baseLineHeight / 2; + margin-bottom: @baseLineHeight / 2; + .btn-group { + display: inline-block; + .ie7-inline-block(); + } +} + +// Float them, remove border radius, then re-add to first and last elements +.btn-group .btn { + position: relative; + float: left; + margin-left: -1px; + .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; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.btn-group .btn:last-child, +.btn-group .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +// Reset corners for large buttons +.btn-group .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.btn-group .btn.large:last-child, +.btn-group .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} + +// On hover/focus/active, bring the proper btn to front +.btn-group .btn:hover, +.btn-group .btn:focus, +.btn-group .btn:active, +.btn-group .btn.active { + z-index: 2; +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + @shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + *padding-top: 5px; + *padding-bottom: 5px; +} + +.btn-group.open { + // IE7's z-index only goes to the nearest positioned ancestor, which would + // make the menu appear below buttons that appeared later on the page + *z-index: @zindexDropdown; + + // Reposition menu on open and round all corners + .dropdown-menu { + display: block; + margin-top: 1px; + .border-radius(5px); + } + + .dropdown-toggle { + background-image: none; + @shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + } +} + +// Reposition the caret +.btn .caret { + margin-top: 7px; + margin-left: 0; +} +.btn:hover .caret, +.open.btn-group .caret { + .opacity(100); +} + + +// Account for other colors +.btn-primary, +.btn-danger, +.btn-info, +.btn-success, +.btn-inverse { + .caret { + border-top-color: @white; + .opacity(75); + } +} + +// Small button dropdowns +.btn-small .caret { + margin-top: 4px; +} + diff --git a/docs/assets/less/twbs-201/buttons.less b/docs/assets/less/twbs-201/buttons.less new file mode 100755 index 000000000..55e9fbf1c --- /dev/null +++ b/docs/assets/less/twbs-201/buttons.less @@ -0,0 +1,183 @@ +// BUTTON STYLES +// ------------- + + +// Base styles +// -------------------------------------------------- + +// Core +.btn { + display: inline-block; + padding: 4px 10px 4px; + margin-bottom: 0; // For input.btn + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @grayDark; + text-align: center; + text-shadow: 0 1px 1px rgba(255,255,255,.75); + vertical-align: middle; + .buttonBackground(@white, darken(@white, 10%)); + border: 1px solid #ccc; + border-bottom-color: #bbb; + .border-radius(4px); + @shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + cursor: pointer; + + // Give IE7 some love + .reset-filter(); + .ie7-restore-left-whitespace(); +} + +// Hover state +.btn:hover { + color: @grayDark; + text-decoration: none; + background-color: darken(@white, 10%); + background-position: 0 -15px; + + // transition is only when going to hover, otherwise the background + // behind the gradient (there for IE<=9 fallback) gets mismatched + .transition(background-position .1s linear); +} + +// Focus state for keyboard and accessibility +.btn:focus { + .tab-focus(); +} + +// Active state +.btn.active, +.btn:active { + background-image: none; + @shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); + background-color: darken(@white, 10%); + background-color: darken(@white, 15%) e("\9"); + outline: 0; +} + +// Disabled state +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + background-color: darken(@white, 10%); + .opacity(65); + .box-shadow(none); +} + + +// Button Sizes +// -------------------------------------------------- + +// Large +.btn-large { + padding: 9px 14px; + font-size: @baseFontSize + 2px; + line-height: normal; + .border-radius(5px); +} +.btn-large [class^="icon-"] { + margin-top: 1px; +} + +// Small +.btn-small { + padding: 5px 9px; + font-size: @baseFontSize - 2px; + line-height: @baseLineHeight - 2px; +} +.btn-small [class^="icon-"] { + margin-top: -1px; +} + +// Mini +.btn-mini { + padding: 2px 6px; + font-size: @baseFontSize - 2px; + line-height: @baseLineHeight - 4px; +} + + +// Alternate buttons +// -------------------------------------------------- + +// Set text color +// ------------------------- +.btn-primary, +.btn-primary:hover, +.btn-warning, +.btn-warning:hover, +.btn-danger, +.btn-danger:hover, +.btn-success, +.btn-success:hover, +.btn-info, +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + color: @white; +} +// Provide *some* extra contrast for those who can get it +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-dark.active { + color: rgba(255,255,255,.75); +} + +// Set the backgrounds +// ------------------------- +.btn-primary { + .buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 20)); +} +// Warning appears are orange +.btn-warning { + .buttonBackground(lighten(@orange, 15%), @orange); +} +// Danger and error appear as red +.btn-danger { + .buttonBackground(#ee5f5b, #bd362f); +} +// Success appears as green +.btn-success { + .buttonBackground(#62c462, #51a351); +} +// Info appears as a neutral blue +.btn-info { + .buttonBackground(#5bc0de, #2f96b4); +} +// Inverse appears as dark gray +.btn-inverse { + .buttonBackground(#454545, #262626); +} + + +// Cross-browser Jank +// -------------------------------------------------- + +button.btn, +input[type="submit"].btn { + + // Firefox 3.6 only I believe + &::-moz-focus-inner { + padding: 0; + border: 0; + } + + // IE7 has some default padding on button controls + *padding-top: 2px; + *padding-bottom: 2px; + &.large { + *padding-top: 7px; + *padding-bottom: 7px; + } + &.small { + *padding-top: 3px; + *padding-bottom: 3px; + } +} diff --git a/docs/assets/less/twbs-201/carousel.less b/docs/assets/less/twbs-201/carousel.less new file mode 100755 index 000000000..8fbd30315 --- /dev/null +++ b/docs/assets/less/twbs-201/carousel.less @@ -0,0 +1,121 @@ +// CAROUSEL +// -------- + +.carousel { + position: relative; + margin-bottom: @baseLineHeight; + line-height: 1; +} + +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} + +.carousel { + + .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + } + + // Account for jankitude on images + .item > img { + display: block; + line-height: 1; + } + + .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: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: @white; + text-align: center; + background: @grayDarker; + border: 3px solid @white; + .border-radius(23px); + .opacity(50); + + // we can't have this transition here + // because webkit cancels the carousel + // animation if you trip this while + // in the middle of another animation + // ;_; + // .transition(opacity .2s linear); + + // Reposition the right one + &.right { + left: auto; + right: 15px; + } + + // Hover state + &:hover { + color: @white; + text-decoration: none; + .opacity(90); + } +} + +// Caption for text below images +// ----------------------------- + +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 10px 15px 5px; + background: @grayDark; + background: rgba(0,0,0,.75); +} +.carousel-caption h4, +.carousel-caption p { + color: @white; +} diff --git a/docs/assets/less/twbs-201/close.less b/docs/assets/less/twbs-201/close.less new file mode 100755 index 000000000..a0e5edba1 --- /dev/null +++ b/docs/assets/less/twbs-201/close.less @@ -0,0 +1,18 @@ +// CLOSE ICONS +// ----------- + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: @baseLineHeight; + color: @black; + text-shadow: 0 1px 0 rgba(255,255,255,1); + .opacity(20); + &:hover { + color: @black; + text-decoration: none; + .opacity(40); + cursor: pointer; + } +} diff --git a/docs/assets/less/twbs-201/code.less b/docs/assets/less/twbs-201/code.less new file mode 100755 index 000000000..e2157d8ab --- /dev/null +++ b/docs/assets/less/twbs-201/code.less @@ -0,0 +1,57 @@ +// Code.less +// Code typography styles for the and
 elements
+// --------------------------------------------------------
+
+// Inline and block code styles
+code,
+pre {
+  padding: 0 3px 2px;
+  #font > #family > .monospace;
+  font-size: @baseFontSize - 1;
+  color: @grayDark;
+  .border-radius(3px);
+}
+
+// Inline code
+code {
+  padding: 3px 4px;
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+}
+
+// Blocks of code
+pre {
+  display: block;
+  padding: (@baseLineHeight - 1) / 2;
+  margin: 0 0 @baseLineHeight / 2;
+  font-size: 12px;
+  line-height: @baseLineHeight;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc; // fallback for IE7-8
+  border: 1px solid rgba(0,0,0,.15);
+  .border-radius(4px);
+  white-space: pre;
+  white-space: pre-wrap;
+  word-break: break-all;
+  word-wrap: break-word;
+
+  // Make prettyprint styles more spaced out for readability
+  &.prettyprint {
+    margin-bottom: @baseLineHeight;
+  }
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    color: inherit;
+    background-color: transparent;
+    border: 0;
+  }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
\ No newline at end of file
diff --git a/docs/assets/less/twbs-201/component-animations.less b/docs/assets/less/twbs-201/component-animations.less
new file mode 100755
index 000000000..4f2a4fd11
--- /dev/null
+++ b/docs/assets/less/twbs-201/component-animations.less
@@ -0,0 +1,18 @@
+// COMPONENT ANIMATIONS
+// --------------------
+
+.fade {
+  .transition(opacity .15s linear);
+  opacity: 0;
+  &.in {
+    opacity: 1;
+  }
+}
+
+.collapse {
+  .transition(height .35s ease);
+  position:relative;
+  overflow:hidden;
+  height: 0;
+  &.in { height: auto; }
+}
diff --git a/docs/assets/less/twbs-201/dropdowns.less b/docs/assets/less/twbs-201/dropdowns.less
new file mode 100755
index 000000000..1ec06b04a
--- /dev/null
+++ b/docs/assets/less/twbs-201/dropdowns.less
@@ -0,0 +1,130 @@
+// DROPDOWN MENUS
+// --------------
+
+// Use the .menu class on any 
  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns +.dropdown { + position: relative; +} +.dropdown-toggle { + // The caret makes the toggle a bit too tall in IE7 + *margin-bottom: -3px; +} +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + text-indent: -99999px; + // IE7 won't do the border trick if there's a text indent, but it doesn't + // do the content that text-indent is hiding, either, so we're ok. + *text-indent: 0; + vertical-align: top; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid @black; + .opacity(30); + content: "\2193"; +} +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} +.dropdown:hover .caret, +.open.dropdown .caret { + .opacity(100); +} +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindexDropdown; + float: left; + display: none; // none by default, but block on "open" of the menu + min-width: 160px; + _width: 160px; + padding: 4px 0; + margin: 0; // override default ul + list-style: none; + background-color: @white; + border-color: #ccc; + border-color: rgba(0,0,0,.2); + border-style: solid; + border-width: 1px; + .border-radius(0 0 5px 5px); + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + + // Allow for dropdowns to go bottom up (aka, dropup-menu) + &.bottom-up { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } + + // Dividers (basically an hr) within the dropdown + .divider { + height: 1px; + margin: 5px 1px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid @white; + + // IE7 needs a set width since we gave a height. Restricting just + // to IE7 to keep the 1px left/right space in other browsers. + // It is unclear where IE is getting the extra space that we need + // to negative-margin away, but so it goes. + *width: 100%; + *margin: -5px 0 5px; + } + + // Links within the dropdown menu + a { + display: block; + padding: 3px 15px; + clear: both; + font-weight: normal; + line-height: @baseLineHeight; + color: @gray; + white-space: nowrap; + } +} + +// Hover state +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: @white; + text-decoration: none; + background-color: @linkColor; +} + +// Open state for the dropdown +.dropdown.open { + // IE7's z-index only goes to the nearest positioned ancestor, which would + // make the menu appear below buttons that appeared later on the page + *z-index: @zindexDropdown; + + .dropdown-toggle { + color: @white; + background: #ccc; + background: rgba(0,0,0,.3); + } + .dropdown-menu { + display: block; + } +} + +// Typeahead +.typeahead { + margin-top: 2px; // give it some space to breathe + .border-radius(4px); +} diff --git a/docs/assets/less/twbs-201/forms.less b/docs/assets/less/twbs-201/forms.less new file mode 100755 index 000000000..0a5fa2b86 --- /dev/null +++ b/docs/assets/less/twbs-201/forms.less @@ -0,0 +1,522 @@ +// Forms.less +// Base styles for various input types, form layouts, and states +// ------------------------------------------------------------- + + +// GENERAL STYLES +// -------------- + +// Make all forms have space below them +form { + margin: 0 0 @baseLineHeight; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +// Groups of fields with labels on top (legends) +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @baseLineHeight * 1.5; + font-size: @baseFontSize * 1.5; + line-height: @baseLineHeight * 2; + color: @grayDark; + border: 0; + border-bottom: 1px solid #eee; + + // Small + small { + font-size: @baseLineHeight * .75; + color: @grayLight; + } +} + +// Set font for forms +label, +input, +button, +select, +textarea { + #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here +} +input, +button, +select, +textarea { + #font > #family > .sans-serif(); // And only set font-family here for those that need it (note the missing label element) +} + +// Identify controls by their labels +label { + display: block; + margin-bottom: 5px; + color: @grayDark; +} + +// Inputs, Textareas, Selects +input, +textarea, +select, +.uneditable-input { + display: inline-block; + width: 210px; + height: @baseLineHeight; + padding: 4px; + margin-bottom: 9px; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @gray; + border: 1px solid #ccc; + .border-radius(3px); +} +.uneditable-textarea { + width: auto; + height: auto; +} + +// Inputs within a label +label input, +label textarea, +label select { + display: block; +} + +// Mini reset for unique input types +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; /* IE7 */ + line-height: normal; + cursor: pointer; + .border-radius(0); + border: 0 \9; /* IE9 and down */ +} +input[type="image"] { + border: 0; +} + +// Reset the file input to browser defaults +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + border: initial; + background-color: @white; + background-color: initial; + .box-shadow(none); +} + +// Help out input buttons +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; +} + +// Set the height of select and file controls to match text inputs +select, +input[type="file"] { + height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; /* For IE7, add top margin to align select with labels */ + line-height: 28px; +} + +// Reset line-height for IE +input[type="file"] { + line-height: 18px \9; +} + +// Chrome on Linux and Mobile Safari need background-color +select { + width: 220px; // default input width + 10px of padding that doesn't get applied + background-color: @white; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Remove shadow from image inputs +input[type="image"] { + .box-shadow(none); +} + +// Make textarea height behave +textarea { + height: auto; +} + +// Hidden inputs +input[type="hidden"] { + display: none; +} + + + +// CHECKBOXES & RADIOS +// ------------------- + +// Indent the labels to position radios/checkboxes as hanging +.radio, +.checkbox { + padding-left: 18px; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +// Move the options list down to align with labels +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; // has to be padding because margin collaspes +} + +// Radios and checkboxes on same line +// TODO v3: Convert .inline to .control-inline +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; // space out consecutive inline controls +} + + + +// FOCUS STATE +// ----------- + +input, +textarea { + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + @transition: border linear .2s, box-shadow linear .2s; + .transition(@transition); +} +input:focus, +textarea:focus { + border-color: rgba(82,168,236,.8); + @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + .box-shadow(@shadow); + outline: 0; + outline: thin dotted \9; /* IE6-9 */ +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + .box-shadow(none); // override for file inputs + .tab-focus(); +} + + + +// INPUT SIZES +// ----------- + +// General classes for quick sizes +.input-mini { width: 60px; } +.input-small { width: 90px; } +.input-medium { width: 150px; } +.input-large { width: 210px; } +.input-xlarge { width: 270px; } +.input-xxlarge { width: 530px; } + +// Grid style input sizes +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input { + float: none; + margin-left: 0; +} + + + +// GRID SIZING FOR INPUTS +// ---------------------- + +#inputGridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); + + + + +// DISABLED STATE +// -------------- + +// Disabled and read-only inputs +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + background-color: #f5f5f5; + border-color: #ddd; + cursor: not-allowed; +} + + + + +// FORM FIELD FEEDBACK STATES +// -------------------------- + +// Warning +.control-group.warning { + .formFieldState(@warningText, @warningText, @warningBackground); +} +// Error +.control-group.error { + .formFieldState(@errorText, @errorText, @errorBackground); +} +// Success +.control-group.success { + .formFieldState(@successText, @successText, @successBackground); +} + +// HTML5 invalid states +// Shares styles with the .control-group.error above +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; + &:focus { + border-color: darken(#ee5f5b, 10%); + .box-shadow(0 0 6px lighten(#ee5f5b, 20%)); + } +} + + + +// FORM ACTIONS +// ------------ + +.form-actions { + padding: (@baseLineHeight - 1) 20px @baseLineHeight; + margin-top: @baseLineHeight; + margin-bottom: @baseLineHeight; + background-color: #f5f5f5; + border-top: 1px solid #ddd; +} + +// For text that needs to appear as an input but should not be an input +.uneditable-input { + display: block; + background-color: @white; + border-color: #eee; + .box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); + cursor: not-allowed; +} + +// Placeholder text gets special styles; can't be bundled together though for some reason +.placeholder(@grayLight); + + + +// HELP TEXT +// --------- + +.help-block { + display: block; // account for any element using help-block + margin-top: 5px; + margin-bottom: 0; + color: @grayLight; +} + +.help-inline { + display: inline-block; + .ie7-inline-block(); + margin-bottom: 9px; + vertical-align: middle; + padding-left: 5px; +} + + + +// INPUT GROUPS +// ------------ + +// Allow us to put symbols and text within the input field for a cleaner look +.input-prepend, +.input-append { + margin-bottom: 5px; + .clearfix(); // Clear the float to prevent wrapping + input, + .uneditable-input { + .border-radius(0 3px 3px 0); + &:focus { + position: relative; + z-index: 2; + } + } + .uneditable-input { + border-left-color: #ccc; + } + .add-on { + float: left; + display: block; + width: auto; + min-width: 16px; + height: @baseLineHeight; + margin-right: -1px; + padding: 4px 5px; + font-weight: normal; + line-height: @baseLineHeight; + color: @grayLight; + text-align: center; + text-shadow: 0 1px 0 @white; + background-color: #f5f5f5; + border: 1px solid #ccc; + .border-radius(3px 0 0 3px); + } + .active { + background-color: lighten(@green, 30); + border-color: @green; + } +} +.input-prepend { + .add-on { + *margin-top: 1px; /* IE6-7 */ + } +} +.input-append { + input, + .uneditable-input { + float: left; + .border-radius(3px 0 0 3px); + } + .uneditable-input { + border-left-color: #eee; + border-right-color: #ccc; + } + .add-on { + margin-right: 0; + margin-left: -1px; + .border-radius(0 3px 3px 0); + } + input:first-child { + // In IE7, having a hasLayout container (from clearfix's zoom:1) can make the first input + // inherit the sum of its ancestors' margins. + *margin-left: -160px; + + &+.add-on { + *margin-left: -21px; + } + } +} + + + +// SEARCH FORM +// ----------- + +.search-query { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; // remove the default margin on all inputs + .border-radius(14px); +} + + + +// HORIZONTAL & VERTICAL FORMS +// --------------------------- + +// Common properties +// ----------------- + +.form-search, +.form-inline, +.form-horizontal { + input, + textarea, + select, + .help-inline, + .uneditable-input { + display: inline-block; + margin-bottom: 0; + } + // Re-hide hidden elements due to specifity + .hide { + display: none; + } +} +.form-search label, +.form-inline label, +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + display: inline-block; +} +// Make the prepend and append add-on vertical-align: middle; +.form-search .input-append .add-on, +.form-inline .input-prepend .add-on, +.form-search .input-append .add-on, +.form-inline .input-prepend .add-on { + vertical-align: middle; +} +// Inline checkbox/radio labels +.form-search .radio, +.form-inline .radio, +.form-search .checkbox, +.form-inline .checkbox { + margin-bottom: 0; + vertical-align: middle; +} + +// Margin to space out fieldsets +.control-group { + margin-bottom: @baseLineHeight / 2; +} + +// Legend collapses margin, so next element is responsible for spacing +legend + .control-group { + margin-top: @baseLineHeight; + -webkit-margin-top-collapse: separate; +} + +// Horizontal-specific styles +// -------------------------- + +.form-horizontal { + // Increase spacing between groups + .control-group { + margin-bottom: @baseLineHeight; + .clearfix(); + } + // Float the labels left + .control-label { + float: left; + width: 140px; + padding-top: 5px; + text-align: right; + } + // Move over all input controls and content + .controls { + margin-left: 160px; + } + // Move over buttons in .form-actions to align with .controls + .form-actions { + padding-left: 160px; + } +} diff --git a/docs/assets/less/twbs-201/grid.less b/docs/assets/less/twbs-201/grid.less new file mode 100755 index 000000000..4acb0a44c --- /dev/null +++ b/docs/assets/less/twbs-201/grid.less @@ -0,0 +1,8 @@ +// GRID SYSTEM +// ----------- + +// Fixed (940px) +#gridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); + +// Fluid (940px) +#fluidGridSystem > .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth); diff --git a/docs/assets/less/twbs-201/hero-unit.less b/docs/assets/less/twbs-201/hero-unit.less new file mode 100755 index 000000000..cba1cc46c --- /dev/null +++ b/docs/assets/less/twbs-201/hero-unit.less @@ -0,0 +1,20 @@ +// HERO UNIT +// --------- + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: #f5f5f5; + .border-radius(6px); + h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + } + p { + font-size: 18px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; + } +} diff --git a/docs/assets/less/twbs-201/labels.less b/docs/assets/less/twbs-201/labels.less new file mode 100755 index 000000000..268435a0b --- /dev/null +++ b/docs/assets/less/twbs-201/labels.less @@ -0,0 +1,32 @@ +// LABELS +// ------ + +// Base +.label { + padding: 2px 4px 3px; + font-size: @baseFontSize * .85; + font-weight: bold; + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + background-color: @grayLight; + .border-radius(3px); +} + +// Hover state +.label:hover { + color: @white; + text-decoration: none; +} + +// Colors +.label-important { background-color: @errorText; } +.label-important:hover { background-color: darken(@errorText, 10%); } + +.label-warning { background-color: @orange; } +.label-warning:hover { background-color: darken(@orange, 10%); } + +.label-success { background-color: @successText; } +.label-success:hover { background-color: darken(@successText, 10%); } + +.label-info { background-color: @infoText; } +.label-info:hover { background-color: darken(@infoText, 10%); } diff --git a/docs/assets/less/twbs-201/layouts.less b/docs/assets/less/twbs-201/layouts.less new file mode 100755 index 000000000..c8d358b24 --- /dev/null +++ b/docs/assets/less/twbs-201/layouts.less @@ -0,0 +1,17 @@ +// +// Layouts +// Fixed-width and fluid (with sidebar) layouts +// -------------------------------------------- + + +// Container (centered, fixed-width layouts) +.container { + .container-fixed(); +} + +// Fluid layouts (left aligned, with sidebar, min- & max-width content) +.container-fluid { + padding-left: @gridGutterWidth; + padding-right: @gridGutterWidth; + .clearfix(); +} \ No newline at end of file diff --git a/docs/assets/less/twbs-201/mixins.less b/docs/assets/less/twbs-201/mixins.less new file mode 100755 index 000000000..3cf1a3704 --- /dev/null +++ b/docs/assets/less/twbs-201/mixins.less @@ -0,0 +1,590 @@ +// Mixins.less +// Snippets of reusable CSS to develop faster and keep code readable +// ----------------------------------------------------------------- + + +// UTILITY MIXINS +// -------------------------------------------------- + +// Clearfix +// -------- +// For clearing floats like a boss h5bp.com/q +.clearfix { + *zoom: 1; + &:before, + &:after { + display: table; + content: ""; + } + &:after { + clear: both; + } +} + +// Webkit-style focus +// ------------------ +.tab-focus() { + // Default + outline: thin dotted #333; + // Webkit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +// Center-align a block level element +// ---------------------------------- +.center-block() { + display: block; + margin-left: auto; + margin-right: auto; +} + +// IE7 inline-block +// ---------------- +.ie7-inline-block() { + *display: inline; /* IE7 inline-block hack */ + *zoom: 1; +} + +// IE7 likes to collapse whitespace on either side of the inline-block elements. +// Ems because we're attempting to match the width of a space character. Left +// version is for form buttons, which typically come after other elements, and +// right version is for icons, which come before. Applying both is ok, but it will +// mean that space between those elements will be .6em (~2 space characters) in IE7, +// instead of the 1 space in other browsers. +.ie7-restore-left-whitespace() { + *margin-left: .3em; + + &:first-child { + *margin-left: 0; + } +} + +.ie7-restore-right-whitespace() { + *margin-right: .3em; + + &:last-child { + *margin-left: 0; + } +} + +// Sizing shortcuts +// ------------------------- +.size(@height: 5px, @width: 5px) { + width: @width; + height: @height; +} +.square(@size: 5px) { + .size(@size, @size); +} + +// Placeholder text +// ------------------------- +.placeholder(@color: @placeholderText) { + :-moz-placeholder { + color: @color; + } + ::-webkit-input-placeholder { + color: @color; + } +} + +// Text overflow +// ------------------------- +// Requires inline-block or block for proper styling +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + + + +// FONTS +// -------------------------------------------------- + +#font { + #family { + .serif() { + font-family: Georgia, "Times New Roman", Times, serif; + } + .sans-serif() { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + } + .monospace() { + font-family: Menlo, Monaco, "Courier New", monospace; + } + } + .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + font-size: @size; + font-weight: @weight; + line-height: @lineHeight; + } + .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .sans-serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .monospace; + #font > .shorthand(@size, @weight, @lineHeight); + } +} + + + +// GRID SYSTEM +// -------------------------------------------------- + +// Site container +// ------------------------- +.container-fixed() { + width: @gridRowWidth; + margin-left: auto; + margin-right: auto; + .clearfix(); +} + +// Le grid system +// ------------------------- +#gridSystem { + // Setup the mixins to be used + .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) { + width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); + } + .offset(@gridColumnWidth, @gridGutterWidth, @columns) { + margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2); + } + .gridColumn(@gridGutterWidth) { + float: left; + margin-left: @gridGutterWidth; + } + // Take these values and mixins, and make 'em do their thang + .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) { + // Row surrounds the columns + .row { + margin-left: @gridGutterWidth * -1; + .clearfix(); + } + // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg) + [class*="span"] { + #gridSystem > .gridColumn(@gridGutterWidth); + } + // Default columns + .span1 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); } + .span2 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); } + .span3 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); } + .span4 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); } + .span5 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); } + .span6 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); } + .span7 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); } + .span8 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); } + .span9 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); } + .span10 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); } + .span11 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); } + .span12, + .container { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); } + // Offset column options + .offset1 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 1); } + .offset2 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 2); } + .offset3 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 3); } + .offset4 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 4); } + .offset5 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 5); } + .offset6 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 6); } + .offset7 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 7); } + .offset8 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 8); } + .offset9 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 9); } + .offset10 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 10); } + .offset11 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 11); } + } +} + +// Fluid grid system +// ------------------------- +#fluidGridSystem { + // Setup the mixins to be used + .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, @columns) { + width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); + } + .gridColumn(@fluidGridGutterWidth) { + float: left; + margin-left: @fluidGridGutterWidth; + } + // Take these values and mixins, and make 'em do their thang + .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) { + // Row surrounds the columns + .row-fluid { + width: 100%; + .clearfix(); + + // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg) + > [class*="span"] { + #fluidGridSystem > .gridColumn(@fluidGridGutterWidth); + } + > [class*="span"]:first-child { + margin-left: 0; + } + // Default columns + > .span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); } + > .span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); } + > .span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); } + > .span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); } + > .span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); } + > .span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); } + > .span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); } + > .span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); } + > .span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); } + > .span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); } + > .span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); } + > .span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); } + } + } +} + +// Input grid system +// ------------------------- +#inputGridSystem { + .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) { + width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10; + } + .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) { + input, + textarea, + .uneditable-input { + &.span1 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); } + &.span2 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); } + &.span3 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); } + &.span4 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); } + &.span5 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); } + &.span6 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); } + &.span7 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); } + &.span8 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); } + &.span9 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); } + &.span10 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); } + &.span11 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); } + &.span12 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); } + } + } +} + +// Make a Grid +// ------------------------- +// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior +.makeRow() { + margin-left: @gridGutterWidth * -1; + .clearfix(); +} +.makeColumn(@columns: 1) { + float: left; + margin-left: @gridGutterWidth; + width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); +} + + + +// Form field states (used in forms.less) +// -------------------------------------------------- + +// Mixin for form field states +.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { + // Set the text color + > label, + .help-block, + .help-inline { + color: @textColor; + } + // Style inputs accordingly + input, + select, + textarea { + color: @textColor; + border-color: @borderColor; + &:focus { + border-color: darken(@borderColor, 10%); + .box-shadow(0 0 6px lighten(@borderColor, 20%)); + } + } + // Give a small background color for input-prepend/-append + .input-prepend .add-on, + .input-append .add-on { + color: @textColor; + background-color: @backgroundColor; + border-color: @textColor; + } +} + + + +// CSS3 PROPERTIES +// -------------------------------------------------- + +// Border Radius +.border-radius(@radius: 5px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +// Drop shadows +.box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// Transitions +.transition(@transition) { + -webkit-transition: @transition; + -moz-transition: @transition; + -ms-transition: @transition; + -o-transition: @transition; + transition: @transition; +} + +// Transformations +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} +.scale(@ratio) { + -webkit-transform: scale(@ratio); + -moz-transform: scale(@ratio); + -ms-transform: scale(@ratio); + -o-transform: scale(@ratio); + transform: scale(@ratio); +} +.translate(@x: 0, @y: 0) { + -webkit-transform: translate(@x, @y); + -moz-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); + -o-transform: translate(@x, @y); + transform: translate(@x, @y); +} +.skew(@x: 0, @y: 0) { + -webkit-transform: skew(@x, @y); + -moz-transform: skew(@x, @y); + -ms-transform: skew(@x, @y); + -o-transform: skew(@x, @y); + transform: skew(@x, @y); +} +.translate3d(@x: 0, @y: 0, @z: 0) { + -webkit-transform: translate(@x, @y, @z); + -moz-transform: translate(@x, @y, @z); + -ms-transform: translate(@x, @y, @z); + -o-transform: translate(@x, @y, @z); + transform: translate(@x, @y, @z); +} + +// Background clipping +// Heads up: FF 3.6 and under need "padding" instead of "padding-box" +.background-clip(@clip) { + -webkit-background-clip: @clip; + -moz-background-clip: @clip; + background-clip: @clip; +} + +// Background sizing +.background-size(@size){ + -webkit-background-size: @size; + -moz-background-size: @size; + -o-background-size: @size; + background-size: @size; +} + + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// User select +// For selecting text on the page +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -o-user-select: @select; + user-select: @select; +} + +// Resize anything +.resizable(@direction: both) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Safari fix +} + +// CSS3 Content Columns +.content-columns(@columnCount, @columnGap: @gridColumnGutter) { + -webkit-column-count: @columnCount; + -moz-column-count: @columnCount; + column-count: @columnCount; + -webkit-column-gap: @columnGap; + -moz-column-gap: @columnGap; + column-gap: @columnGap; +} + +// Opacity +.opacity(@opacity: 100) { + opacity: @opacity / 100; + filter: e(%("alpha(opacity=%d)", @opacity)); +} + + + +// BACKGROUNDS +// -------------------------------------------------- + +// Add an alphatransparency value to any background or border color (via Elyse Holladay) +#translucent { + .background(@color: @white, @alpha: 1) { + background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + } + .border(@color: @white, @alpha: 1) { + border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + .background-clip(padding-box); + } +} + +// Gradient Bar Colors for buttons and alerts +.gradientBar(@primaryColor, @secondaryColor) { + #gradient > .vertical(@primaryColor, @secondaryColor); + border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); +} + +// Gradients +#gradient { + .horizontal(@startColor: #555, @endColor: #333) { + background-color: @endColor; + background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(left, @startColor, @endColor); // Le standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down + } + .vertical(@startColor: #555, @endColor: #333) { + background-color: mix(@startColor, @endColor, 60%); + background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(top, @startColor, @endColor); // The standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down + } + .directional(@startColor: #555, @endColor: #333, @deg: 45deg) { + background-color: @endColor; + background-repeat: repeat-x; + background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(@deg, @startColor, @endColor); // IE10 + background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(@deg, @startColor, @endColor); // The standard + } + .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { + background-color: mix(@midColor, @endColor, 80%); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); + background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); + background-image: -ms-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@innerColor: #555, @outerColor: #333) { + background-color: @outerColor; + background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); + background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); + background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); + background-image: -ms-radial-gradient(circle, @innerColor, @outerColor); + background-repeat: no-repeat; + // Opera cannot do radial gradients yet + } + .striped(@color, @angle: -45deg) { + background-color: @color; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + } +} +// Reset filters for IE +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} + + +// Mixin for generating button backgrounds +// --------------------------------------- +.buttonBackground(@startColor, @endColor) { + // gradientBar will set the background to a pleasing blend of these, to support IE<=9 + .gradientBar(@startColor, @endColor); + .reset-filter(); + + // in these cases the gradient won't cover the background, so we override + &:hover, &:active, &.active, &.disabled, &[disabled] { + background-color: @endColor; + } + + // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves + &:active, + &.active { + background-color: darken(@endColor, 10%) e("\9"); + } +} + + +// COMPONENT MIXINS +// -------------------------------------------------- + +// POPOVER ARROWS +// ------------------------- +// For tipsies and popovers +#popoverArrow { + .top(@arrowWidth: 5px) { + bottom: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-top: @arrowWidth solid @black; + } + .left(@arrowWidth: 5px) { + top: 50%; + right: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-left: @arrowWidth solid @black; + } + .bottom(@arrowWidth: 5px) { + top: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid @black; + } + .right(@arrowWidth: 5px) { + top: 50%; + left: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-right: @arrowWidth solid @black; + } +} diff --git a/docs/assets/less/twbs-201/modals.less b/docs/assets/less/twbs-201/modals.less new file mode 100755 index 000000000..d1e06dc26 --- /dev/null +++ b/docs/assets/less/twbs-201/modals.less @@ -0,0 +1,83 @@ +// MODALS +// ------ + +// Recalculate z-index where appropriate +.modal-open { + .dropdown-menu { z-index: @zindexDropdown + @zindexModal; } + .dropdown.open { *z-index: @zindexDropdown + @zindexModal; } + .popover { z-index: @zindexPopover + @zindexModal; } + .tooltip { z-index: @zindexTooltip + @zindexModal; } +} + +// Background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindexModalBackdrop; + background-color: @black; + // Fade for backdrop + &.fade { opacity: 0; } +} + +.modal-backdrop, +.modal-backdrop.fade.in { + .opacity(80); +} + +// Base modal +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: @zindexModal; + max-height: 500px; + overflow: auto; + width: 560px; + margin: -250px 0 0 -280px; + background-color: @white; + border: 1px solid #999; + border: 1px solid rgba(0,0,0,.3); + *border: 1px solid #999; /* IE6-7 */ + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); + .background-clip(padding-box); + &.fade { + .transition(e('opacity .3s linear, top .3s ease-out')); + top: -25%; + } + &.fade.in { top: 50%; } +} +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; + // Close icon + .close { margin-top: 2px; } +} + +// Body (where all modal content resises) +.modal-body { + padding: 15px; +} +// Remove bottom margin if need be +.modal-body .modal-form { + margin-bottom: 0; +} + +// Footer (for actions) +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + .border-radius(0 0 6px 6px); + .box-shadow(inset 0 1px 0 @white); + .clearfix(); + .btn { + float: right; + margin-left: 5px; + margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs + } +} diff --git a/docs/assets/less/twbs-201/navbar.less b/docs/assets/less/twbs-201/navbar.less new file mode 100755 index 000000000..16553c1ff --- /dev/null +++ b/docs/assets/less/twbs-201/navbar.less @@ -0,0 +1,299 @@ +// NAVBAR (FIXED AND STATIC) +// ------------------------- + + +// COMMON STYLES +// ------------- + +.navbar { + overflow: visible; + margin-bottom: @baseLineHeight; +} + +// Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present +.navbar-inner { + padding-left: 20px; + padding-right: 20px; + #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); + .border-radius(4px); + @shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); + .box-shadow(@shadow); +} + +// Navbar button for toggling navbar items in responsive layouts +.btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + .buttonBackground(@navbarBackgroundHighlight, @navbarBackground); + @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + .box-shadow(@shadow); +} +.btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + .border-radius(1px); + .box-shadow(0 1px 0 rgba(0,0,0,.25)); +} +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} +// Override the default collapsed state +.nav-collapse.collapse { + height: auto; +} + + +// Brand, links, text, and buttons +.navbar { + // Hover and active states + .brand:hover { + text-decoration: none; + } + // Website or project name + .brand { + float: left; + display: block; + padding: 8px 20px 12px; + margin-left: -20px; // negative indent to left-align the text down the page + font-size: 20px; + font-weight: 200; + line-height: 1; + color: @white; + } + // Plain text in topbar + .navbar-text { + margin-bottom: 0; + line-height: 40px; + color: @navbarText; + a:hover { + color: @white; + background-color: transparent; + } + } + // Buttons in navbar + .btn, + .btn-group { + margin-top: 5px; // make buttons vertically centered in navbar + } + .btn-group .btn { + margin-top: 0; // then undo the margin here so we don't accidentally double it + } +} + +// Navbar forms +.navbar-form { + margin-bottom: 0; // remove default bottom margin + .clearfix(); + input, + select { + display: inline-block; + margin-top: 5px; + margin-bottom: 0; + } + .radio, + .checkbox { + margin-top: 5px; + } + input[type="image"], + input[type="checkbox"], + input[type="radio"] { + margin-top: 3px; + } + .input-append, + .input-prepend { + margin-top: 6px; + white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left + input { + margin-top: 0; // remove the margin on top since it's on the parent + } + } +} + +// Navbar search +.navbar-search { + position: relative; + float: left; + margin-top: 6px; + margin-bottom: 0; + .search-query { + padding: 4px 9px; + #font > .sans-serif(13px, normal, 1); + color: @white; + color: rgba(255,255,255,.75); + background: #666; + background: rgba(255,255,255,.3); + border: 1px solid #111; + @shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15); + .box-shadow(@shadow); + .transition(none); + + // Placeholder text gets special styles; can't be bundled together though for some reason + .placeholder(@grayLighter); + + // Hover states + &:hover { + color: @white; + background-color: @grayLight; + background-color: rgba(255,255,255,.5); + } + // Focus states (we use .focused since IE7-8 and down doesn't support :focus) + &:focus, + &.focused { + padding: 5px 10px; + color: @grayDark; + text-shadow: 0 1px 0 @white; + background-color: @white; + border: 0; + .box-shadow(0 0 3px rgba(0,0,0,.15)); + outline: 0; + } + } +} + + +// FIXED NAVBAR +// ------------ + +.navbar-fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: @zindexFixedNavbar; +} +.navbar-fixed-top .navbar-inner { + padding-left: 0; + padding-right: 0; + .border-radius(0); +} + + +// NAVIGATION +// ---------- + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; // redeclare due to specificity +} +.navbar .nav > li { + display: block; + float: left; +} + +// Links +.navbar .nav > li > a { + float: none; + padding: 10px 10px 11px; + line-height: 19px; + color: @navbarLinkColor; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); +} +// Hover +.navbar .nav > li > a:hover { + background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active + color: @navbarLinkColorHover; + text-decoration: none; +} + +// Active nav items +.navbar .nav .active > a, +.navbar .nav .active > a:hover { + color: @navbarLinkColorHover; + text-decoration: none; + background-color: @navbarBackground; +} + +// Dividers (basically a vertical hr) +.navbar .divider-vertical { + height: @navbarHeight; + width: 1px; + margin: 0 9px; + overflow: hidden; + background-color: @navbarBackground; + border-right: 1px solid @navbarBackgroundHighlight; +} + +// Secondary (floated right) nav in topbar +.navbar .nav.pull-right { + margin-left: 10px; + margin-right: 0; +} + + + +// Dropdown menus +// -------------- + +// Menu position and menu carets +.navbar .dropdown-menu { + margin-top: 1px; + .border-radius(4px); + &:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0,0,0,.2); + position: absolute; + top: -7px; + left: 9px; + } + &:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid @white; + position: absolute; + top: -6px; + left: 10px; + } +} + +// Dropdown toggle caret +.navbar .nav .dropdown-toggle .caret, +.navbar .nav .open.dropdown .caret { + border-top-color: @white; +} +.navbar .nav .active .caret { + .opacity(100); +} + +// Remove background color from open dropdown +.navbar .nav .open > .dropdown-toggle, +.navbar .nav .active > .dropdown-toggle, +.navbar .nav .open.active > .dropdown-toggle { + background-color: transparent; +} + +// Dropdown link on hover +.navbar .nav .active > .dropdown-toggle:hover { + color: @white; +} + +// Right aligned menus need alt position +.navbar .nav.pull-right .dropdown-menu { + left: auto; + right: 0; + &:before { + left: auto; + right: 12px; + } + &:after { + left: auto; + right: 13px; + } +} \ No newline at end of file diff --git a/docs/assets/less/twbs-201/navs.less b/docs/assets/less/twbs-201/navs.less new file mode 100755 index 000000000..06219fa62 --- /dev/null +++ b/docs/assets/less/twbs-201/navs.less @@ -0,0 +1,353 @@ +// NAVIGATIONS +// ----------- + + + +// BASE CLASS +// ---------- + +.nav { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; +} + +// Make links block level +.nav > li > a { + display: block; +} +.nav > li > a:hover { + text-decoration: none; + background-color: @grayLighter; +} + +// Nav headers (for dropdowns and lists) +.nav .nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: @baseLineHeight; + color: @grayLight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + text-transform: uppercase; +} +// Space them out when they follow another list item (link) +.nav li + .nav-header { + margin-top: 9px; +} + + +// NAV LIST +// -------- + +.nav-list { + padding-left: 14px; + padding-right: 14px; + margin-bottom: 0; +} +.nav-list > li > a, +.nav-list .nav-header { + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255,255,255,.5); +} +.nav-list > li > a { + padding: 3px 15px; +} +.nav-list .active > a, +.nav-list .active > a:hover { + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + background-color: @linkColor; +} +.nav-list [class^="icon-"] { + margin-right: 2px; +} + + + +// TABS AND PILLS +// ------------- + +// Common styles +.nav-tabs, +.nav-pills { + .clearfix(); +} +.nav-tabs > li, +.nav-pills > li { + float: left; +} +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; // keeps the overall height an even number +} + +// TABS +// ---- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +// Make the list-items overlay the bottom border +.nav-tabs > li { + margin-bottom: -1px; +} + +// Actual tabs (as links) +.nav-tabs > li > a { + padding-top: 9px; + padding-bottom: 9px; + border: 1px solid transparent; + .border-radius(4px 4px 0 0); + &:hover { + border-color: @grayLighter @grayLighter #ddd; + } +} +// Active state, and it's :hover to override normal :hover +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: @gray; + background-color: @white; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} + +// PILLS +// ----- + +// Links rendered as pills +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + .border-radius(5px); +} + +// Active state +.nav-pills .active > a, +.nav-pills .active > a:hover { + color: @white; + background-color: @linkColor; +} + + + +// STACKED NAV +// ----------- + +// Stacked tabs and pills +.nav-stacked > li { + float: none; +} +.nav-stacked > li > a { + margin-right: 0; // no need for the gap between nav items +} + +// Tabs +.nav-tabs.nav-stacked { + border-bottom: 0; +} +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + .border-radius(0); +} +.nav-tabs.nav-stacked > li:first-child > a { + .border-radius(4px 4px 0 0); +} +.nav-tabs.nav-stacked > li:last-child > a { + .border-radius(0 0 4px 4px); +} +.nav-tabs.nav-stacked > li > a:hover { + border-color: #ddd; + z-index: 2; +} + +// Pills +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; // decrease margin to match sizing of stacked tabs +} + + + +// DROPDOWNS +// --------- + +// Position the menu +.nav-tabs .dropdown-menu, +.nav-pills .dropdown-menu { + margin-top: 1px; + border-width: 1px; +} +.nav-pills .dropdown-menu { + .border-radius(4px); +} + +// Default dropdown links +// ------------------------- +// Make carets use linkColor to start +.nav-tabs .dropdown-toggle .caret, +.nav-pills .dropdown-toggle .caret { + border-top-color: @linkColor; + margin-top: 6px; +} +.nav-tabs .dropdown-toggle:hover .caret, +.nav-pills .dropdown-toggle:hover .caret { + border-top-color: @linkColorHover; +} + +// Active dropdown links +// ------------------------- +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret { + border-top-color: @grayDark; +} + +// Active:hover dropdown links +// ------------------------- +.nav > .dropdown.active > a:hover { + color: @black; + cursor: pointer; +} + +// Open dropdowns +// ------------------------- +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > .open.active > a:hover { + color: @white; + background-color: @grayLight; + border-color: @grayLight; +} +.nav .open .caret, +.nav .open.active .caret, +.nav .open a:hover .caret { + border-top-color: @white; + .opacity(100); +} + +// Dropdowns in stacked tabs +.tabs-stacked .open > a:hover { + border-color: @grayLight; +} + + + +// TABBABLE +// -------- + + +// COMMON STYLES +// ------------- + +// Clear any floats +.tabbable { + .clearfix(); +} +.tab-content { + overflow: hidden; // prevent content from running below tabs +} + +// Remove border on bottom, left, right +.tabs-below .nav-tabs, +.tabs-right .nav-tabs, +.tabs-left .nav-tabs { + border-bottom: 0; +} + +// Show/hide tabbable areas +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} + + +// BOTTOM +// ------ + +.tabs-below .nav-tabs { + border-top: 1px solid #ddd; +} +.tabs-below .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} +.tabs-below .nav-tabs > li > a { + .border-radius(0 0 4px 4px); + &:hover { + border-bottom-color: transparent; + border-top-color: #ddd; + } +} +.tabs-below .nav-tabs .active > a, +.tabs-below .nav-tabs .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} + +// LEFT & RIGHT +// ------------ + +// Common styles +.tabs-left .nav-tabs > li, +.tabs-right .nav-tabs > li { + float: none; +} +.tabs-left .nav-tabs > li > a, +.tabs-right .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +// Tabs on the left +.tabs-left .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} +.tabs-left .nav-tabs > li > a { + margin-right: -1px; + .border-radius(4px 0 0 4px); +} +.tabs-left .nav-tabs > li > a:hover { + border-color: @grayLighter #ddd @grayLighter @grayLighter; +} +.tabs-left .nav-tabs .active > a, +.tabs-left .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: @white; +} + +// Tabs on the right +.tabs-right .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} +.tabs-right .nav-tabs > li > a { + margin-left: -1px; + .border-radius(0 4px 4px 0); +} +.tabs-right .nav-tabs > li > a:hover { + border-color: @grayLighter @grayLighter @grayLighter #ddd; +} +.tabs-right .nav-tabs .active > a, +.tabs-right .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: @white; +} diff --git a/docs/assets/less/twbs-201/pager.less b/docs/assets/less/twbs-201/pager.less new file mode 100755 index 000000000..104e41cab --- /dev/null +++ b/docs/assets/less/twbs-201/pager.less @@ -0,0 +1,30 @@ +// PAGER +// ----- + +.pager { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; + text-align: center; + .clearfix(); +} +.pager li { + display: inline; +} +.pager a { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + .border-radius(15px); +} +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} +.pager .next a { + float: right; +} +.pager .previous a { + float: left; +} diff --git a/docs/assets/less/twbs-201/pagination.less b/docs/assets/less/twbs-201/pagination.less new file mode 100755 index 000000000..de5780759 --- /dev/null +++ b/docs/assets/less/twbs-201/pagination.less @@ -0,0 +1,55 @@ +// PAGINATION +// ---------- + +.pagination { + height: @baseLineHeight * 2; + margin: @baseLineHeight 0; + } +.pagination ul { + display: inline-block; + .ie7-inline-block(); + margin-left: 0; + margin-bottom: 0; + .border-radius(3px); + .box-shadow(0 1px 2px rgba(0,0,0,.05)); +} +.pagination li { + display: inline; + } +.pagination a { + float: left; + padding: 0 14px; + line-height: (@baseLineHeight * 2) - 2; + text-decoration: none; + border: 1px solid #ddd; + border-left-width: 0; +} +.pagination a:hover, +.pagination .active a { + background-color: #f5f5f5; +} +.pagination .active a { + color: @grayLight; + cursor: default; +} +.pagination .disabled a, +.pagination .disabled a:hover { + color: @grayLight; + background-color: transparent; + cursor: default; +} +.pagination li:first-child a { + border-left-width: 1px; + .border-radius(3px 0 0 3px); +} +.pagination li:last-child a { + .border-radius(0 3px 3px 0); +} + +// Centered +.pagination-centered { + text-align: center; +} +.pagination-right { + text-align: right; +} diff --git a/docs/assets/less/twbs-201/popovers.less b/docs/assets/less/twbs-201/popovers.less new file mode 100755 index 000000000..558d99ec9 --- /dev/null +++ b/docs/assets/less/twbs-201/popovers.less @@ -0,0 +1,49 @@ +// POPOVERS +// -------- + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: @zindexPopover; + display: none; + padding: 5px; + &.top { margin-top: -5px; } + &.right { margin-left: 5px; } + &.bottom { margin-top: 5px; } + &.left { margin-left: -5px; } + &.top .arrow { #popoverArrow > .top(); } + &.right .arrow { #popoverArrow > .right(); } + &.bottom .arrow { #popoverArrow > .bottom(); } + &.left .arrow { #popoverArrow > .left(); } + .arrow { + position: absolute; + width: 0; + height: 0; + } +} +.popover-inner { + padding: 3px; + width: 280px; + overflow: hidden; + background: @black; // has to be full background declaration for IE fallback + background: rgba(0,0,0,.8); + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); +} +.popover-title { + padding: 9px 15px; + line-height: 1; + background-color: #f5f5f5; + border-bottom:1px solid #eee; + .border-radius(3px 3px 0 0); +} +.popover-content { + padding: 14px; + background-color: @white; + .border-radius(0 0 3px 3px); + .background-clip(padding-box); + p, ul, ol { + margin-bottom: 0; + } +} diff --git a/docs/assets/less/twbs-201/progress-bars.less b/docs/assets/less/twbs-201/progress-bars.less new file mode 100755 index 000000000..c3144e1bd --- /dev/null +++ b/docs/assets/less/twbs-201/progress-bars.less @@ -0,0 +1,95 @@ +// PROGRESS BARS +// ------------- + + +// ANIMATIONS +// ---------- + +// Webkit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + +// Firefox +@-moz-keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + +// Spec +@keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + + + +// THE BARS +// -------- + +// Outer container +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + #gradient > .vertical(#f5f5f5, #f9f9f9); + .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); + .border-radius(4px); +} + +// Bar of progress +.progress .bar { + width: 0%; + height: 18px; + color: @white; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + #gradient > .vertical(#149bdf, #0480be); + .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + .box-sizing(border-box); + .transition(width .6s ease); +} + +// Striped bars +.progress-striped .bar { + #gradient > .striped(#62c462); + .background-size(40px 40px); +} + +// Call animation for the active one +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + + + +// COLORS +// ------ + +// Danger (red) +.progress-danger .bar { + #gradient > .vertical(#ee5f5b, #c43c35); +} +.progress-danger.progress-striped .bar { + #gradient > .striped(#ee5f5b); +} + +// Success (green) +.progress-success .bar { + #gradient > .vertical(#62c462, #57a957); +} +.progress-success.progress-striped .bar { + #gradient > .striped(#62c462); +} + +// Info (teal) +.progress-info .bar { + #gradient > .vertical(#5bc0de, #339bb9); +} +.progress-info.progress-striped .bar { + #gradient > .striped(#5bc0de); +} diff --git a/docs/assets/less/twbs-201/reset.less b/docs/assets/less/twbs-201/reset.less new file mode 100755 index 000000000..1115f59d8 --- /dev/null +++ b/docs/assets/less/twbs-201/reset.less @@ -0,0 +1,126 @@ +// Reset.less +// Adapted from Normalize.css http://github.com/necolas/normalize.css +// ------------------------------------------------------------------------ + +// Display in IE6-9 and FF3 +// ------------------------- + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +// Display block in IE6-9 and FF3 +// ------------------------- + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +// Prevents modern browsers from displaying 'audio' without controls +// ------------------------- + +audio:not([controls]) { + display: none; +} + +// Base settings +// ------------------------- + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +// Focus states +a:focus { + .tab-focus(); +} +// Hover & Active +a:hover, +a:active { + outline: 0; +} + +// Prevents sub and sup affecting line-height in all browsers +// ------------------------- + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} + +// Img border in a's and image quality +// ------------------------- + +img { + max-width: 100%; + height: auto; + border: 0; + -ms-interpolation-mode: bicubic; +} + +// Forms +// ------------------------- + +// Font size in all browsers, margin changes, misc consistency +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} +button, +input { + *overflow: visible; // Inner spacing ie IE6/7 + line-height: normal; // FF3/4 have !important on line-height in UA stylesheet +} +button::-moz-focus-inner, +input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 + padding: 0; + border: 0; +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; // Cursors on all buttons applied consistently + -webkit-appearance: button; // Style clickable inputs in iOS +} +input[type="search"] { // Appearance in Safari/Chrome + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 +} +textarea { + overflow: auto; // Remove vertical scrollbar in IE6-9 + vertical-align: top; // Readability and alignment cross-browser +} diff --git a/docs/assets/less/twbs-201/responsive.less b/docs/assets/less/twbs-201/responsive.less new file mode 100755 index 000000000..1547dce9e --- /dev/null +++ b/docs/assets/less/twbs-201/responsive.less @@ -0,0 +1,327 @@ +/*! + * Bootstrap Responsive v2.0.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +// Responsive.less +// For phone and tablet devices +// ------------------------------------------------------------- + + +// REPEAT VARIABLES & MIXINS +// ------------------------- +// Required since we compile the responsive stuff separately + +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + + +// RESPONSIVE CLASSES +// ------------------ + +// Hide from screenreaders and browsers +// Credit: HTML5 Boilerplate +.hidden { + display: none; + visibility: hidden; +} + + + +// UP TO LANDSCAPE PHONE +// --------------------- + +@media (max-width: 480px) { + + // Smooth out the collapsing/expanding nav + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); // activate the GPU + } + + // Block level the page header small tag for readability + .page-header h1 small { + display: block; + line-height: @baseLineHeight; + } + + // Make span* classes full width + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 28px; /* Make inputs at least the height of their button counterpart */ + /* Makes inputs behave like true block-level elements */ + -webkit-box-sizing: border-box; /* Older Webkit */ + -moz-box-sizing: border-box; /* Older FF */ + -ms-box-sizing: border-box; /* IE8 */ + box-sizing: border-box; /* CSS3 spec*/ + } + // But don't let it screw up prepend/append inputs + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + width: auto; + } + + // Update checkboxes for iOS + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + + // Remove the horizontal form styles + .form-horizontal .control-group > label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + // Move over all input controls and content + .form-horizontal .controls { + margin-left: 0; + } + // Move the options list down to align with labels + .form-horizontal .control-list { + padding-top: 0; // has to be padding because margin collaspes + } + // Move over buttons in .form-actions to align with .controls + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + + // Modals + .modal { + position: absolute; + top: 10px; + left: 10px; + right: 10px; + width: auto; + margin: 0; + &.fade.in { top: auto; } + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + + // Carousel + .carousel-caption { + position: static; + } + +} + + + +// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET +// -------------------------------------------------- + +@media (max-width: 767px) { + // GRID & CONTAINERS + // ----------------- + // Remove width from containers + .container { + width: auto; + padding: 0 20px; + } + // Fluid rows + .row-fluid { + width: 100%; + } + // Undo negative margin on rows + .row { + margin-left: 0; + } + // Make all columns even + .row > [class*="span"], + .row-fluid > [class*="span"] { + float: none; + display: block; + width: auto; + margin: 0; + } +} + + + +// PORTRAIT TABLET TO DEFAULT DESKTOP +// ---------------------------------- + +@media (min-width: 768px) and (max-width: 979px) { + + // Fixed grid + #gridSystem > .generate(12, 42px, 20px); + + // Fluid grid + #fluidGridSystem > .generate(12, 5.801104972%, 2.762430939%); + + // Input grid + #inputGridSystem > .generate(12, 42px, 20px); + +} + + + +// TABLETS AND BELOW +// ----------------- +@media (max-width: 979px) { + + // UNFIX THE TOPBAR + // ---------------- + // Remove any padding from the body + body { + padding-top: 0; + } + // Unfix the navbar + .navbar-fixed-top { + position: static; + margin-bottom: @baseLineHeight; + } + .navbar-fixed-top .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + // Account for brand name + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + // Nav collapse clears brand + .navbar .nav-collapse { + clear: left; + } + // Block-level the nav + .navbar .nav { + float: none; + margin: 0 0 (@baseLineHeight / 2); + } + .navbar .nav > li { + float: none; + } + .navbar .nav > li > a { + margin-bottom: 2px; + } + .navbar .nav > .divider-vertical { + display: none; + } + .navbar .nav .nav-header { + color: @navbarText; + text-shadow: none; + } + // Nav and dropdown links in navbar + .navbar .nav > li > a, + .navbar .dropdown-menu a { + padding: 6px 15px; + font-weight: bold; + color: @navbarLinkColor; + .border-radius(3px); + } + .navbar .dropdown-menu li + li a { + margin-bottom: 2px; + } + .navbar .nav > li > a:hover, + .navbar .dropdown-menu a:hover { + background-color: @navbarBackground; + } + // Dropdowns in the navbar + .navbar .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: block; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + .border-radius(0); + .box-shadow(none); + } + .navbar .dropdown-menu:before, + .navbar .dropdown-menu:after { + display: none; + } + .navbar .dropdown-menu .divider { + display: none; + } + // Forms in navbar + .navbar-form, + .navbar-search { + float: none; + padding: (@baseLineHeight / 2) 15px; + margin: (@baseLineHeight / 2) 0; + border-top: 1px solid @navbarBackground; + border-bottom: 1px solid @navbarBackground; + @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + .box-shadow(@shadow); + } + // Pull right (secondary) nav content + .navbar .nav.pull-right { + float: none; + margin-left: 0; + } + // Static navbar + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } + // Navbar button + .btn-navbar { + display: block; + } + + // Hide everything in the navbar save .brand and toggle button */ + .nav-collapse { + overflow: hidden; + height: 0; + } +} + + + +// DEFAULT DESKTOP +// --------------- + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + } +} + + + +// LARGE DESKTOP & UP +// ------------------ + +@media (min-width: 1200px) { + + // Fixed grid + #gridSystem > .generate(12, 70px, 30px); + + // Fluid grid + #fluidGridSystem > .generate(12, 5.982905983%, 2.564102564%); + + // Input grid + #inputGridSystem > .generate(12, 70px, 30px); + + // Thumbnails + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + +} diff --git a/docs/assets/less/twbs-201/scaffolding.less b/docs/assets/less/twbs-201/scaffolding.less new file mode 100755 index 000000000..47ce53818 --- /dev/null +++ b/docs/assets/less/twbs-201/scaffolding.less @@ -0,0 +1,29 @@ +// Scaffolding +// Basic and global styles for generating a grid system, structural layout, and page templates +// ------------------------------------------------------------------------------------------- + + +// STRUCTURAL LAYOUT +// ----------------- + +body { + margin: 0; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @textColor; + background-color: @white; +} + + +// LINKS +// ----- + +a { + color: @linkColor; + text-decoration: none; +} +a:hover { + color: @linkColorHover; + text-decoration: underline; +} diff --git a/docs/assets/less/twbs-201/sprites.less b/docs/assets/less/twbs-201/sprites.less new file mode 100755 index 000000000..a7741661e --- /dev/null +++ b/docs/assets/less/twbs-201/sprites.less @@ -0,0 +1,158 @@ +// SPRITES +// Glyphs and icons for buttons, nav, and more +// ------------------------------------------- + + +// ICONS +// ----- + +// All icons receive the styles of the tag with a base class +// of .i and are then given a unique class to add width, height, +// and background-position. Your resulting HTML will look like +// . + +// For the white version of the icons, just add the .icon-white class: +// + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + line-height: 14px; + vertical-align: text-top; + background-image: url(@iconSpritePath); + background-position: 14px 14px; + background-repeat: no-repeat; + + .ie7-restore-right-whitespace(); +} +.icon-white { + background-image: url(@iconWhiteSpritePath); +} + +.icon-glass { background-position: 0 0; } +.icon-music { background-position: -24px 0; } +.icon-search { background-position: -48px 0; } +.icon-envelope { background-position: -72px 0; } +.icon-heart { background-position: -96px 0; } +.icon-star { background-position: -120px 0; } +.icon-star-empty { background-position: -144px 0; } +.icon-user { background-position: -168px 0; } +.icon-film { background-position: -192px 0; } +.icon-th-large { background-position: -216px 0; } +.icon-th { background-position: -240px 0; } +.icon-th-list { background-position: -264px 0; } +.icon-ok { background-position: -288px 0; } +.icon-remove { background-position: -312px 0; } +.icon-zoom-in { background-position: -336px 0; } +.icon-zoom-out { background-position: -360px 0; } +.icon-off { background-position: -384px 0; } +.icon-signal { background-position: -408px 0; } +.icon-cog { background-position: -432px 0; } +.icon-trash { background-position: -456px 0; } + +.icon-home { background-position: 0 -24px; } +.icon-file { background-position: -24px -24px; } +.icon-time { background-position: -48px -24px; } +.icon-road { background-position: -72px -24px; } +.icon-download-alt { background-position: -96px -24px; } +.icon-download { background-position: -120px -24px; } +.icon-upload { background-position: -144px -24px; } +.icon-inbox { background-position: -168px -24px; } +.icon-play-circle { background-position: -192px -24px; } +.icon-repeat { background-position: -216px -24px; } +.icon-refresh { background-position: -240px -24px; } +.icon-list-alt { background-position: -264px -24px; } +.icon-lock { background-position: -287px -24px; } // 1px off +.icon-flag { background-position: -312px -24px; } +.icon-headphones { background-position: -336px -24px; } +.icon-volume-off { background-position: -360px -24px; } +.icon-volume-down { background-position: -384px -24px; } +.icon-volume-up { background-position: -408px -24px; } +.icon-qrcode { background-position: -432px -24px; } +.icon-barcode { background-position: -456px -24px; } + +.icon-tag { background-position: 0 -48px; } +.icon-tags { background-position: -25px -48px; } // 1px off +.icon-book { background-position: -48px -48px; } +.icon-bookmark { background-position: -72px -48px; } +.icon-print { background-position: -96px -48px; } +.icon-camera { background-position: -120px -48px; } +.icon-font { background-position: -144px -48px; } +.icon-bold { background-position: -167px -48px; } // 1px off +.icon-italic { background-position: -192px -48px; } +.icon-text-height { background-position: -216px -48px; } +.icon-text-width { background-position: -240px -48px; } +.icon-align-left { background-position: -264px -48px; } +.icon-align-center { background-position: -288px -48px; } +.icon-align-right { background-position: -312px -48px; } +.icon-align-justify { background-position: -336px -48px; } +.icon-list { background-position: -360px -48px; } +.icon-indent-left { background-position: -384px -48px; } +.icon-indent-right { background-position: -408px -48px; } +.icon-facetime-video { background-position: -432px -48px; } +.icon-picture { background-position: -456px -48px; } + +.icon-pencil { background-position: 0 -72px; } +.icon-map-marker { background-position: -24px -72px; } +.icon-adjust { background-position: -48px -72px; } +.icon-tint { background-position: -72px -72px; } +.icon-edit { background-position: -96px -72px; } +.icon-share { background-position: -120px -72px; } +.icon-check { background-position: -144px -72px; } +.icon-move { background-position: -168px -72px; } +.icon-step-backward { background-position: -192px -72px; } +.icon-fast-backward { background-position: -216px -72px; } +.icon-backward { background-position: -240px -72px; } +.icon-play { background-position: -264px -72px; } +.icon-pause { background-position: -288px -72px; } +.icon-stop { background-position: -312px -72px; } +.icon-forward { background-position: -336px -72px; } +.icon-fast-forward { background-position: -360px -72px; } +.icon-step-forward { background-position: -384px -72px; } +.icon-eject { background-position: -408px -72px; } +.icon-chevron-left { background-position: -432px -72px; } +.icon-chevron-right { background-position: -456px -72px; } + +.icon-plus-sign { background-position: 0 -96px; } +.icon-minus-sign { background-position: -24px -96px; } +.icon-remove-sign { background-position: -48px -96px; } +.icon-ok-sign { background-position: -72px -96px; } +.icon-question-sign { background-position: -96px -96px; } +.icon-info-sign { background-position: -120px -96px; } +.icon-screenshot { background-position: -144px -96px; } +.icon-remove-circle { background-position: -168px -96px; } +.icon-ok-circle { background-position: -192px -96px; } +.icon-ban-circle { background-position: -216px -96px; } +.icon-arrow-left { background-position: -240px -96px; } +.icon-arrow-right { background-position: -264px -96px; } +.icon-arrow-up { background-position: -289px -96px; } // 1px off +.icon-arrow-down { background-position: -312px -96px; } +.icon-share-alt { background-position: -336px -96px; } +.icon-resize-full { background-position: -360px -96px; } +.icon-resize-small { background-position: -384px -96px; } +.icon-plus { background-position: -408px -96px; } +.icon-minus { background-position: -433px -96px; } +.icon-asterisk { background-position: -456px -96px; } + +.icon-exclamation-sign { background-position: 0 -120px; } +.icon-gift { background-position: -24px -120px; } +.icon-leaf { background-position: -48px -120px; } +.icon-fire { background-position: -72px -120px; } +.icon-eye-open { background-position: -96px -120px; } +.icon-eye-close { background-position: -120px -120px; } +.icon-warning-sign { background-position: -144px -120px; } +.icon-plane { background-position: -168px -120px; } +.icon-calendar { background-position: -192px -120px; } +.icon-random { background-position: -216px -120px; } +.icon-comment { background-position: -240px -120px; } +.icon-magnet { background-position: -264px -120px; } +.icon-chevron-up { background-position: -288px -120px; } +.icon-chevron-down { background-position: -313px -119px; } // 1px off +.icon-retweet { background-position: -336px -120px; } +.icon-shopping-cart { background-position: -360px -120px; } +.icon-folder-close { background-position: -384px -120px; } +.icon-folder-open { background-position: -408px -120px; } +.icon-resize-vertical { background-position: -432px -119px; } +.icon-resize-horizontal { background-position: -456px -118px; } diff --git a/docs/assets/less/twbs-201/tables.less b/docs/assets/less/twbs-201/tables.less new file mode 100755 index 000000000..3a4066d71 --- /dev/null +++ b/docs/assets/less/twbs-201/tables.less @@ -0,0 +1,150 @@ +// +// Tables.less +// Tables for, you guessed it, tabular data +// ---------------------------------------- + + +// BASE TABLES +// ----------------- + +table { + max-width: 100%; + border-collapse: collapse; + border-spacing: 0; +} + +// BASELINE STYLES +// --------------- + +.table { + width: 100%; + margin-bottom: @baseLineHeight; + // Cells + th, + td { + padding: 8px; + line-height: @baseLineHeight; + text-align: left; + vertical-align: top; + border-top: 1px solid #ddd; + } + th { + font-weight: bold; + } + // Bottom align for column headings + thead th { + vertical-align: bottom; + } + // Remove top border from thead by default + thead:first-child tr th, + thead:first-child tr td { + border-top: 0; + } + // Account for multiple tbody instances + tbody + tbody { + border-top: 2px solid #ddd; + } +} + + + +// CONDENSED TABLE W/ HALF PADDING +// ------------------------------- + +.table-condensed { + th, + td { + padding: 4px 5px; + } +} + + +// BORDERED VERSION +// ---------------- + +.table-bordered { + border: 1px solid #ddd; + border-collapse: separate; // Done so we can round those corners! + *border-collapse: collapsed; // IE7 can't round corners anyway + .border-radius(4px); + th + th, + td + td, + th + td, + td + th { + border-left: 1px solid #ddd; + } + // Prevent a double border + thead:first-child tr:first-child th, + tbody:first-child tr:first-child th, + tbody:first-child tr:first-child td { + border-top: 0; + } + // For first th or td in the first row in the first thead or tbody + thead:first-child tr:first-child th:first-child, + tbody:first-child tr:first-child td:first-child { + .border-radius(4px 0 0 0); + } + thead:first-child tr:first-child th:last-child, + tbody:first-child tr:first-child td:last-child { + .border-radius(0 4px 0 0); + } + // For first th or td in the first row in the first thead or tbody + thead:last-child tr:last-child th:first-child, + tbody:last-child tr:last-child td:first-child { + .border-radius(0 0 0 4px); + } + thead:last-child tr:last-child th:last-child, + tbody:last-child tr:last-child td:last-child { + .border-radius(0 0 4px 0); + } +} + + +// ZEBRA-STRIPING +// -------------- + +// Default zebra-stripe styles (alternating gray and transparent backgrounds) +.table-striped { + tbody { + tr:nth-child(odd) td, + tr:nth-child(odd) th { + background-color: #f9f9f9; + } + } +} + + +// HOVER EFFECT +// ------------ +// Placed here since it has to come after the potential zebra striping +.table { + tbody tr:hover td, + tbody tr:hover th { + background-color: #f5f5f5; + } +} + + +// TABLE CELL SIZING +// ----------------- + +// Change the columns +.tableColumns(@columnSpan: 1) { + float: none; + width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; + margin-left: 0; +} +table { + .span1 { .tableColumns(1); } + .span2 { .tableColumns(2); } + .span3 { .tableColumns(3); } + .span4 { .tableColumns(4); } + .span5 { .tableColumns(5); } + .span6 { .tableColumns(6); } + .span7 { .tableColumns(7); } + .span8 { .tableColumns(8); } + .span9 { .tableColumns(9); } + .span10 { .tableColumns(10); } + .span11 { .tableColumns(11); } + .span12 { .tableColumns(12); } +} diff --git a/docs/assets/less/twbs-201/thumbnails.less b/docs/assets/less/twbs-201/thumbnails.less new file mode 100755 index 000000000..3a12d4e50 --- /dev/null +++ b/docs/assets/less/twbs-201/thumbnails.less @@ -0,0 +1,35 @@ +// THUMBNAILS +// ---------- + +.thumbnails { + margin-left: -@gridGutterWidth; + list-style: none; + .clearfix(); +} +.thumbnails > li { + float: left; + margin: 0 0 @baseLineHeight @gridGutterWidth; +} +.thumbnail { + display: block; + padding: 4px; + line-height: 1; + border: 1px solid #ddd; + .border-radius(4px); + .box-shadow(0 1px 1px rgba(0,0,0,.075)); +} +// Add a hover state for linked versions only +a.thumbnail:hover { + border-color: @linkColor; + .box-shadow(0 1px 4px rgba(0,105,214,.25)); +} +// Images and captions +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; +} diff --git a/docs/assets/less/twbs-201/tooltip.less b/docs/assets/less/twbs-201/tooltip.less new file mode 100755 index 000000000..5111a193f --- /dev/null +++ b/docs/assets/less/twbs-201/tooltip.less @@ -0,0 +1,35 @@ +// TOOLTIP +// ------= + +.tooltip { + position: absolute; + z-index: @zindexTooltip; + display: block; + visibility: visible; + padding: 5px; + font-size: 11px; + .opacity(0); + &.in { .opacity(80); } + &.top { margin-top: -2px; } + &.right { margin-left: 2px; } + &.bottom { margin-top: 2px; } + &.left { margin-left: -2px; } + &.top .tooltip-arrow { #popoverArrow > .top(); } + &.left .tooltip-arrow { #popoverArrow > .left(); } + &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } + &.right .tooltip-arrow { #popoverArrow > .right(); } +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: @white; + text-align: center; + text-decoration: none; + background-color: @black; + .border-radius(4px); +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; +} diff --git a/docs/assets/less/twbs-201/type.less b/docs/assets/less/twbs-201/type.less new file mode 100755 index 000000000..6ba83bc3a --- /dev/null +++ b/docs/assets/less/twbs-201/type.less @@ -0,0 +1,218 @@ +// Typography.less +// Headings, body text, lists, code, and more for a versatile and durable typography system +// ---------------------------------------------------------------------------------------- + + +// BODY TEXT +// --------- + +p { + margin: 0 0 @baseLineHeight / 2; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + small { + font-size: @baseFontSize - 2; + color: @grayLight; + } +} +.lead { + margin-bottom: @baseLineHeight; + font-size: 20px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; +} + +// HEADINGS +// -------- + +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-weight: bold; + color: @grayDark; + text-rendering: optimizelegibility; // Fix the character spacing for headings + small { + font-weight: normal; + color: @grayLight; + } +} +h1 { + font-size: 30px; + line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h2 { + font-size: 24px; + line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h3 { + line-height: @baseLineHeight * 1.5; + font-size: 18px; + small { + font-size: 14px; + } +} +h4, h5, h6 { + line-height: @baseLineHeight; +} +h4 { + font-size: 14px; + small { + font-size: 12px; + } +} +h5 { + font-size: 12px; +} +h6 { + font-size: 11px; + color: @grayLight; + text-transform: uppercase; +} + +// Page header +.page-header { + padding-bottom: @baseLineHeight - 1; + margin: @baseLineHeight 0; + border-bottom: 1px solid @grayLighter; +} +.page-header h1 { + line-height: 1; +} + + + +// LISTS +// ----- + +// Unordered and Ordered lists +ul, ol { + padding: 0; + margin: 0 0 @baseLineHeight / 2 25px; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} +ul { + list-style: disc; +} +ol { + list-style: decimal; +} +li { + line-height: @baseLineHeight; +} +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +// Description Lists +dl { + margin-bottom: @baseLineHeight; +} +dt, +dd { + line-height: @baseLineHeight; +} +dt { + font-weight: bold; +} +dd { + margin-left: @baseLineHeight / 2; +} + +// MISC +// ---- + +// Horizontal rules +hr { + margin: @baseLineHeight 0; + border: 0; + border-top: 1px solid @hrBorder; + border-bottom: 1px solid @white; +} + +// Emphasis +strong { + font-weight: bold; +} +em { + font-style: italic; +} +.muted { + color: @grayLight; +} + +// Abbreviations and acronyms +abbr { + font-size: 90%; + text-transform: uppercase; + border-bottom: 1px dotted #ddd; + cursor: help; +} + +// Blockquotes +blockquote { + padding: 0 0 0 15px; + margin: 0 0 @baseLineHeight; + border-left: 5px solid @grayLighter; + p { + margin-bottom: 0; + #font > .shorthand(16px,300,@baseLineHeight * 1.25); + } + small { + display: block; + line-height: @baseLineHeight; + color: @grayLight; + &:before { + content: '\2014 \00A0'; + } + } + + // Float right with text-align: right + &.pull-right { + float: right; + padding-left: 0; + padding-right: 15px; + border-left: 0; + border-right: 5px solid @grayLighter; + p, + small { + text-align: right; + } + } +} + +// Quotes +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +// Addresses +address { + display: block; + margin-bottom: @baseLineHeight; + line-height: @baseLineHeight; + font-style: normal; +} + +// Misc +small { + font-size: 100%; +} +cite { + font-style: normal; +} diff --git a/docs/assets/less/twbs-201/utilities.less b/docs/assets/less/twbs-201/utilities.less new file mode 100755 index 000000000..d60d22031 --- /dev/null +++ b/docs/assets/less/twbs-201/utilities.less @@ -0,0 +1,23 @@ +// UTILITY CLASSES +// --------------- + +// Quick floats +.pull-right { + float: right; +} +.pull-left { + float: left; +} + +// Toggling content +.hide { + display: none; +} +.show { + display: block; +} + +// Visibility +.invisible { + visibility: hidden; +} diff --git a/docs/assets/less/twbs-201/variables.less b/docs/assets/less/twbs-201/variables.less new file mode 100755 index 000000000..3d448ab21 --- /dev/null +++ b/docs/assets/less/twbs-201/variables.less @@ -0,0 +1,107 @@ +// Variables.less +// Variables to customize the look and feel of Bootstrap +// ----------------------------------------------------- + + + +// GLOBAL VALUES +// -------------------------------------------------- + +// Links +@linkColor: #08c; +@linkColorHover: darken(@linkColor, 15%); + +// Grays +@black: #000; +@grayDarker: #222; +@grayDark: #333; +@gray: #555; +@grayLight: #999; +@grayLighter: #eee; +@white: #fff; + +// Accent colors +@blue: #049cdb; +@blueDark: #0064cd; +@green: #46a546; +@red: #9d261d; +@yellow: #ffc40d; +@orange: #f89406; +@pink: #c3325f; +@purple: #7a43b6; + +// Typography +@baseFontSize: 13px; +@baseFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif; +@baseLineHeight: 18px; +@textColor: @grayDark; + +// Buttons +@primaryButtonBackground: @linkColor; + + + +// COMPONENT VARIABLES +// -------------------------------------------------- + +// Z-index master list +// Used for a bird's eye view of components dependent on the z-axis +// Try to avoid customizing these :) +@zindexDropdown: 1000; +@zindexPopover: 1010; +@zindexTooltip: 1020; +@zindexFixedNavbar: 1030; +@zindexModalBackdrop: 1040; +@zindexModal: 1050; + +// Sprite icons path +@iconSpritePath: "../img/glyphicons-halflings.png"; +@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png"; + +// Input placeholder text color +@placeholderText: @grayLight; + +// Hr border color +@hrBorder: @grayLighter; + +// Navbar +@navbarHeight: 40px; +@navbarBackground: @grayDarker; +@navbarBackgroundHighlight: @grayDark; +@navbarLinkBackgroundHover: transparent; + +@navbarText: @grayLight; +@navbarLinkColor: @grayLight; +@navbarLinkColorHover: @white; + +// Form states and alerts +@warningText: #c09853; +@warningBackground: #fcf8e3; +@warningBorder: darken(spin(@warningBackground, -10), 3%); + +@errorText: #b94a48; +@errorBackground: #f2dede; +@errorBorder: darken(spin(@errorBackground, -10), 3%); + +@successText: #468847; +@successBackground: #dff0d8; +@successBorder: darken(spin(@successBackground, -10), 5%); + +@infoText: #3a87ad; +@infoBackground: #d9edf7; +@infoBorder: darken(spin(@infoBackground, -10), 7%); + + + +// GRID +// -------------------------------------------------- + +// Default 940px grid +@gridColumns: 12; +@gridColumnWidth: 60px; +@gridGutterWidth: 20px; +@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); + +// Fluid grid +@fluidGridColumnWidth: 6.382978723%; +@fluidGridGutterWidth: 2.127659574%; diff --git a/docs/assets/less/twbs-201/wells.less b/docs/assets/less/twbs-201/wells.less new file mode 100755 index 000000000..244b8ca10 --- /dev/null +++ b/docs/assets/less/twbs-201/wells.less @@ -0,0 +1,17 @@ +// WELLS +// ----- + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #eee; + border: 1px solid rgba(0,0,0,.05); + .border-radius(4px); + .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); + blockquote { + border-color: #ddd; + border-color: rgba(0,0,0,.15); + } +} diff --git a/docs/assets/less/twbs-203/.svn/all-wcprops b/docs/assets/less/twbs-203/.svn/all-wcprops new file mode 100644 index 000000000..3b484b95d --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/all-wcprops @@ -0,0 +1,245 @@ +K 25 +svn:wc:ra_dav:version-url +V 93 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203 +END +responsive-1200px-min.less +K 25 +svn:wc:ra_dav:version-url +V 120 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/responsive-1200px-min.less +END +grid.less +K 25 +svn:wc:ra_dav:version-url +V 103 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/grid.less +END +tables.less +K 25 +svn:wc:ra_dav:version-url +V 105 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/tables.less +END +wells.less +K 25 +svn:wc:ra_dav:version-url +V 104 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/wells.less +END +dropdowns.less +K 25 +svn:wc:ra_dav:version-url +V 108 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/dropdowns.less +END +labels-badges.less +K 25 +svn:wc:ra_dav:version-url +V 112 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/labels-badges.less +END +responsive-767px-max.less +K 25 +svn:wc:ra_dav:version-url +V 119 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/responsive-767px-max.less +END +responsive-768px-979px.less +K 25 +svn:wc:ra_dav:version-url +V 121 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/responsive-768px-979px.less +END +type.less +K 25 +svn:wc:ra_dav:version-url +V 103 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/type.less +END +close.less +K 25 +svn:wc:ra_dav:version-url +V 104 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/close.less +END +alerts.less +K 25 +svn:wc:ra_dav:version-url +V 105 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/alerts.less +END +responsive.less +K 25 +svn:wc:ra_dav:version-url +V 109 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/responsive.less +END +navs.less +K 25 +svn:wc:ra_dav:version-url +V 103 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/navs.less +END +button-groups.less +K 25 +svn:wc:ra_dav:version-url +V 112 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/button-groups.less +END +reset.less +K 25 +svn:wc:ra_dav:version-url +V 104 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/reset.less +END +bootstrap.less +K 25 +svn:wc:ra_dav:version-url +V 108 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/bootstrap.less +END +popovers.less +K 25 +svn:wc:ra_dav:version-url +V 107 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/popovers.less +END +scaffolding.less +K 25 +svn:wc:ra_dav:version-url +V 110 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/scaffolding.less +END +layouts.less +K 25 +svn:wc:ra_dav:version-url +V 106 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/layouts.less +END +responsive-navbar.less +K 25 +svn:wc:ra_dav:version-url +V 116 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/responsive-navbar.less +END +thumbnails.less +K 25 +svn:wc:ra_dav:version-url +V 109 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/thumbnails.less +END +modals.less +K 25 +svn:wc:ra_dav:version-url +V 105 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/modals.less +END +pager.less +K 25 +svn:wc:ra_dav:version-url +V 104 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/pager.less +END +tooltip.less +K 25 +svn:wc:ra_dav:version-url +V 106 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/tooltip.less +END +buttons.less +K 25 +svn:wc:ra_dav:version-url +V 106 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/buttons.less +END +carousel.less +K 25 +svn:wc:ra_dav:version-url +V 107 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/carousel.less +END +progress-bars.less +K 25 +svn:wc:ra_dav:version-url +V 112 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/progress-bars.less +END +component-animations.less +K 25 +svn:wc:ra_dav:version-url +V 119 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/component-animations.less +END +pagination.less +K 25 +svn:wc:ra_dav:version-url +V 109 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/pagination.less +END +hero-unit.less +K 25 +svn:wc:ra_dav:version-url +V 108 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/hero-unit.less +END +variables.less +K 25 +svn:wc:ra_dav:version-url +V 108 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/variables.less +END +mixins.less +K 25 +svn:wc:ra_dav:version-url +V 105 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/mixins.less +END +responsive-utilities.less +K 25 +svn:wc:ra_dav:version-url +V 119 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/responsive-utilities.less +END +breadcrumbs.less +K 25 +svn:wc:ra_dav:version-url +V 110 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/breadcrumbs.less +END +navbar.less +K 25 +svn:wc:ra_dav:version-url +V 105 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/navbar.less +END +forms.less +K 25 +svn:wc:ra_dav:version-url +V 104 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/forms.less +END +sprites.less +K 25 +svn:wc:ra_dav:version-url +V 106 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/sprites.less +END +code.less +K 25 +svn:wc:ra_dav:version-url +V 103 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/code.less +END +utilities.less +K 25 +svn:wc:ra_dav:version-url +V 108 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/utilities.less +END +accordion.less +K 25 +svn:wc:ra_dav:version-url +V 108 +/svn/!svn/ver/12380/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203/accordion.less +END diff --git a/docs/assets/less/twbs-203/.svn/entries b/docs/assets/less/twbs-203/.svn/entries new file mode 100644 index 000000000..0d8d48b8e --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/entries @@ -0,0 +1,1395 @@ +10 + +dir +12911 +https://kyruus.jira.com/svn/KYRUUS/branches/lij_passport/profiles_project/common/static/less/twbs-203 +https://kyruus.jira.com/svn + + + +2012-05-01T16:11:02.793246Z +12380 +dgandy + + + + + + + + + + + + + + +e6edf6fb-f266-4316-afb4-e53d95876a76 + + + + + + +0 + +accordion.less +file + + + + +2012-04-24T22:06:40.000000Z +8c8abed8bdc67bd83cfb620e6198d997 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +578 + +alerts.less +file + + + + +2012-04-24T22:06:40.000000Z +c69f595f56b494c1beb44f0221d06399 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1044 + +bootstrap.less +file + + + + +2012-04-30T20:24:34.000000Z +91bc00882c1002b1b449a8621266976c +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1496 + +breadcrumbs.less +file + + + + +2012-04-24T22:06:40.000000Z +0650af9a22fbf6217a0f2928013ea74a +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +443 + +button-groups.less +file + + + + +2012-04-24T22:06:40.000000Z +323cc2deb60cbbd845184611b420f9f5 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +4788 + +buttons.less +file + + + + +2012-04-24T22:06:40.000000Z +79178335cdf871c7705a4659228b50fe +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +4331 + +carousel.less +file + + + + +2012-04-24T22:06:40.000000Z +3ad7d4b5a908686f352f0cdc085644b3 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1802 + +close.less +file + + + + +2012-04-24T22:06:40.000000Z +87830691fdee3b6155c8e1a133879f43 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +590 + +code.less +file + + + + +2012-04-24T22:06:40.000000Z +5a3751f55d46deff73cc2c787085362c +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1247 + +component-animations.less +file + + + + +2012-04-24T22:06:40.000000Z +4c846c9254f565742b76aa2b409999c9 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +275 + +dropdowns.less +file + + + + +2012-04-24T22:06:40.000000Z +2fb22aa2f63a68489735ea3d99348744 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +3165 + +forms.less +file + + + + +2012-04-24T22:06:40.000000Z +847d2a7dd63fc0c823d2123d0e2aeed7 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +12590 + +grid.less +file + + + + +2012-04-24T22:06:40.000000Z +1b5204e753f0d3f41d6cfc2b9ba20b44 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +147 + +hero-unit.less +file + + + + +2012-04-24T22:06:40.000000Z +a8eea6d528b2e7b0766adc775d9552a6 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +404 + +labels-badges.less +file + + + + +2012-04-24T22:06:40.000000Z +92dd108b61d12c43139cd000c694648d +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1509 + +layouts.less +file + + + + +2012-04-24T22:06:40.000000Z +47af2c7991bad7e0b42f90d5e584f25c +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +371 + +mixins.less +file + + + + +2012-04-24T22:06:40.000000Z +2fb8616bb0dd70abcb3d7b09b808125e +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +19923 + +modals.less +file + + + + +2012-04-24T22:06:40.000000Z +12c70430a4acf0f93e9c227e59019970 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +2020 + +navbar.less +file + + + + +2012-04-24T22:06:40.000000Z +6bcbbd54507a33d5c0569094a7c405df +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +8605 + +navs.less +file + + + + +2012-04-24T22:06:40.000000Z +ef83028f10aa5cfa3e79b5251e8f7372 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +7055 + +pager.less +file + + + + +2012-04-24T22:06:40.000000Z +3092cfa00bf43f9fffe54b51fab55007 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +567 + +pagination.less +file + + + + +2012-04-24T22:06:40.000000Z +de59643b6a4fb9aff0c3c504f66faa2a +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1045 + +popovers.less +file + + + + +2012-04-24T22:06:40.000000Z +1f9ce2fdc6aa4033c652c6e71cd40889 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1101 + +progress-bars.less +file + + + + +2012-04-24T22:06:40.000000Z +1240b72424fc1adcbf3d63a48621befd +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +2444 + +reset.less +file + + + + +2012-04-24T22:06:40.000000Z +1b3f7cdf57943f1aae18db2e9ff93094 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +2491 + +responsive-1200px-min.less +file + + + + +2012-04-24T22:06:40.000000Z +016a9113fa035381eb8aaaf83921fe86 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +393 + +responsive-767px-max.less +file + + + + +2012-04-24T22:06:40.000000Z +384b4e2d8112abe215d36151bcc795a5 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +3024 + +responsive-768px-979px.less +file + + + + +2012-04-24T22:06:40.000000Z +39eea3e095c80f1d5de2020016ad19bd +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +364 + +responsive-navbar.less +file + + + + +2012-04-24T22:06:40.000000Z +9599bcbdc954af3ae6519c9d09fb173d +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +3183 + +responsive-utilities.less +file + + + + +2012-04-24T22:06:40.000000Z +adb7d6e1975cb4ea7f25ebfbfdfb66b9 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1136 + +responsive.less +file + + + + +2012-04-24T22:06:40.000000Z +d76e35c0789dead90b9d8daa641734cb +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1069 + +scaffolding.less +file + + + + +2012-04-24T22:06:40.000000Z +64e398909decd96ae167eb875aca19b9 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +549 + +sprites.less +file + + + + +2012-04-24T22:06:40.000000Z +f68c09c5547fe70f053c647c5e2eaa53 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +9955 + +tables.less +file + + + + +2012-04-24T22:06:40.000000Z +57615697c5cdf35a2e116dde7524c27d +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +4403 + +thumbnails.less +file + + + + +2012-04-24T22:06:40.000000Z +547998e60bcd325dfe9b62ba82e0854e +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +1042 + +tooltip.less +file + + + + +2012-04-24T22:06:40.000000Z +f6a511f39ea1ec36ff5ffc1c7fe5e083 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +803 + +type.less +file + + + + +2012-04-24T22:06:40.000000Z +64d6cabe5df32203a60b3ba33e39b3f0 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +3628 + +utilities.less +file + + + + +2012-04-24T22:06:40.000000Z +1e01496d9d0ba0bad14d2f14ce120a54 +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +245 + +variables.less +file + + + + +2012-04-24T22:06:40.000000Z +aaecfe433a4bccee1216537ec620358e +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +5968 + +wells.less +file + + + + +2012-04-24T22:06:40.000000Z +5b520263162640aa11338d65612a5b1f +2012-05-01T16:11:02.793246Z +12380 +dgandy +has-props + + + + + + + + + + + + + + + + + + + + +451 + diff --git a/docs/assets/less/twbs-203/.svn/prop-base/accordion.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/accordion.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/accordion.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/alerts.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/alerts.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/alerts.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/bootstrap.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/bootstrap.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/bootstrap.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/breadcrumbs.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/breadcrumbs.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/breadcrumbs.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/button-groups.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/button-groups.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/button-groups.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/buttons.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/buttons.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/buttons.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/carousel.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/carousel.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/carousel.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/close.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/close.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/close.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/code.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/code.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/code.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/component-animations.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/component-animations.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/component-animations.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/dropdowns.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/dropdowns.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/dropdowns.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/forms.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/forms.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/forms.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/grid.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/grid.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/grid.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/hero-unit.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/hero-unit.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/hero-unit.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/labels-badges.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/labels-badges.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/labels-badges.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/layouts.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/layouts.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/layouts.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/mixins.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/mixins.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/mixins.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/modals.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/modals.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/modals.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/navbar.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/navbar.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/navbar.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/navs.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/navs.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/navs.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/pager.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/pager.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/pager.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/pagination.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/pagination.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/pagination.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/popovers.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/popovers.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/popovers.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/progress-bars.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/progress-bars.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/progress-bars.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/reset.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/reset.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/reset.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/responsive-1200px-min.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/responsive-1200px-min.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/responsive-1200px-min.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/responsive-767px-max.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/responsive-767px-max.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/responsive-767px-max.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/responsive-768px-979px.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/responsive-768px-979px.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/responsive-768px-979px.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/responsive-navbar.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/responsive-navbar.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/responsive-navbar.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/responsive-utilities.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/responsive-utilities.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/responsive-utilities.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/responsive.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/responsive.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/responsive.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/scaffolding.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/scaffolding.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/scaffolding.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/sprites.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/sprites.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/sprites.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/tables.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/tables.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/tables.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/thumbnails.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/thumbnails.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/thumbnails.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/tooltip.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/tooltip.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/tooltip.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/type.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/type.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/type.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/utilities.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/utilities.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/utilities.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/variables.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/variables.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/variables.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/prop-base/wells.less.svn-base b/docs/assets/less/twbs-203/.svn/prop-base/wells.less.svn-base new file mode 100644 index 000000000..869ac71cf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/prop-base/wells.less.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/docs/assets/less/twbs-203/.svn/text-base/accordion.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/accordion.less.svn-base new file mode 100644 index 000000000..31b8cdc33 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/accordion.less.svn-base @@ -0,0 +1,33 @@ +// ACCORDION +// --------- + + +// Parent container +.accordion { + margin-bottom: @baseLineHeight; +} + +// Group == heading + body +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + .border-radius(4px); +} +.accordion-heading { + border-bottom: 0; +} +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +// General toggle styles +.accordion-toggle { + cursor: pointer; +} + +// Inner needs the styles because you can't animate properly with any styles on the element +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/alerts.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/alerts.less.svn-base new file mode 100644 index 000000000..46a0d77bf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/alerts.less.svn-base @@ -0,0 +1,58 @@ +// ALERT STYLES +// ------------ + +// Base alert styles +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: @baseLineHeight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + background-color: @warningBackground; + border: 1px solid @warningBorder; + .border-radius(4px); + color: @warningText; +} +.alert-heading { + color: inherit; +} + +// Adjust close link position +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} + +// Alternate styles +// ---------------- + +.alert-success { + background-color: @successBackground; + border-color: @successBorder; + color: @successText; +} +.alert-danger, +.alert-error { + background-color: @errorBackground; + border-color: @errorBorder; + color: @errorText; +} +.alert-info { + background-color: @infoBackground; + border-color: @infoBorder; + color: @infoText; +} + +// Block alerts +// ------------------------ +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/bootstrap.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/bootstrap.less.svn-base new file mode 100644 index 000000000..78c15db4c --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/bootstrap.less.svn-base @@ -0,0 +1,62 @@ +/*! + * Bootstrap v2.0.3 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +// CSS Reset +@import "reset.less"; + +// Core variables and mixins +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + +// Grid system and page structure +@import "scaffolding.less"; +@import "grid.less"; +@import "layouts.less"; + +// Base CSS +@import "type.less"; +@import "code.less"; +@import "forms.less"; +@import "tables.less"; + +// Components: common +@import "../../font/font-awesome/font-awesome.less"; +@import "dropdowns.less"; +@import "wells.less"; +@import "component-animations.less"; +@import "close.less"; + +// Components: Buttons & Alerts +@import "buttons.less"; +@import "button-groups.less"; +@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less + +// Components: Nav +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; + +// Components: Popovers +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; + +// Components: Misc +@import "thumbnails.less"; +@import "labels-badges.less"; +@import "progress-bars.less"; +@import "accordion.less"; +@import "carousel.less"; +@import "hero-unit.less"; + +// Utility classes +@import "utilities.less"; // Has to be last to override when necessary diff --git a/docs/assets/less/twbs-203/.svn/text-base/breadcrumbs.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/breadcrumbs.less.svn-base new file mode 100644 index 000000000..111f12279 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/breadcrumbs.less.svn-base @@ -0,0 +1,24 @@ +// BREADCRUMBS +// ----------- + +.breadcrumb { + padding: 7px 14px; + margin: 0 0 @baseLineHeight; + list-style: none; + #gradient > .vertical(@white, #f5f5f5); + border: 1px solid #ddd; + .border-radius(3px); + .box-shadow(inset 0 1px 0 @white); + li { + display: inline-block; + .ie7-inline-block(); + text-shadow: 0 1px 0 @white; + } + .divider { + padding: 0 5px; + color: @grayLight; + } + .active a { + color: @grayDark; + } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/button-groups.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/button-groups.less.svn-base new file mode 100644 index 000000000..5338c5a45 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/button-groups.less.svn-base @@ -0,0 +1,191 @@ +// BUTTON GROUPS +// ------------- + + +// Make the div behave like a button +.btn-group { + position: relative; + .clearfix(); // clears the floated buttons + .ie7-restore-left-whitespace(); +} + +// Space out series of button groups +.btn-group + .btn-group { + margin-left: 5px; +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-top: @baseLineHeight / 2; + margin-bottom: @baseLineHeight / 2; + .btn-group { + display: inline-block; + .ie7-inline-block(); + } +} + +// Float them, remove border radius, then re-add to first and last elements +.btn-group > .btn { + position: relative; + float: left; + margin-left: -1px; + .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; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +// Reset corners for large buttons +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} + +// On hover/focus/active, bring the proper btn to front +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); + *padding-top: 4px; + *padding-bottom: 4px; +} +.btn-group > .btn-mini.dropdown-toggle { + padding-left: 5px; + padding-right: 5px; +} +.btn-group > .btn-small.dropdown-toggle { + *padding-top: 4px; + *padding-bottom: 4px; +} +.btn-group > .btn-large.dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +.btn-group.open { + + // The clickable button for toggling the menu + // Remove the gradient and set the same inset shadow as the :active state + .dropdown-toggle { + background-image: none; + .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); + } + + // Keep the hover's background when dropdown is open + .btn.dropdown-toggle { + background-color: @btnBackgroundHighlight; + } + .btn-primary.dropdown-toggle { + background-color: @btnPrimaryBackgroundHighlight; + } + .btn-warning.dropdown-toggle { + background-color: @btnWarningBackgroundHighlight; + } + .btn-danger.dropdown-toggle { + background-color: @btnDangerBackgroundHighlight; + } + .btn-success.dropdown-toggle { + background-color: @btnSuccessBackgroundHighlight; + } + .btn-info.dropdown-toggle { + background-color: @btnInfoBackgroundHighlight; + } + .btn-inverse.dropdown-toggle { + background-color: @btnInverseBackgroundHighlight; + } +} + + +// Reposition the caret +.btn .caret { + margin-top: 7px; + margin-left: 0; +} +.btn:hover .caret, +.open.btn-group .caret { + .opacity(100); +} +// Carets in other button sizes +.btn-mini .caret { + margin-top: 5px; +} +.btn-small .caret { + margin-top: 6px; +} +.btn-large .caret { + margin-top: 6px; + border-left-width: 5px; + border-right-width: 5px; + border-top-width: 5px; +} +// Upside down carets for .dropup +.dropup .btn-large .caret { + border-bottom: 5px solid @black; + border-top: 0; +} + + + +// Account for other colors +.btn-primary, +.btn-warning, +.btn-danger, +.btn-info, +.btn-success, +.btn-inverse { + .caret { + border-top-color: @white; + border-bottom-color: @white; + .opacity(75); + } +} + diff --git a/docs/assets/less/twbs-203/.svn/text-base/buttons.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/buttons.less.svn-base new file mode 100644 index 000000000..c44ff3e6f --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/buttons.less.svn-base @@ -0,0 +1,191 @@ +// BUTTON STYLES +// ------------- + + +// Base styles +// -------------------------------------------------- + +// Core +.btn { + display: inline-block; + .ie7-inline-block(); + padding: 4px 10px 4px; + margin-bottom: 0; // For input.btn + font-size: @baseFontSize; + line-height: @baseLineHeight; + *line-height: 20px; + color: @grayDark; + text-align: center; + text-shadow: 0 1px 1px rgba(255,255,255,.75); + vertical-align: middle; + cursor: pointer; + .buttonBackground(@btnBackground, @btnBackgroundHighlight); + border: 1px solid @btnBorder; + *border: 0; // Remove the border to prevent IE7's black border on input:focus + border-bottom-color: darken(@btnBorder, 10%); + .border-radius(4px); + .ie7-restore-left-whitespace(); // Give IE7 some love + .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); +} + +// Hover state +.btn:hover { + color: @grayDark; + text-decoration: none; + background-color: darken(@white, 10%); + *background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */ + background-position: 0 -15px; + + // transition is only when going to hover, otherwise the background + // behind the gradient (there for IE<=9 fallback) gets mismatched + .transition(background-position .1s linear); +} + +// Focus state for keyboard and accessibility +.btn:focus { + .tab-focus(); +} + +// Active state +.btn.active, +.btn:active { + background-color: darken(@white, 10%); + background-color: darken(@white, 15%) e("\9"); + background-image: none; + outline: 0; + .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); +} + +// Disabled state +.btn.disabled, +.btn[disabled] { + cursor: default; + background-color: darken(@white, 10%); + background-image: none; + .opacity(65); + .box-shadow(none); +} + + +// Button Sizes +// -------------------------------------------------- + +// Large +.btn-large { + padding: 9px 14px; + font-size: @baseFontSize + 2px; + line-height: normal; + .border-radius(5px); +} +.btn-large [class^="icon-"] { + margin-top: 1px; +} + +// Small +.btn-small { + padding: 5px 9px; + font-size: @baseFontSize - 2px; + line-height: @baseLineHeight - 2px; +} +.btn-small [class^="icon-"] { + margin-top: -1px; +} + +// Mini +.btn-mini { + padding: 2px 6px; + font-size: @baseFontSize - 2px; + line-height: @baseLineHeight - 4px; +} + + +// Alternate buttons +// -------------------------------------------------- + +// Set text color +// ------------------------- +.btn-primary, +.btn-primary:hover, +.btn-warning, +.btn-warning:hover, +.btn-danger, +.btn-danger:hover, +.btn-success, +.btn-success:hover, +.btn-info, +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); +} +// Provide *some* extra contrast for those who can get it +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255,255,255,.75); +} + +// Set the backgrounds +// ------------------------- +.btn { + // reset here as of 2.0.3 due to Recess property order + border-color: #ccc; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); +} +.btn-primary { + .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight); +} +// Warning appears are orange +.btn-warning { + .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight); +} +// Danger and error appear as red +.btn-danger { + .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight); +} +// Success appears as green +.btn-success { + .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight); +} +// Info appears as a neutral blue +.btn-info { + .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight); +} +// Inverse appears as dark gray +.btn-inverse { + .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight); +} + + +// Cross-browser Jank +// -------------------------------------------------- + +button.btn, +input[type="submit"].btn { + + // Firefox 3.6 only I believe + &::-moz-focus-inner { + padding: 0; + border: 0; + } + + // IE7 has some default padding on button controls + *padding-top: 2px; + *padding-bottom: 2px; + &.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; + } + &.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; + } + &.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; + } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/carousel.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/carousel.less.svn-base new file mode 100644 index 000000000..8fbd30315 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/carousel.less.svn-base @@ -0,0 +1,121 @@ +// CAROUSEL +// -------- + +.carousel { + position: relative; + margin-bottom: @baseLineHeight; + line-height: 1; +} + +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} + +.carousel { + + .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + } + + // Account for jankitude on images + .item > img { + display: block; + line-height: 1; + } + + .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: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: @white; + text-align: center; + background: @grayDarker; + border: 3px solid @white; + .border-radius(23px); + .opacity(50); + + // we can't have this transition here + // because webkit cancels the carousel + // animation if you trip this while + // in the middle of another animation + // ;_; + // .transition(opacity .2s linear); + + // Reposition the right one + &.right { + left: auto; + right: 15px; + } + + // Hover state + &:hover { + color: @white; + text-decoration: none; + .opacity(90); + } +} + +// Caption for text below images +// ----------------------------- + +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 10px 15px 5px; + background: @grayDark; + background: rgba(0,0,0,.75); +} +.carousel-caption h4, +.carousel-caption p { + color: @white; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/close.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/close.less.svn-base new file mode 100644 index 000000000..31fe6fcb3 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/close.less.svn-base @@ -0,0 +1,29 @@ +// CLOSE ICONS +// ----------- + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: @baseLineHeight; + color: @black; + text-shadow: 0 1px 0 rgba(255,255,255,1); + .opacity(20); + &:hover { + color: @black; + text-decoration: none; + cursor: pointer; + .opacity(40); + } +} + +// Additional properties for button version +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/.svn/text-base/code.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/code.less.svn-base new file mode 100644 index 000000000..0cae749a0 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/code.less.svn-base @@ -0,0 +1,57 @@ +// Code.less +// Code typography styles for the and
     elements
    +// --------------------------------------------------------
    +
    +// Inline and block code styles
    +code,
    +pre {
    +  padding: 0 3px 2px;
    +  #font > #family > .monospace;
    +  font-size: @baseFontSize - 1;
    +  color: @grayDark;
    +  .border-radius(3px);
    +}
    +
    +// Inline code
    +code {
    +  padding: 2px 4px;
    +  color: #d14;
    +  background-color: #f7f7f9;
    +  border: 1px solid #e1e1e8;
    +}
    +
    +// Blocks of code
    +pre {
    +  display: block;
    +  padding: (@baseLineHeight - 1) / 2;
    +  margin: 0 0 @baseLineHeight / 2;
    +  font-size: @baseFontSize * .925; // 13px to 12px
    +  line-height: @baseLineHeight;
    +  word-break: break-all;
    +  word-wrap: break-word;
    +  white-space: pre;
    +  white-space: pre-wrap;
    +  background-color: #f5f5f5;
    +  border: 1px solid #ccc; // fallback for IE7-8
    +  border: 1px solid rgba(0,0,0,.15);
    +  .border-radius(4px);
    +
    +  // Make prettyprint styles more spaced out for readability
    +  &.prettyprint {
    +    margin-bottom: @baseLineHeight;
    +  }
    +
    +  // Account for some code outputs that place code tags in pre tags
    +  code {
    +    padding: 0;
    +    color: inherit;
    +    background-color: transparent;
    +    border: 0;
    +  }
    +}
    +
    +// Enable scrollable blocks of code
    +.pre-scrollable {
    +  max-height: 340px;
    +  overflow-y: scroll;
    +}
    \ No newline at end of file
    diff --git a/docs/assets/less/twbs-203/.svn/text-base/component-animations.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/component-animations.less.svn-base
    new file mode 100644
    index 000000000..da1f2e535
    --- /dev/null
    +++ b/docs/assets/less/twbs-203/.svn/text-base/component-animations.less.svn-base
    @@ -0,0 +1,20 @@
    +// COMPONENT ANIMATIONS
    +// --------------------
    +
    +.fade {
    +  .opacity(0);
    +  .transition(opacity .15s linear);
    +  &.in {
    +    .opacity(100);
    +  }
    +}
    +
    +.collapse {
    +  position: relative;
    +  height: 0;
    +  overflow: hidden;
    +  .transition(height .35s ease);
    +  &.in {
    +    height: auto;
    +  }
    +}
    \ No newline at end of file
    diff --git a/docs/assets/less/twbs-203/.svn/text-base/dropdowns.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/dropdowns.less.svn-base
    new file mode 100644
    index 000000000..6c60385e5
    --- /dev/null
    +++ b/docs/assets/less/twbs-203/.svn/text-base/dropdowns.less.svn-base
    @@ -0,0 +1,143 @@
    +// DROPDOWN MENUS
    +// --------------
    +
    +// Use the .menu class on any 
  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle { + // The caret makes the toggle a bit too tall in IE7 + *margin-bottom: -3px; +} +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +// Dropdown arrow/caret +// -------------------- +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid @black; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; + .opacity(30); +} + +// Place the caret +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} +.dropdown:hover .caret, +.open .caret { + .opacity(100); +} + +// The dropdown menu (ul) +// ---------------------- +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindexDropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 4px 0; + margin: 1px 0 0; // override default ul + list-style: none; + background-color: @dropdownBackground; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + .border-radius(5px); + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + // Aligns the dropdown menu to right + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + .nav-divider(); + } + + // Links within the dropdown menu + a { + display: block; + padding: 3px 15px; + clear: both; + font-weight: normal; + line-height: @baseLineHeight; + color: @dropdownLinkColor; + white-space: nowrap; + } +} + +// Hover state +// ----------- +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: @dropdownLinkColorHover; + text-decoration: none; + background-color: @dropdownLinkBackgroundHover; +} + +// Open state for the dropdown +// --------------------------- +.open { + // IE7's z-index only goes to the nearest positioned ancestor, which would + // make the menu appear below buttons that appeared later on the page + *z-index: @zindexDropdown; + + .dropdown-menu { + display: block; + } +} + +// 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: 4px solid @black; + content: "\2191"; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; + } +} + +// Typeahead +// --------- +.typeahead { + margin-top: 2px; // give it some space to breathe + .border-radius(4px); +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/forms.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/forms.less.svn-base new file mode 100644 index 000000000..7d967c6b3 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/forms.less.svn-base @@ -0,0 +1,584 @@ +// Forms.less +// Base styles for various input types, form layouts, and states +// ------------------------------------------------------------- + + +// GENERAL STYLES +// -------------- + +// Make all forms have space below them +form { + margin: 0 0 @baseLineHeight; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +// Groups of fields with labels on top (legends) +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @baseLineHeight * 1.5; + font-size: @baseFontSize * 1.5; + line-height: @baseLineHeight * 2; + color: @grayDark; + border: 0; + border-bottom: 1px solid #eee; + + // Small + small { + font-size: @baseLineHeight * .75; + color: @grayLight; + } +} + +// Set font for forms +label, +input, +button, +select, +textarea { + #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here +} +input, +button, +select, +textarea { + font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element) +} + +// Identify controls by their labels +label { + display: block; + margin-bottom: 5px; + color: @grayDark; +} + +// Inputs, Textareas, Selects +input, +textarea, +select, +.uneditable-input { + display: inline-block; + width: 210px; + height: @baseLineHeight; + padding: 4px; + margin-bottom: 9px; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @gray; + background-color: @inputBackground; + border: 1px solid @inputBorder; + .border-radius(@inputBorderRadius); +} +.uneditable-textarea { + width: auto; + height: auto; +} + +// Inputs within a label +label input, +label textarea, +label select { + display: block; +} + +// Mini reset for unique input types +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; /* IE7 */ + line-height: normal; + cursor: pointer; + background-color: transparent; + border: 0 \9; /* IE9 and down */ + .border-radius(0); +} +input[type="image"] { + border: 0; +} + +// Reset the file input to browser defaults +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + background-color: @inputBackground; + background-color: initial; + border: initial; + .box-shadow(none); +} + +// Help out input buttons +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; +} + +// Set the height of select and file controls to match text inputs +select, +input[type="file"] { + height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; /* For IE7, add top margin to align select with labels */ + line-height: 28px; +} + +// Reset line-height for IE +input[type="file"] { + line-height: 18px \9; +} + +// Chrome on Linux and Mobile Safari need background-color +select { + width: 220px; // default input width + 10px of padding that doesn't get applied + background-color: @inputBackground; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Remove shadow from image inputs +input[type="image"] { + .box-shadow(none); +} + +// Make textarea height behave +textarea { + height: auto; +} + +// Hidden inputs +input[type="hidden"] { + display: none; +} + + + +// CHECKBOXES & RADIOS +// ------------------- + +// Indent the labels to position radios/checkboxes as hanging +.radio, +.checkbox { + min-height: 18px; // clear the floating input if there is no label text + padding-left: 18px; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +// Move the options list down to align with labels +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; // has to be padding because margin collaspes +} + +// Radios and checkboxes on same line +// TODO v3: Convert .inline to .control-inline +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; // space out consecutive inline controls +} + + + +// FOCUS STATE +// ----------- + +input, +textarea { + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + @transition: border linear .2s, box-shadow linear .2s; + .transition(@transition); +} +input:focus, +textarea:focus { + border-color: rgba(82,168,236,.8); + outline: 0; + outline: thin dotted \9; /* IE6-9 */ + .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)"); +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + .tab-focus(); + .box-shadow(none); // override for file inputs +} + + + +// INPUT SIZES +// ----------- + +// General classes for quick sizes +.input-mini { width: 60px; } +.input-small { width: 90px; } +.input-medium { width: 150px; } +.input-large { width: 210px; } +.input-xlarge { width: 270px; } +.input-xxlarge { width: 530px; } + +// Grid style input sizes +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +// Redeclare since the fluid row class is more specific +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + + + +// GRID SIZING FOR INPUTS +// ---------------------- + +#grid > .input (@gridColumnWidth, @gridGutterWidth); + + + + +// DISABLED STATE +// -------------- + +// Disabled and read-only inputs +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: @inputDisabledBackground; + border-color: #ddd; +} +// Explicitly reset the colors here +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + + + + +// FORM FIELD FEEDBACK STATES +// -------------------------- + +// Warning +.control-group.warning { + .formFieldState(@warningText, @warningText, @warningBackground); +} +// Error +.control-group.error { + .formFieldState(@errorText, @errorText, @errorBackground); +} +// Success +.control-group.success { + .formFieldState(@successText, @successText, @successBackground); +} + +// HTML5 invalid states +// Shares styles with the .control-group.error above +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; + &:focus { + border-color: darken(#ee5f5b, 10%); + .box-shadow(0 0 6px lighten(#ee5f5b, 20%)); + } +} + + + +// FORM ACTIONS +// ------------ + +.form-actions { + padding: (@baseLineHeight - 1) 20px @baseLineHeight; + margin-top: @baseLineHeight; + margin-bottom: @baseLineHeight; + background-color: @formActionsBackground; + border-top: 1px solid #ddd; + .clearfix(); // Adding clearfix to allow for .pull-right button containers +} + +// For text that needs to appear as an input but should not be an input +.uneditable-input { + overflow: hidden; // prevent text from wrapping, but still cut it off like an input does + white-space: nowrap; + cursor: not-allowed; + background-color: @inputBackground; + border-color: #eee; + .box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); +} + +// Placeholder text gets special styles; can't be bundled together though for some reason +.placeholder(@grayLight); + + + +// HELP TEXT +// --------- + +.help-block, +.help-inline { + color: @gray; // lighten the text some for contrast +} + +.help-block { + display: block; // account for any element using help-block + margin-bottom: @baseLineHeight / 2; +} + +.help-inline { + display: inline-block; + .ie7-inline-block(); + vertical-align: middle; + padding-left: 5px; +} + + + +// INPUT GROUPS +// ------------ + +// Allow us to put symbols and text within the input field for a cleaner look +.input-prepend, +.input-append { + margin-bottom: 5px; + input, + select, + .uneditable-input { + position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness + margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms + *margin-left: 0; + vertical-align: middle; + .border-radius(0 @inputBorderRadius @inputBorderRadius 0); + // Make input on top when focused so blue border and shadow always show + &:focus { + z-index: 2; + } + } + .uneditable-input { + border-left-color: #ccc; + } + .add-on { + display: inline-block; + width: auto; + height: @baseLineHeight; + min-width: 16px; + padding: 4px 5px; + font-weight: normal; + line-height: @baseLineHeight; + text-align: center; + text-shadow: 0 1px 0 @white; + vertical-align: middle; + background-color: @grayLighter; + border: 1px solid #ccc; + } + .add-on, + .btn { + margin-left: -1px; + .border-radius(0); + } + .active { + background-color: lighten(@green, 30); + border-color: @green; + } +} +.input-prepend { + .add-on, + .btn { + margin-right: -1px; + } + .add-on:first-child, + .btn:first-child { + .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); + } +} +.input-append { + input, + select, + .uneditable-input { + .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); + } + .uneditable-input { + border-right-color: #ccc; + border-left-color: #eee; + } + .add-on:last-child, + .btn:last-child { + .border-radius(0 @inputBorderRadius @inputBorderRadius 0); + } +} +// Remove all border-radius for inputs with both prepend and append +.input-prepend.input-append { + input, + select, + .uneditable-input { + .border-radius(0); + } + .add-on:first-child, + .btn:first-child { + margin-right: -1px; + .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); + } + .add-on:last-child, + .btn:last-child { + margin-left: -1px; + .border-radius(0 @inputBorderRadius @inputBorderRadius 0); + } +} + + + +// SEARCH FORM +// ----------- + +.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ + margin-bottom: 0; // remove the default margin on all inputs + .border-radius(14px); +} + + + +// HORIZONTAL & VERTICAL FORMS +// --------------------------- + +// Common properties +// ----------------- + +.form-search, +.form-inline, +.form-horizontal { + input, + textarea, + select, + .help-inline, + .uneditable-input, + .input-prepend, + .input-append { + display: inline-block; + .ie7-inline-block(); + margin-bottom: 0; + } + // Re-hide hidden elements due to specifity + .hide { + display: none; + } +} +.form-search label, +.form-inline label { + display: inline-block; +} +// Remove margin for input-prepend/-append +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} +// Inline checkbox/radio labels (remove padding on left) +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +// Remove float and margin, set to inline-block +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + + +// Margin to space out fieldsets +.control-group { + margin-bottom: @baseLineHeight / 2; +} + +// Legend collapses margin, so next element is responsible for spacing +legend + .control-group { + margin-top: @baseLineHeight; + -webkit-margin-top-collapse: separate; +} + +// Horizontal-specific styles +// -------------------------- + +.form-horizontal { + // Increase spacing between groups + .control-group { + margin-bottom: @baseLineHeight; + .clearfix(); + } + // Float the labels left + .control-label { + float: left; + width: 140px; + padding-top: 5px; + text-align: right; + } + // Move over all input controls and content + .controls { + // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend + // don't inherit the margin of the parent, in this case .controls + *display: inline-block; + *padding-left: 20px; + margin-left: 160px; + *margin-left: 0; + &:first-child { + *padding-left: 160px; + } + } + // Remove bottom margin on block level help text since that's accounted for on .control-group + .help-block { + margin-top: @baseLineHeight / 2; + margin-bottom: 0; + } + // Move over buttons in .form-actions to align with .controls + .form-actions { + padding-left: 160px; + } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/grid.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/grid.less.svn-base new file mode 100644 index 000000000..e62a96093 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/grid.less.svn-base @@ -0,0 +1,5 @@ +// Fixed (940px) +#grid > .core(@gridColumnWidth, @gridGutterWidth); + +// Fluid (940px) +#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); \ No newline at end of file diff --git a/docs/assets/less/twbs-203/.svn/text-base/hero-unit.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/hero-unit.less.svn-base new file mode 100644 index 000000000..0ffe82962 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/hero-unit.less.svn-base @@ -0,0 +1,22 @@ +// HERO UNIT +// --------- + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: @heroUnitBackground; + .border-radius(6px); + h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + color: @heroUnitHeadingColor; + letter-spacing: -1px; + } + p { + font-size: 18px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; + color: @heroUnitLeadColor; + } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/labels-badges.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/labels-badges.less.svn-base new file mode 100644 index 000000000..0fbd7bbc6 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/labels-badges.less.svn-base @@ -0,0 +1,55 @@ +// LABELS & BADGES +// --------------- + +// Base classes +.label, +.badge { + font-size: @baseFontSize * .846; + font-weight: bold; + line-height: 14px; // ensure proper line-height if floated + color: @white; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + background-color: @grayLight; +} +// Set unique padding and border-radii +.label { + padding: 1px 4px 2px; + .border-radius(3px); +} +.badge { + padding: 1px 9px 2px; + .border-radius(9px); +} + +// Hover state, but only for links +a { + &.label:hover, + &.badge:hover { + color: @white; + text-decoration: none; + cursor: pointer; + } +} + +// Colors +// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) +.label, +.badge { + // Important (red) + &-important { background-color: @errorText; } + &-important[href] { background-color: darken(@errorText, 10%); } + // Warnings (orange) + &-warning { background-color: @orange; } + &-warning[href] { background-color: darken(@orange, 10%); } + // Success (green) + &-success { background-color: @successText; } + &-success[href] { background-color: darken(@successText, 10%); } + // Info (turquoise) + &-info { background-color: @infoText; } + &-info[href] { background-color: darken(@infoText, 10%); } + // Inverse (black) + &-inverse { background-color: @grayDark; } + &-inverse[href] { background-color: darken(@grayDark, 10%); } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/layouts.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/layouts.less.svn-base new file mode 100644 index 000000000..cc53627ff --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/layouts.less.svn-base @@ -0,0 +1,17 @@ +// +// Layouts +// Fixed-width and fluid (with sidebar) layouts +// -------------------------------------------- + + +// Container (centered, fixed-width layouts) +.container { + .container-fixed(); +} + +// Fluid layouts (left aligned, with sidebar, min- & max-width content) +.container-fluid { + padding-right: @gridGutterWidth; + padding-left: @gridGutterWidth; + .clearfix(); +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/.svn/text-base/mixins.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/mixins.less.svn-base new file mode 100644 index 000000000..b107955f5 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/mixins.less.svn-base @@ -0,0 +1,631 @@ +// Mixins.less +// Snippets of reusable CSS to develop faster and keep code readable +// ----------------------------------------------------------------- + + +// UTILITY MIXINS +// -------------------------------------------------- + +// Clearfix +// -------- +// For clearing floats like a boss h5bp.com/q +.clearfix { + *zoom: 1; + &:before, + &:after { + display: table; + content: ""; + } + &:after { + clear: both; + } +} + +// Webkit-style focus +// ------------------ +.tab-focus() { + // Default + outline: thin dotted #333; + // Webkit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +// Center-align a block level element +// ---------------------------------- +.center-block() { + display: block; + margin-left: auto; + margin-right: auto; +} + +// IE7 inline-block +// ---------------- +.ie7-inline-block() { + *display: inline; /* IE7 inline-block hack */ + *zoom: 1; +} + +// IE7 likes to collapse whitespace on either side of the inline-block elements. +// Ems because we're attempting to match the width of a space character. Left +// version is for form buttons, which typically come after other elements, and +// right version is for icons, which come before. Applying both is ok, but it will +// mean that space between those elements will be .6em (~2 space characters) in IE7, +// instead of the 1 space in other browsers. +.ie7-restore-left-whitespace() { + *margin-left: .3em; + + &:first-child { + *margin-left: 0; + } +} + +.ie7-restore-right-whitespace() { + *margin-right: .3em; + + &:last-child { + *margin-left: 0; + } +} + +// Sizing shortcuts +// ------------------------- +.size(@height, @width) { + width: @width; + height: @height; +} +.square(@size) { + .size(@size, @size); +} + +// Placeholder text +// ------------------------- +.placeholder(@color: @placeholderText) { + :-moz-placeholder { + color: @color; + } + ::-webkit-input-placeholder { + color: @color; + } +} + +// Text overflow +// ------------------------- +// Requires inline-block or block for proper styling +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +// CSS image replacement +// ------------------------- +// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + + +// FONTS +// -------------------------------------------------- + +#font { + #family { + .serif() { + font-family: @serifFontFamily; + } + .sans-serif() { + font-family: @sansFontFamily; + } + .monospace() { + font-family: @monoFontFamily; + } + } + .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + font-size: @size; + font-weight: @weight; + line-height: @lineHeight; + } + .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .sans-serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .monospace; + #font > .shorthand(@size, @weight, @lineHeight); + } +} + + +// FORMS +// -------------------------------------------------- + +// Block level inputs +.input-block-level { + display: block; + width: 100%; + min-height: 28px; // Make inputs at least the height of their button counterpart + .box-sizing(border-box); // Makes inputs behave like true block-level elements +} + + +// Mixin for form field states +.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { + // Set the text color + > label, + .help-block, + .help-inline { + color: @textColor; + } + // Style inputs accordingly + input, + select, + textarea { + color: @textColor; + border-color: @borderColor; + &:focus { + border-color: darken(@borderColor, 10%); + .box-shadow(0 0 6px lighten(@borderColor, 20%)); + } + } + // Give a small background color for input-prepend/-append + .input-prepend .add-on, + .input-append .add-on { + color: @textColor; + background-color: @backgroundColor; + border-color: @textColor; + } +} + + + +// CSS3 PROPERTIES +// -------------------------------------------------- + +// Border Radius +.border-radius(@radius) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +// Drop shadows +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// Transitions +.transition(@transition) { + -webkit-transition: @transition; + -moz-transition: @transition; + -ms-transition: @transition; + -o-transition: @transition; + transition: @transition; +} + +// Transformations +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} +.scale(@ratio) { + -webkit-transform: scale(@ratio); + -moz-transform: scale(@ratio); + -ms-transform: scale(@ratio); + -o-transform: scale(@ratio); + transform: scale(@ratio); +} +.translate(@x, @y) { + -webkit-transform: translate(@x, @y); + -moz-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); + -o-transform: translate(@x, @y); + transform: translate(@x, @y); +} +.skew(@x, @y) { + -webkit-transform: skew(@x, @y); + -moz-transform: skew(@x, @y); + -ms-transform: skew(@x, @y); + -o-transform: skew(@x, @y); + transform: skew(@x, @y); +} +.translate3d(@x, @y, @z) { + -webkit-transform: translate(@x, @y, @z); + -moz-transform: translate(@x, @y, @z); + -ms-transform: translate(@x, @y, @z); + -o-transform: translate(@x, @y, @z); + transform: translate(@x, @y, @z); +} + +// Backface visibility +// Prevent browsers from flickering when using CSS 3D transforms. +// Default value is `visible`, but can be changed to `hidden +// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples +.backface-visibility(@visibility){ + -webkit-backface-visibility: @visibility; + -moz-backface-visibility: @visibility; + -ms-backface-visibility: @visibility; + backface-visibility: @visibility; +} + +// Background clipping +// Heads up: FF 3.6 and under need "padding" instead of "padding-box" +.background-clip(@clip) { + -webkit-background-clip: @clip; + -moz-background-clip: @clip; + background-clip: @clip; +} + +// Background sizing +.background-size(@size){ + -webkit-background-size: @size; + -moz-background-size: @size; + -o-background-size: @size; + background-size: @size; +} + + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + -ms-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// User select +// For selecting text on the page +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -ms-user-select: @select; + -o-user-select: @select; + user-select: @select; +} + +// Resize anything +.resizable(@direction) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Safari fix +} + +// CSS3 Content Columns +.content-columns(@columnCount, @columnGap: @gridGutterWidth) { + -webkit-column-count: @columnCount; + -moz-column-count: @columnCount; + column-count: @columnCount; + -webkit-column-gap: @columnGap; + -moz-column-gap: @columnGap; + column-gap: @columnGap; +} + +// Opacity +.opacity(@opacity) { + opacity: @opacity / 100; + filter: ~"alpha(opacity=@{opacity})"; +} + + + +// BACKGROUNDS +// -------------------------------------------------- + +// Add an alphatransparency value to any background or border color (via Elyse Holladay) +#translucent { + .background(@color: @white, @alpha: 1) { + background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + } + .border(@color: @white, @alpha: 1) { + border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + .background-clip(padding-box); + } +} + +// Gradient Bar Colors for buttons and alerts +.gradientBar(@primaryColor, @secondaryColor) { + #gradient > .vertical(@primaryColor, @secondaryColor); + border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); +} + +// Gradients +#gradient { + .horizontal(@startColor: #555, @endColor: #333) { + background-color: @endColor; + background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(left, @startColor, @endColor); // Le standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down + } + .vertical(@startColor: #555, @endColor: #333) { + background-color: mix(@startColor, @endColor, 60%); + background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(top, @startColor, @endColor); // The standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down + } + .directional(@startColor: #555, @endColor: #333, @deg: 45deg) { + background-color: @endColor; + background-repeat: repeat-x; + background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(@deg, @startColor, @endColor); // IE10 + background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(@deg, @startColor, @endColor); // The standard + } + .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { + background-color: mix(@midColor, @endColor, 80%); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); + background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); + background-image: -ms-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@innerColor: #555, @outerColor: #333) { + background-color: @outerColor; + background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); + background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); + background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); + background-image: -ms-radial-gradient(circle, @innerColor, @outerColor); + background-image: -o-radial-gradient(circle, @innerColor, @outerColor); + background-repeat: no-repeat; + } + .striped(@color, @angle: -45deg) { + background-color: @color; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + } +} +// Reset filters for IE +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} + + + +// COMPONENT MIXINS +// -------------------------------------------------- + +// Horizontal dividers +// ------------------------- +// Dividers (basically an hr) within dropdowns and nav lists +.nav-divider() { + // IE7 needs a set width since we gave a height. Restricting just + // to IE7 to keep the 1px left/right space in other browsers. + // It is unclear where IE is getting the extra space that we need + // to negative-margin away, but so it goes. + *width: 100%; + height: 1px; + margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid @white; +} + +// Button backgrounds +// ------------------ +.buttonBackground(@startColor, @endColor) { + // gradientBar will set the background to a pleasing blend of these, to support IE<=9 + .gradientBar(@startColor, @endColor); + *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + .reset-filter(); + + // in these cases the gradient won't cover the background, so we override + &:hover, &:active, &.active, &.disabled, &[disabled] { + background-color: @endColor; + *background-color: darken(@endColor, 5%); + } + + // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves + &:active, + &.active { + background-color: darken(@endColor, 10%) e("\9"); + } +} + +// Navbar vertical align +// ------------------------- +// Vertically center elements in the navbar. +// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin. +.navbarVerticalAlign(@elementHeight) { + margin-top: (@navbarHeight - @elementHeight) / 2; +} + +// Popover arrows +// ------------------------- +// For tipsies and popovers +#popoverArrow { + .top(@arrowWidth: 5px, @color: @black) { + bottom: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-top: @arrowWidth solid @color; + } + .left(@arrowWidth: 5px, @color: @black) { + top: 50%; + right: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-left: @arrowWidth solid @color; + } + .bottom(@arrowWidth: 5px, @color: @black) { + top: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid @color; + } + .right(@arrowWidth: 5px, @color: @black) { + top: 50%; + left: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-right: @arrowWidth solid @color; + } +} + +// Grid System +// ----------- + +// Centered container element +.container-fixed() { + margin-right: auto; + margin-left: auto; + .clearfix(); +} + +// Table columns +.tableColumns(@columnSpan: 1) { + float: none; // undo default grid column styles + width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells + margin-left: 0; // undo default grid column styles +} + +// Make a Grid +// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior +.makeRow() { + margin-left: @gridGutterWidth * -1; + .clearfix(); +} +.makeColumn(@columns: 1, @offset: 0) { + float: left; + margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2); + width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); +} + +// The Grid +#grid { + + .core (@gridColumnWidth, @gridGutterWidth) { + + .spanX (@index) when (@index > 0) { + (~".span@{index}") { .span(@index); } + .spanX(@index - 1); + } + .spanX (0) {} + + .offsetX (@index) when (@index > 0) { + (~".offset@{index}") { .offset(@index); } + .offsetX(@index - 1); + } + .offsetX (0) {} + + .offset (@columns) { + margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1)); + } + + .span (@columns) { + width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); + } + + .row { + margin-left: @gridGutterWidth * -1; + .clearfix(); + } + + [class*="span"] { + float: left; + margin-left: @gridGutterWidth; + } + + // Set the container width, and override it for fixed navbars in media queries + .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { .span(@gridColumns); } + + // generate .spanX and .offsetX + .spanX (@gridColumns); + .offsetX (@gridColumns); + + } + + .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) { + + .spanX (@index) when (@index > 0) { + (~".span@{index}") { .span(@index); } + .spanX(@index - 1); + } + .spanX (0) {} + + .span (@columns) { + width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); + *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%); + } + + .row-fluid { + width: 100%; + .clearfix(); + [class*="span"] { + .input-block-level(); + float: left; + margin-left: @fluidGridGutterWidth; + *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); + } + [class*="span"]:first-child { + margin-left: 0; + } + + // generate .spanX + .spanX (@gridColumns); + } + + } + + .input(@gridColumnWidth, @gridGutterWidth) { + + .spanX (@index) when (@index > 0) { + (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); } + .spanX(@index - 1); + } + .spanX (0) {} + + .span(@columns) { + width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10; + } + + input, + textarea, + .uneditable-input { + margin-left: 0; // override margin-left from core grid system + } + + // generate .spanX + .spanX (@gridColumns); + + } + +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/modals.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/modals.less.svn-base new file mode 100644 index 000000000..870ad0dfe --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/modals.less.svn-base @@ -0,0 +1,90 @@ +// MODALS +// ------ + +// Recalculate z-index where appropriate +.modal-open { + .dropdown-menu { z-index: @zindexDropdown + @zindexModal; } + .dropdown.open { *z-index: @zindexDropdown + @zindexModal; } + .popover { z-index: @zindexPopover + @zindexModal; } + .tooltip { z-index: @zindexTooltip + @zindexModal; } +} + +// Background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindexModalBackdrop; + background-color: @black; + // Fade for backdrop + &.fade { opacity: 0; } +} + +.modal-backdrop, +.modal-backdrop.fade.in { + .opacity(80); +} + +// Base modal +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: @zindexModal; + overflow: auto; + width: 560px; + margin: -250px 0 0 -280px; + background-color: @white; + border: 1px solid #999; + border: 1px solid rgba(0,0,0,.3); + *border: 1px solid #999; /* IE6-7 */ + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); + .background-clip(padding-box); + &.fade { + .transition(e('opacity .3s linear, top .3s ease-out')); + top: -25%; + } + &.fade.in { top: 50%; } +} +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; + // Close icon + .close { margin-top: 2px; } +} + +// Body (where all modal content resides) +.modal-body { + overflow-y: auto; + max-height: 400px; + padding: 15px; +} +// Remove bottom margin if need be +.modal-form { + margin-bottom: 0; +} + +// Footer (for actions) +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; // right align buttons + background-color: #f5f5f5; + border-top: 1px solid #ddd; + .border-radius(0 0 6px 6px); + .box-shadow(inset 0 1px 0 @white); + .clearfix(); // 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; + } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/navbar.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/navbar.less.svn-base new file mode 100644 index 000000000..adfe1096a --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/navbar.less.svn-base @@ -0,0 +1,364 @@ +// NAVBAR (FIXED AND STATIC) +// ------------------------- + + +// COMMON STYLES +// ------------- + +.navbar { + // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar + *position: relative; + *z-index: 2; + + overflow: visible; + margin-bottom: @baseLineHeight; +} + +// Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present +.navbar-inner { + min-height: @navbarHeight; + padding-left: 20px; + padding-right: 20px; + #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); + .border-radius(4px); + .box-shadow(~"0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1)"); +} + +// Set width to auto for default container +// We then reset it for fixed navbars in the #gridSystem mixin +.navbar .container { + width: auto; +} + +// Override the default collapsed state +.nav-collapse.collapse { + height: auto; +} + + +// Brand, links, text, and buttons +.navbar { + color: @navbarText; + // Hover and active states + .brand:hover { + text-decoration: none; + } + // Website or project name + .brand { + float: left; + display: block; + // Vertically center the text given @navbarHeight + @elementHeight: 20px; + padding: ((@navbarHeight - @elementHeight) / 2 - 2) 20px ((@navbarHeight - @elementHeight) / 2 + 2); + margin-left: -20px; // negative indent to left-align the text down the page + font-size: 20px; + font-weight: 200; + line-height: 1; + color: @navbarBrandColor; + } + // Plain text in topbar + .navbar-text { + margin-bottom: 0; + line-height: @navbarHeight; + } + // Janky solution for now to account for links outside the .nav + .navbar-link { + color: @navbarLinkColor; + &:hover { + color: @navbarLinkColorHover; + } + } + // Buttons in navbar + .btn, + .btn-group { + .navbarVerticalAlign(30px); // Vertically center in navbar + } + .btn-group .btn { + margin: 0; // then undo the margin here so we don't accidentally double it + } +} + +// Navbar forms +.navbar-form { + margin-bottom: 0; // remove default bottom margin + .clearfix(); + input, + select, + .radio, + .checkbox { + .navbarVerticalAlign(30px); // Vertically center in navbar + } + input, + select { + display: inline-block; + margin-bottom: 0; + } + input[type="image"], + input[type="checkbox"], + input[type="radio"] { + margin-top: 3px; + } + .input-append, + .input-prepend { + margin-top: 6px; + white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left + input { + margin-top: 0; // remove the margin on top since it's on the parent + } + } +} + +// Navbar search +.navbar-search { + position: relative; + float: left; + .navbarVerticalAlign(28px); // Vertically center in navbar + margin-bottom: 0; + .search-query { + padding: 4px 9px; + #font > .sans-serif(13px, normal, 1); + color: @white; + background-color: @navbarSearchBackground; + border: 1px solid @navbarSearchBorder; + .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15)"); + .transition(none); + + // Placeholder text gets special styles; can't be a grouped selector + &:-moz-placeholder { + color: @navbarSearchPlaceholderColor; + } + &::-webkit-input-placeholder { + color: @navbarSearchPlaceholderColor; + } + + // Focus states (we use .focused since IE7-8 and down doesn't support :focus) + &:focus, + &.focused { + padding: 5px 10px; + color: @grayDark; + text-shadow: 0 1px 0 @white; + background-color: @navbarSearchBackgroundFocus; + border: 0; + .box-shadow(0 0 3px rgba(0,0,0,.15)); + outline: 0; + } + } +} + + + +// FIXED NAVBAR +// ------------ + +// Shared (top/bottom) styles +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: @zindexFixedNavbar; + margin-bottom: 0; // remove 18px margin for static navbar +} +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-left: 0; + padding-right: 0; + .border-radius(0); +} + +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + #grid > .core > .span(@gridColumns); +} + +// Fixed to top +.navbar-fixed-top { + top: 0; +} + +// Fixed to bottom +.navbar-fixed-bottom { + bottom: 0; +} + + + +// NAVIGATION +// ---------- + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; // redeclare due to specificity +} +.navbar .nav > li { + display: block; + float: left; +} + +// Links +.navbar .nav > li > a { + float: none; + // Vertically center the text given @navbarHeight + @elementHeight: 20px; + padding: ((@navbarHeight - @elementHeight) / 2 - 1) 10px ((@navbarHeight - @elementHeight) / 2 + 1); + line-height: 19px; + color: @navbarLinkColor; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); +} +// Buttons +.navbar .btn { + display: inline-block; + padding: 4px 10px 4px; + // Vertically center the button given @navbarHeight + @elementHeight: 28px; + margin: ((@navbarHeight - @elementHeight) / 2 - 1) 5px ((@navbarHeight - @elementHeight) / 2); + line-height: @baseLineHeight; +} +.navbar .btn-group { + margin: 0; + // Vertically center the button given @navbarHeight + @elementHeight: 28px; + padding: ((@navbarHeight - @elementHeight) / 2 - 1) 5px ((@navbarHeight - @elementHeight) / 2); +} +// Hover +.navbar .nav > li > a:hover { + background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active + color: @navbarLinkColorHover; + text-decoration: none; +} + +// Active nav items +.navbar .nav .active > a, +.navbar .nav .active > a:hover { + color: @navbarLinkColorActive; + text-decoration: none; + background-color: @navbarLinkBackgroundActive; +} + +// Dividers (basically a vertical hr) +.navbar .divider-vertical { + height: @navbarHeight; + width: 1px; + margin: 0 9px; + overflow: hidden; + background-color: @navbarBackground; + border-right: 1px solid @navbarBackgroundHighlight; +} + +// Secondary (floated right) nav in topbar +.navbar .nav.pull-right { + margin-left: 10px; + margin-right: 0; +} + +// Navbar button for toggling navbar items in responsive layouts +// These definitions need to come after '.navbar .btn' +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + .buttonBackground(@navbarBackgroundHighlight, @navbarBackground); + .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)"); +} +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + .border-radius(1px); + .box-shadow(0 1px 0 rgba(0,0,0,.25)); +} +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + + +// Dropdown menus +// -------------- + +// Menu position and menu carets +.navbar .dropdown-menu { + &:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: @dropdownBorder; + position: absolute; + top: -7px; + left: 9px; + } + &:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid @dropdownBackground; + position: absolute; + top: -6px; + left: 10px; + } +} +// Menu position and menu caret support for dropups via extra dropup class +.navbar-fixed-bottom .dropdown-menu { + &:before { + border-top: 7px solid #ccc; + border-top-color: @dropdownBorder; + border-bottom: 0; + bottom: -7px; + top: auto; + } + &:after { + border-top: 6px solid @dropdownBackground; + border-bottom: 0; + bottom: -6px; + top: auto; + } +} +// Dropdown toggle caret +.navbar .nav li.dropdown .dropdown-toggle .caret, +.navbar .nav li.dropdown.open .caret { + border-top-color: @white; + border-bottom-color: @white; +} +.navbar .nav li.dropdown.active .caret { + .opacity(100); +} + +// Remove background color from open dropdown +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + background-color: transparent; +} + +// Dropdown link on hover +.navbar .nav li.dropdown.active > .dropdown-toggle:hover { + color: @white; +} + +// Right aligned menus need alt position +// TODO: rejigger this at some point to simplify the selectors +.navbar .pull-right .dropdown-menu, +.navbar .dropdown-menu.pull-right { + left: auto; + right: 0; + &:before { + left: auto; + right: 12px; + } + &:after { + left: auto; + right: 13px; + } +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/.svn/text-base/navs.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/navs.less.svn-base new file mode 100644 index 000000000..5cb9f9f3a --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/navs.less.svn-base @@ -0,0 +1,363 @@ +// NAVIGATIONS +// ----------- + + + +// BASE CLASS +// ---------- + +.nav { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; +} + +// Make links block level +.nav > li > a { + display: block; +} +.nav > li > a:hover { + text-decoration: none; + background-color: @grayLighter; +} + +// Redeclare pull classes because of specifity +.nav > .pull-right { + float: right; +} + +// Nav headers (for dropdowns and lists) +.nav .nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: @baseLineHeight; + color: @grayLight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + text-transform: uppercase; +} +// Space them out when they follow another list item (link) +.nav li + .nav-header { + margin-top: 9px; +} + + +// NAV LIST +// -------- + +.nav-list { + padding-left: 15px; + padding-right: 15px; + margin-bottom: 0; +} +.nav-list > li > a, +.nav-list .nav-header { + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255,255,255,.5); +} +.nav-list > li > a { + padding: 3px 15px; +} +.nav-list > .active > a, +.nav-list > .active > a:hover { + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + background-color: @linkColor; +} +.nav-list [class^="icon-"] { + margin-right: 2px; +} +// Dividers (basically an hr) within the dropdown +.nav-list .divider { + .nav-divider(); +} + + + +// TABS AND PILLS +// ------------- + +// Common styles +.nav-tabs, +.nav-pills { + .clearfix(); +} +.nav-tabs > li, +.nav-pills > li { + float: left; +} +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; // keeps the overall height an even number +} + +// TABS +// ---- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid #ddd; +} +// Make the list-items overlay the bottom border +.nav-tabs > li { + margin-bottom: -1px; +} +// Actual tabs (as links) +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: @baseLineHeight; + border: 1px solid transparent; + .border-radius(4px 4px 0 0); + &:hover { + border-color: @grayLighter @grayLighter #ddd; + } +} +// Active state, and it's :hover to override normal :hover +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: @gray; + background-color: @white; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} + + +// PILLS +// ----- + +// Links rendered as pills +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + .border-radius(5px); +} + +// Active state +.nav-pills > .active > a, +.nav-pills > .active > a:hover { + color: @white; + background-color: @linkColor; +} + + + +// STACKED NAV +// ----------- + +// Stacked tabs and pills +.nav-stacked > li { + float: none; +} +.nav-stacked > li > a { + margin-right: 0; // no need for the gap between nav items +} + +// Tabs +.nav-tabs.nav-stacked { + border-bottom: 0; +} +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + .border-radius(0); +} +.nav-tabs.nav-stacked > li:first-child > a { + .border-radius(4px 4px 0 0); +} +.nav-tabs.nav-stacked > li:last-child > a { + .border-radius(0 0 4px 4px); +} +.nav-tabs.nav-stacked > li > a:hover { + border-color: #ddd; + z-index: 2; +} + +// Pills +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; // decrease margin to match sizing of stacked tabs +} + + + +// DROPDOWNS +// --------- + +.nav-tabs .dropdown-menu { + .border-radius(0 0 5px 5px); // remove the top rounded corners here since there is a hard edge above the menu +} +.nav-pills .dropdown-menu { + .border-radius(4px); // make rounded corners match the pills +} + +// Default dropdown links +// ------------------------- +// Make carets use linkColor to start +.nav-tabs .dropdown-toggle .caret, +.nav-pills .dropdown-toggle .caret { + border-top-color: @linkColor; + border-bottom-color: @linkColor; + margin-top: 6px; +} +.nav-tabs .dropdown-toggle:hover .caret, +.nav-pills .dropdown-toggle:hover .caret { + border-top-color: @linkColorHover; + border-bottom-color: @linkColorHover; +} + +// Active dropdown links +// ------------------------- +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret { + border-top-color: @grayDark; + border-bottom-color: @grayDark; +} + +// Active:hover dropdown links +// ------------------------- +.nav > .dropdown.active > a:hover { + color: @black; + cursor: pointer; +} + +// Open dropdowns +// ------------------------- +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { + color: @white; + background-color: @grayLight; + border-color: @grayLight; +} +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { + border-top-color: @white; + border-bottom-color: @white; + .opacity(100); +} + +// Dropdowns in stacked tabs +.tabs-stacked .open > a:hover { + border-color: @grayLight; +} + + + +// TABBABLE +// -------- + + +// COMMON STYLES +// ------------- + +// Clear any floats +.tabbable { + .clearfix(); +} +.tab-content { + overflow: auto; // prevent content from running below tabs +} + +// Remove border on bottom, left, right +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +// Show/hide tabbable areas +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} + + +// BOTTOM +// ------ + +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} +.tabs-below > .nav-tabs > li > a { + .border-radius(0 0 4px 4px); + &:hover { + border-bottom-color: transparent; + border-top-color: #ddd; + } +} +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} + +// LEFT & RIGHT +// ------------ + +// Common styles +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +// Tabs on the left +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + .border-radius(4px 0 0 4px); +} +.tabs-left > .nav-tabs > li > a:hover { + border-color: @grayLighter #ddd @grayLighter @grayLighter; +} +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: @white; +} + +// Tabs on the right +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + .border-radius(0 4px 4px 0); +} +.tabs-right > .nav-tabs > li > a:hover { + border-color: @grayLighter @grayLighter @grayLighter #ddd; +} +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: @white; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/pager.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/pager.less.svn-base new file mode 100644 index 000000000..4244b5eb8 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/pager.less.svn-base @@ -0,0 +1,36 @@ +// PAGER +// ----- + +.pager { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; + text-align: center; + .clearfix(); +} +.pager li { + display: inline; +} +.pager a { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + .border-radius(15px); +} +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} +.pager .next a { + float: right; +} +.pager .previous a { + float: left; +} +.pager .disabled a, +.pager .disabled a:hover { + color: @grayLight; + background-color: #fff; + cursor: default; +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/.svn/text-base/pagination.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/pagination.less.svn-base new file mode 100644 index 000000000..38cf65cc4 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/pagination.less.svn-base @@ -0,0 +1,56 @@ +// PAGINATION +// ---------- + +.pagination { + height: @baseLineHeight * 2; + margin: @baseLineHeight 0; + } +.pagination ul { + display: inline-block; + .ie7-inline-block(); + margin-left: 0; + margin-bottom: 0; + .border-radius(3px); + .box-shadow(0 1px 2px rgba(0,0,0,.05)); +} +.pagination li { + display: inline; + } +.pagination a { + float: left; + padding: 0 14px; + line-height: (@baseLineHeight * 2) - 2; + text-decoration: none; + border: 1px solid #ddd; + border-left-width: 0; +} +.pagination a:hover, +.pagination .active a { + background-color: #f5f5f5; +} +.pagination .active a { + color: @grayLight; + cursor: default; +} +.pagination .disabled span, +.pagination .disabled a, +.pagination .disabled a:hover { + color: @grayLight; + background-color: transparent; + cursor: default; +} +.pagination li:first-child a { + border-left-width: 1px; + .border-radius(3px 0 0 3px); +} +.pagination li:last-child a { + .border-radius(0 3px 3px 0); +} + +// Centered +.pagination-centered { + text-align: center; +} +.pagination-right { + text-align: right; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/popovers.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/popovers.less.svn-base new file mode 100644 index 000000000..558d99ec9 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/popovers.less.svn-base @@ -0,0 +1,49 @@ +// POPOVERS +// -------- + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: @zindexPopover; + display: none; + padding: 5px; + &.top { margin-top: -5px; } + &.right { margin-left: 5px; } + &.bottom { margin-top: 5px; } + &.left { margin-left: -5px; } + &.top .arrow { #popoverArrow > .top(); } + &.right .arrow { #popoverArrow > .right(); } + &.bottom .arrow { #popoverArrow > .bottom(); } + &.left .arrow { #popoverArrow > .left(); } + .arrow { + position: absolute; + width: 0; + height: 0; + } +} +.popover-inner { + padding: 3px; + width: 280px; + overflow: hidden; + background: @black; // has to be full background declaration for IE fallback + background: rgba(0,0,0,.8); + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); +} +.popover-title { + padding: 9px 15px; + line-height: 1; + background-color: #f5f5f5; + border-bottom:1px solid #eee; + .border-radius(3px 3px 0 0); +} +.popover-content { + padding: 14px; + background-color: @white; + .border-radius(0 0 3px 3px); + .background-clip(padding-box); + p, ul, ol { + margin-bottom: 0; + } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/progress-bars.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/progress-bars.less.svn-base new file mode 100644 index 000000000..3b47e6482 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/progress-bars.less.svn-base @@ -0,0 +1,117 @@ +// PROGRESS BARS +// ------------- + + +// ANIMATIONS +// ---------- + +// Webkit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Firefox +@-moz-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// IE9 +@-ms-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Opera +@-o-keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + +// Spec +@keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + + + +// THE BARS +// -------- + +// Outer container +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + #gradient > .vertical(#f5f5f5, #f9f9f9); + .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); + .border-radius(4px); +} + +// Bar of progress +.progress .bar { + width: 0%; + height: 18px; + color: @white; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + #gradient > .vertical(#149bdf, #0480be); + .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + .box-sizing(border-box); + .transition(width .6s ease); +} + +// Striped bars +.progress-striped .bar { + #gradient > .striped(#149bdf); + .background-size(40px 40px); +} + +// Call animation for the active one +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + + + +// COLORS +// ------ + +// Danger (red) +.progress-danger .bar { + #gradient > .vertical(#ee5f5b, #c43c35); +} +.progress-danger.progress-striped .bar { + #gradient > .striped(#ee5f5b); +} + +// Success (green) +.progress-success .bar { + #gradient > .vertical(#62c462, #57a957); +} +.progress-success.progress-striped .bar { + #gradient > .striped(#62c462); +} + +// Info (teal) +.progress-info .bar { + #gradient > .vertical(#5bc0de, #339bb9); +} +.progress-info.progress-striped .bar { + #gradient > .striped(#5bc0de); +} + +// Warning (orange) +.progress-warning .bar { + #gradient > .vertical(lighten(@orange, 15%), @orange); +} +.progress-warning.progress-striped .bar { + #gradient > .striped(lighten(@orange, 15%)); +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/reset.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/reset.less.svn-base new file mode 100644 index 000000000..d9ce2b110 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/reset.less.svn-base @@ -0,0 +1,126 @@ +// Reset.less +// Adapted from Normalize.css http://github.com/necolas/normalize.css +// ------------------------------------------------------------------------ + +// Display in IE6-9 and FF3 +// ------------------------- + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +// Display block in IE6-9 and FF3 +// ------------------------- + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +// Prevents modern browsers from displaying 'audio' without controls +// ------------------------- + +audio:not([controls]) { + display: none; +} + +// Base settings +// ------------------------- + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +// Focus states +a:focus { + .tab-focus(); +} +// Hover & Active +a:hover, +a:active { + outline: 0; +} + +// Prevents sub and sup affecting line-height in all browsers +// ------------------------- + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} + +// Img border in a's and image quality +// ------------------------- + +img { + max-width: 100%; // Make images inherently responsive + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +// Forms +// ------------------------- + +// Font size in all browsers, margin changes, misc consistency +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} +button, +input { + *overflow: visible; // Inner spacing ie IE6/7 + line-height: normal; // FF3/4 have !important on line-height in UA stylesheet +} +button::-moz-focus-inner, +input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 + padding: 0; + border: 0; +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; // Cursors on all buttons applied consistently + -webkit-appearance: button; // Style clickable inputs in iOS +} +input[type="search"] { // Appearance in Safari/Chrome + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 +} +textarea { + overflow: auto; // Remove vertical scrollbar in IE6-9 + vertical-align: top; // Readability and alignment cross-browser +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/responsive-1200px-min.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/responsive-1200px-min.less.svn-base new file mode 100644 index 000000000..a7c9f4e00 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/responsive-1200px-min.less.svn-base @@ -0,0 +1,26 @@ +// LARGE DESKTOP & UP +// ------------------ + +@media (min-width: 1200px) { + + // Fixed grid + #grid > .core(70px, 30px); + + // Fluid grid + #grid > .fluid(5.982905983%, 2.564102564%); + + // Input grid + #grid > .input(70px, 30px); + + // Thumbnails + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } + +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/responsive-767px-max.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/responsive-767px-max.less.svn-base new file mode 100644 index 000000000..614c6905c --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/responsive-767px-max.less.svn-base @@ -0,0 +1,149 @@ +// UP TO LANDSCAPE PHONE +// --------------------- + +@media (max-width: 480px) { + + // Smooth out the collapsing/expanding nav + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); // activate the GPU + } + + // Block level the page header small tag for readability + .page-header h1 small { + display: block; + line-height: @baseLineHeight; + } + + // Update checkboxes for iOS + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + + // Remove the horizontal form styles + .form-horizontal .control-group > label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + // Move over all input controls and content + .form-horizontal .controls { + margin-left: 0; + } + // Move the options list down to align with labels + .form-horizontal .control-list { + padding-top: 0; // has to be padding because margin collaspes + } + // Move over buttons in .form-actions to align with .controls + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + + // Modals + .modal { + position: absolute; + top: 10px; + left: 10px; + right: 10px; + width: auto; + margin: 0; + &.fade.in { top: auto; } + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + + // Carousel + .carousel-caption { + position: static; + } + +} + + + +// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET +// -------------------------------------------------- + +@media (max-width: 767px) { + + // Padding to set content in a bit + body { + padding-left: 20px; + padding-right: 20px; + } + // Negative indent the now static "fixed" navbar + .navbar-fixed-top, + .navbar-fixed-bottom { + margin-left: -20px; + margin-right: -20px; + } + // Remove padding on container given explicit padding set on body + .container-fluid { + padding: 0; + } + + // TYPOGRAPHY + // ---------- + // Reset horizontal dl + .dl-horizontal { + dt { + float: none; + clear: none; + width: auto; + text-align: left; + } + dd { + margin-left: 0; + } + } + + // GRID & CONTAINERS + // ----------------- + // Remove width from containers + .container { + width: auto; + } + // Fluid rows + .row-fluid { + width: 100%; + } + // Undo negative margin on rows and thumbnails + .row, + .thumbnails { + margin-left: 0; + } + // Make all grid-sized elements block level again + [class*="span"], + .row-fluid [class*="span"] { + float: none; + display: block; + width: auto; + margin-left: 0; + } + + // FORM FIELDS + // ----------- + // Make span* classes full width + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + .input-block-level(); + } + // But don't let it screw up prepend/append inputs + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; // redeclare so they don't wrap to new lines + width: auto; + } + +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/responsive-768px-979px.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/responsive-768px-979px.less.svn-base new file mode 100644 index 000000000..76f4f6df1 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/responsive-768px-979px.less.svn-base @@ -0,0 +1,17 @@ +// PORTRAIT TABLET TO DEFAULT DESKTOP +// ---------------------------------- + +@media (min-width: 768px) and (max-width: 979px) { + + // Fixed grid + #grid > .core(42px, 20px); + + // Fluid grid + #grid > .fluid(5.801104972%, 2.762430939%); + + // Input grid + #grid > .input(42px, 20px); + + // No need to reset .thumbnails here since it's the same @gridGutterWidth + +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/responsive-navbar.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/responsive-navbar.less.svn-base new file mode 100644 index 000000000..d49b8ae12 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/responsive-navbar.less.svn-base @@ -0,0 +1,146 @@ +// TABLETS AND BELOW +// ----------------- +@media (max-width: 979px) { + + // UNFIX THE TOPBAR + // ---------------- + // Remove any padding from the body + body { + padding-top: 0; + } + // Unfix the navbar + .navbar-fixed-top { + position: static; + margin-bottom: @baseLineHeight; + } + .navbar-fixed-top .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + // Account for brand name + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + + // COLLAPSIBLE NAVBAR + // ------------------ + // Nav collapse clears brand + .nav-collapse { + clear: both; + } + // Block-level the nav + .nav-collapse .nav { + float: none; + margin: 0 0 (@baseLineHeight / 2); + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: @navbarText; + text-shadow: none; + } + // Nav and dropdown links in navbar + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 6px 15px; + font-weight: bold; + color: @navbarLinkColor; + .border-radius(3px); + } + // Buttons + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + .border-radius(4px); + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: @navbarBackground; + } + // Buttons in the navbar + .nav-collapse.in .btn-group { + margin-top: 5px; + padding: 0; + } + // Dropdowns in the navbar + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: block; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + .border-radius(0); + .box-shadow(none); + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + // Forms in navbar + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: (@baseLineHeight / 2) 15px; + margin: (@baseLineHeight / 2) 0; + border-top: 1px solid @navbarBackground; + border-bottom: 1px solid @navbarBackground; + .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)"); + } + // Pull right (secondary) nav content + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + // Hide everything in the navbar save .brand and toggle button */ + .nav-collapse, + .nav-collapse.collapse { + overflow: hidden; + height: 0; + } + // Navbar button + .navbar .btn-navbar { + display: block; + } + + // STATIC NAVBAR + // ------------- + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } +} + + +// DEFAULT DESKTOP +// --------------- + +// Required to make the collapsing navbar work on regular desktops +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/.svn/text-base/responsive-utilities.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/responsive-utilities.less.svn-base new file mode 100644 index 000000000..572846c0f --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/responsive-utilities.less.svn-base @@ -0,0 +1,41 @@ +// RESPONSIVE CLASSES +// ------------------ + +// Hide from screenreaders and browsers +// Credit: HTML5 Boilerplate +.hidden { + display: none; + visibility: hidden; +} + +// Visibility utilities + +// For desktops +.visible-phone { display: none !important; } +.visible-tablet { display: none !important; } +.visible-desktop { } // Don't set initially +.hidden-phone { } +.hidden-tablet { } +.hidden-desktop { display: none !important; } + +// Phones only +@media (max-width: 767px) { + // Show + .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior + // Hide + .hidden-phone { display: none !important; } + // Hide everything else + .hidden-desktop { display: inherit !important; } + .visible-desktop { display: none !important; } +} + +// Tablets & small desktops only +@media (min-width: 768px) and (max-width: 979px) { + // Show + .visible-tablet { display: inherit !important; } + // Hide + .hidden-tablet { display: none !important; } + // Hide everything else + .hidden-desktop { display: inherit !important; } + .visible-desktop { display: none !important ; } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/responsive.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/responsive.less.svn-base new file mode 100644 index 000000000..bbd76d631 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/responsive.less.svn-base @@ -0,0 +1,48 @@ +/*! + * Bootstrap Responsive v2.0.3 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + + +// Responsive.less +// For phone and tablet devices +// ------------------------------------------------------------- + + +// REPEAT VARIABLES & MIXINS +// ------------------------- +// Required since we compile the responsive stuff separately + +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + + +// RESPONSIVE CLASSES +// ------------------ + +@import "responsive-utilities.less"; + + +// MEDIA QUERIES +// ------------------ + +// Phones to portrait tablets and narrow desktops +@import "responsive-767px-max.less"; + +// Tablets to regular desktops +@import "responsive-768px-979px.less"; + +// Large desktops +@import "responsive-1200px-min.less"; + + +// RESPONSIVE NAVBAR +// ------------------ + +// From 979px and below, show a button to toggle navbar contents +@import "responsive-navbar.less"; diff --git a/docs/assets/less/twbs-203/.svn/text-base/scaffolding.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/scaffolding.less.svn-base new file mode 100644 index 000000000..57c74eda0 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/scaffolding.less.svn-base @@ -0,0 +1,29 @@ +// Scaffolding +// Basic and global styles for generating a grid system, structural layout, and page templates +// ------------------------------------------------------------------------------------------- + + +// Body reset +// ---------- + +body { + margin: 0; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @textColor; + background-color: @bodyBackground; +} + + +// Links +// ----- + +a { + color: @linkColor; + text-decoration: none; +} +a:hover { + color: @linkColorHover; + text-decoration: underline; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/sprites.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/sprites.less.svn-base new file mode 100644 index 000000000..72a3a916b --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/sprites.less.svn-base @@ -0,0 +1,191 @@ +// SPRITES +// Glyphs and icons for buttons, nav, and more +// ------------------------------------------- + + +// ICONS +// ----- + +// All icons receive the styles of the tag with a base class +// of .i and are then given a unique class to add width, height, +// and background-position. Your resulting HTML will look like +// . + +// For the white version of the icons, just add the .icon-white class: +// + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + .ie7-restore-right-whitespace(); + line-height: 14px; + vertical-align: text-top; + background-image: url("@{iconSpritePath}"); + background-position: 14px 14px; + background-repeat: no-repeat; + +} +.icon-white { + background-image: url("@{iconWhiteSpritePath}"); +} + +.icon-glass { background-position: 0 0; } +.icon-music { background-position: -24px 0; } +.icon-search { background-position: -48px 0; } +.icon-envelope { background-position: -72px 0; } +.icon-heart { background-position: -96px 0; } +.icon-star { background-position: -120px 0; } +.icon-star-empty { background-position: -144px 0; } +.icon-user { background-position: -168px 0; } +.icon-film { background-position: -192px 0; } +.icon-th-large { background-position: -216px 0; } +.icon-th { background-position: -240px 0; } +.icon-th-list { background-position: -264px 0; } +.icon-ok { background-position: -288px 0; } +.icon-remove { background-position: -312px 0; } +.icon-zoom-in { background-position: -336px 0; } +.icon-zoom-out { background-position: -360px 0; } +.icon-off { background-position: -384px 0; } +.icon-signal { background-position: -408px 0; } +.icon-cog { background-position: -432px 0; } +.icon-trash { background-position: -456px 0; } + +.icon-home { background-position: 0 -24px; } +.icon-file { background-position: -24px -24px; } +.icon-time { background-position: -48px -24px; } +.icon-road { background-position: -72px -24px; } +.icon-download-alt { background-position: -96px -24px; } +.icon-download { background-position: -120px -24px; } +.icon-upload { background-position: -144px -24px; } +.icon-inbox { background-position: -168px -24px; } +.icon-play-circle { background-position: -192px -24px; } +.icon-repeat { background-position: -216px -24px; } +.icon-refresh { background-position: -240px -24px; } +.icon-list-alt { background-position: -264px -24px; } +.icon-lock { background-position: -287px -24px; } // 1px off +.icon-flag { background-position: -312px -24px; } +.icon-headphones { background-position: -336px -24px; } +.icon-volume-off { background-position: -360px -24px; } +.icon-volume-down { background-position: -384px -24px; } +.icon-volume-up { background-position: -408px -24px; } +.icon-qrcode { background-position: -432px -24px; } +.icon-barcode { background-position: -456px -24px; } + +.icon-tag { background-position: 0 -48px; } +.icon-tags { background-position: -25px -48px; } // 1px off +.icon-book { background-position: -48px -48px; } +.icon-bookmark { background-position: -72px -48px; } +.icon-print { background-position: -96px -48px; } +.icon-camera { background-position: -120px -48px; } +.icon-font { background-position: -144px -48px; } +.icon-bold { background-position: -167px -48px; } // 1px off +.icon-italic { background-position: -192px -48px; } +.icon-text-height { background-position: -216px -48px; } +.icon-text-width { background-position: -240px -48px; } +.icon-align-left { background-position: -264px -48px; } +.icon-align-center { background-position: -288px -48px; } +.icon-align-right { background-position: -312px -48px; } +.icon-align-justify { background-position: -336px -48px; } +.icon-list { background-position: -360px -48px; } +.icon-indent-left { background-position: -384px -48px; } +.icon-indent-right { background-position: -408px -48px; } +.icon-facetime-video { background-position: -432px -48px; } +.icon-picture { background-position: -456px -48px; } + +.icon-pencil { background-position: 0 -72px; } +.icon-map-marker { background-position: -24px -72px; } +.icon-adjust { background-position: -48px -72px; } +.icon-tint { background-position: -72px -72px; } +.icon-edit { background-position: -96px -72px; } +.icon-share { background-position: -120px -72px; } +.icon-check { background-position: -144px -72px; } +.icon-move { background-position: -168px -72px; } +.icon-step-backward { background-position: -192px -72px; } +.icon-fast-backward { background-position: -216px -72px; } +.icon-backward { background-position: -240px -72px; } +.icon-play { background-position: -264px -72px; } +.icon-pause { background-position: -288px -72px; } +.icon-stop { background-position: -312px -72px; } +.icon-forward { background-position: -336px -72px; } +.icon-fast-forward { background-position: -360px -72px; } +.icon-step-forward { background-position: -384px -72px; } +.icon-eject { background-position: -408px -72px; } +.icon-chevron-left { background-position: -432px -72px; } +.icon-chevron-right { background-position: -456px -72px; } + +.icon-plus-sign { background-position: 0 -96px; } +.icon-minus-sign { background-position: -24px -96px; } +.icon-remove-sign { background-position: -48px -96px; } +.icon-ok-sign { background-position: -72px -96px; } +.icon-question-sign { background-position: -96px -96px; } +.icon-info-sign { background-position: -120px -96px; } +.icon-screenshot { background-position: -144px -96px; } +.icon-remove-circle { background-position: -168px -96px; } +.icon-ok-circle { background-position: -192px -96px; } +.icon-ban-circle { background-position: -216px -96px; } +.icon-arrow-left { background-position: -240px -96px; } +.icon-arrow-right { background-position: -264px -96px; } +.icon-arrow-up { background-position: -289px -96px; } // 1px off +.icon-arrow-down { background-position: -312px -96px; } +.icon-share-alt { background-position: -336px -96px; } +.icon-resize-full { background-position: -360px -96px; } +.icon-resize-small { background-position: -384px -96px; } +.icon-plus { background-position: -408px -96px; } +.icon-minus { background-position: -433px -96px; } +.icon-asterisk { background-position: -456px -96px; } + +.icon-exclamation-sign { background-position: 0 -120px; } +.icon-gift { background-position: -24px -120px; } +.icon-leaf { background-position: -48px -120px; } +.icon-fire { background-position: -72px -120px; } +.icon-eye-open { background-position: -96px -120px; } +.icon-eye-close { background-position: -120px -120px; } +.icon-warning-sign { background-position: -144px -120px; } +.icon-plane { background-position: -168px -120px; } +.icon-calendar { background-position: -192px -120px; } +.icon-random { background-position: -216px -120px; } +.icon-comment { background-position: -240px -120px; } +.icon-magnet { background-position: -264px -120px; } +.icon-chevron-up { background-position: -288px -120px; } +.icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off +.icon-retweet { background-position: -336px -120px; } +.icon-shopping-cart { background-position: -360px -120px; } +.icon-folder-close { background-position: -384px -120px; } +.icon-folder-open { background-position: -408px -120px; } +.icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off +.icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off + +.icon-hdd { background-position: 0 -144px; } +.icon-bullhorn { background-position: -24px -144px; } +.icon-bell { background-position: -48px -144px; } +.icon-certificate { background-position: -72px -144px; } +.icon-thumbs-up { background-position: -96px -144px; } +.icon-thumbs-down { background-position: -120px -144px; } +.icon-hand-right { background-position: -144px -144px; } +.icon-hand-left { background-position: -168px -144px; } +.icon-hand-up { background-position: -192px -144px; } +.icon-hand-down { background-position: -216px -144px; } +.icon-circle-arrow-right { background-position: -240px -144px; } +.icon-circle-arrow-left { background-position: -264px -144px; } +.icon-circle-arrow-up { background-position: -288px -144px; } +.icon-circle-arrow-down { background-position: -312px -144px; } +.icon-globe { background-position: -336px -144px; } +.icon-wrench { background-position: -360px -144px; } +.icon-tasks { background-position: -384px -144px; } +.icon-filter { background-position: -408px -144px; } +.icon-briefcase { background-position: -432px -144px; } +.icon-fullscreen { background-position: -456px -144px; } + + + + + + + + + + + + diff --git a/docs/assets/less/twbs-203/.svn/text-base/tables.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/tables.less.svn-base new file mode 100644 index 000000000..b4f6027bf --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/tables.less.svn-base @@ -0,0 +1,176 @@ +// +// Tables.less +// Tables for, you guessed it, tabular data +// ---------------------------------------- + + +// BASE TABLES +// ----------------- + +table { + max-width: 100%; + background-color: @tableBackground; + border-collapse: collapse; + border-spacing: 0; +} + +// BASELINE STYLES +// --------------- + +.table { + width: 100%; + margin-bottom: @baseLineHeight; + // Cells + th, + td { + padding: 8px; + line-height: @baseLineHeight; + text-align: left; + vertical-align: top; + border-top: 1px solid @tableBorder; + } + th { + font-weight: bold; + } + // Bottom align for column headings + thead th { + vertical-align: bottom; + } + // Remove top border from thead by default + caption + thead tr:first-child th, + caption + thead tr:first-child td, + colgroup + thead tr:first-child th, + colgroup + thead tr:first-child td, + thead:first-child tr:first-child th, + thead:first-child tr:first-child td { + border-top: 0; + } + // Account for multiple tbody instances + tbody + tbody { + border-top: 2px solid @tableBorder; + } +} + + + +// CONDENSED TABLE W/ HALF PADDING +// ------------------------------- + +.table-condensed { + th, + td { + padding: 4px 5px; + } +} + + +// BORDERED VERSION +// ---------------- + +.table-bordered { + border: 1px solid @tableBorder; + border-collapse: separate; // Done so we can round those corners! + *border-collapse: collapsed; // IE7 can't round corners anyway + border-left: 0; + .border-radius(4px); + th, + td { + border-left: 1px solid @tableBorder; + } + // Prevent a double border + caption + thead tr:first-child th, + caption + tbody tr:first-child th, + caption + tbody tr:first-child td, + colgroup + thead tr:first-child th, + colgroup + tbody tr:first-child th, + colgroup + tbody tr:first-child td, + thead:first-child tr:first-child th, + tbody:first-child tr:first-child th, + tbody:first-child tr:first-child td { + border-top: 0; + } + // For first th or td in the first row in the first thead or tbody + thead:first-child tr:first-child th:first-child, + tbody:first-child tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + } + thead:first-child tr:first-child th:last-child, + tbody:first-child tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + } + // For first th or td in the first row in the first thead or tbody + thead:last-child tr:last-child th:first-child, + tbody:last-child tr:last-child td:first-child { + .border-radius(0 0 0 4px); + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + } + thead:last-child tr:last-child th:last-child, + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + } +} + + +// ZEBRA-STRIPING +// -------------- + +// Default zebra-stripe styles (alternating gray and transparent backgrounds) +.table-striped { + tbody { + tr:nth-child(odd) td, + tr:nth-child(odd) th { + background-color: @tableBackgroundAccent; + } + } +} + + +// HOVER EFFECT +// ------------ +// Placed here since it has to come after the potential zebra striping +.table { + tbody tr:hover td, + tbody tr:hover th { + background-color: @tableBackgroundHover; + } +} + + +// TABLE CELL SIZING +// ----------------- + +// Change the columns +table { + .span1 { .tableColumns(1); } + .span2 { .tableColumns(2); } + .span3 { .tableColumns(3); } + .span4 { .tableColumns(4); } + .span5 { .tableColumns(5); } + .span6 { .tableColumns(6); } + .span7 { .tableColumns(7); } + .span8 { .tableColumns(8); } + .span9 { .tableColumns(9); } + .span10 { .tableColumns(10); } + .span11 { .tableColumns(11); } + .span12 { .tableColumns(12); } + .span13 { .tableColumns(13); } + .span14 { .tableColumns(14); } + .span15 { .tableColumns(15); } + .span16 { .tableColumns(16); } + .span17 { .tableColumns(17); } + .span18 { .tableColumns(18); } + .span19 { .tableColumns(19); } + .span20 { .tableColumns(20); } + .span21 { .tableColumns(21); } + .span22 { .tableColumns(22); } + .span23 { .tableColumns(23); } + .span24 { .tableColumns(24); } +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/thumbnails.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/thumbnails.less.svn-base new file mode 100644 index 000000000..aa69f8e33 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/thumbnails.less.svn-base @@ -0,0 +1,47 @@ +// THUMBNAILS +// ---------- +// Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files + +// Make wrapper ul behave like the grid +.thumbnails { + margin-left: -@gridGutterWidth; + list-style: none; + .clearfix(); +} +// Fluid rows have no left margin +.row-fluid .thumbnails { + margin-left: 0; +} + +// Float li to make thumbnails appear in a row +.thumbnails > li { + float: left; // Explicity set the float since we don't require .span* classes + margin-bottom: @baseLineHeight; + margin-left: @gridGutterWidth; +} + +// The actual thumbnail (can be `a` or `div`) +.thumbnail { + display: block; + padding: 4px; + line-height: 1; + border: 1px solid #ddd; + .border-radius(4px); + .box-shadow(0 1px 1px rgba(0,0,0,.075)); +} +// Add a hover state for linked versions only +a.thumbnail:hover { + border-color: @linkColor; + .box-shadow(0 1px 4px rgba(0,105,214,.25)); +} + +// Images and captions +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/tooltip.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/tooltip.less.svn-base new file mode 100644 index 000000000..5111a193f --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/tooltip.less.svn-base @@ -0,0 +1,35 @@ +// TOOLTIP +// ------= + +.tooltip { + position: absolute; + z-index: @zindexTooltip; + display: block; + visibility: visible; + padding: 5px; + font-size: 11px; + .opacity(0); + &.in { .opacity(80); } + &.top { margin-top: -2px; } + &.right { margin-left: 2px; } + &.bottom { margin-top: 2px; } + &.left { margin-left: -2px; } + &.top .tooltip-arrow { #popoverArrow > .top(); } + &.left .tooltip-arrow { #popoverArrow > .left(); } + &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } + &.right .tooltip-arrow { #popoverArrow > .right(); } +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: @white; + text-align: center; + text-decoration: none; + background-color: @black; + .border-radius(4px); +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/type.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/type.less.svn-base new file mode 100644 index 000000000..0d5621934 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/type.less.svn-base @@ -0,0 +1,235 @@ +// Typography.less +// Headings, body text, lists, code, and more for a versatile and durable typography system +// ---------------------------------------------------------------------------------------- + + +// BODY TEXT +// --------- + +p { + margin: 0 0 @baseLineHeight / 2; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + small { + font-size: @baseFontSize - 2; + color: @grayLight; + } +} +.lead { + margin-bottom: @baseLineHeight; + font-size: 20px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; +} + +// HEADINGS +// -------- + +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-family: @headingsFontFamily; + font-weight: @headingsFontWeight; + color: @headingsColor; + text-rendering: optimizelegibility; // Fix the character spacing for headings + small { + font-weight: normal; + color: @grayLight; + } +} +h1 { + font-size: 30px; + line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h2 { + font-size: 24px; + line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h3 { + font-size: 18px; + line-height: @baseLineHeight * 1.5; + small { + font-size: 14px; + } +} +h4, h5, h6 { + line-height: @baseLineHeight; +} +h4 { + font-size: 14px; + small { + font-size: 12px; + } +} +h5 { + font-size: 12px; +} +h6 { + font-size: 11px; + color: @grayLight; + text-transform: uppercase; +} + +// Page header +.page-header { + padding-bottom: @baseLineHeight - 1; + margin: @baseLineHeight 0; + border-bottom: 1px solid @grayLighter; +} +.page-header h1 { + line-height: 1; +} + + + +// LISTS +// ----- + +// Unordered and Ordered lists +ul, ol { + padding: 0; + margin: 0 0 @baseLineHeight / 2 25px; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} +ul { + list-style: disc; +} +ol { + list-style: decimal; +} +li { + line-height: @baseLineHeight; +} +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +// Description Lists +dl { + margin-bottom: @baseLineHeight; +} +dt, +dd { + line-height: @baseLineHeight; +} +dt { + font-weight: bold; + line-height: @baseLineHeight - 1; // fix jank Helvetica Neue font bug +} +dd { + margin-left: @baseLineHeight / 2; +} +// Horizontal layout (like forms) +.dl-horizontal { + dt { + float: left; + width: 120px; + clear: left; + text-align: right; + .text-overflow(); + } + dd { + margin-left: 130px; + } +} + +// MISC +// ---- + +// Horizontal rules +hr { + margin: @baseLineHeight 0; + border: 0; + border-top: 1px solid @hrBorder; + border-bottom: 1px solid @white; +} + +// Emphasis +strong { + font-weight: bold; +} +em { + font-style: italic; +} +.muted { + color: @grayLight; +} + +// Abbreviations and acronyms +abbr[title] { + cursor: help; + border-bottom: 1px dotted #ddd; +} +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +// Blockquotes +blockquote { + padding: 0 0 0 15px; + margin: 0 0 @baseLineHeight; + border-left: 5px solid @grayLighter; + p { + margin-bottom: 0; + #font > .shorthand(16px,300,@baseLineHeight * 1.25); + } + small { + display: block; + line-height: @baseLineHeight; + color: @grayLight; + &:before { + content: '\2014 \00A0'; + } + } + + // Float right with text-align: right + &.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid @grayLighter; + border-left: 0; + p, + small { + text-align: right; + } + } +} + +// Quotes +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +// Addresses +address { + display: block; + margin-bottom: @baseLineHeight; + font-style: normal; + line-height: @baseLineHeight; +} + +// Misc +small { + font-size: 100%; +} +cite { + font-style: normal; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/utilities.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/utilities.less.svn-base new file mode 100644 index 000000000..d60d22031 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/utilities.less.svn-base @@ -0,0 +1,23 @@ +// UTILITY CLASSES +// --------------- + +// Quick floats +.pull-right { + float: right; +} +.pull-left { + float: left; +} + +// Toggling content +.hide { + display: none; +} +.show { + display: block; +} + +// Visibility +.invisible { + visibility: hidden; +} diff --git a/docs/assets/less/twbs-203/.svn/text-base/variables.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/variables.less.svn-base new file mode 100644 index 000000000..d8825fb07 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/variables.less.svn-base @@ -0,0 +1,205 @@ +// Variables.less +// Variables to customize the look and feel of Bootstrap +// ----------------------------------------------------- + + + +// GLOBAL VALUES +// -------------------------------------------------- + + +// Grays +// ------------------------- +@black: #000; +@grayDarker: #222; +@grayDark: #333; +@gray: #555; +@grayLight: #999; +@grayLighter: #eee; +@white: #fff; + + +// Accent colors +// ------------------------- +@blue: #049cdb; +@blueDark: #0064cd; +@green: #46a546; +@red: #9d261d; +@yellow: #ffc40d; +@orange: #f89406; +@pink: #c3325f; +@purple: #7a43b6; + + +// Scaffolding +// ------------------------- +@bodyBackground: @white; +@textColor: @grayDark; + + +// Links +// ------------------------- +@linkColor: #08c; +@linkColorHover: darken(@linkColor, 15%); + + +// Typography +// ------------------------- +@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif; +@serifFontFamily: Georgia, "Times New Roman", Times, serif; +@monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace; + +@baseFontSize: 13px; +@baseFontFamily: @sansFontFamily; +@baseLineHeight: 18px; +@altFontFamily: @serifFontFamily; + +@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily +@headingsFontWeight: bold; // instead of browser default, bold +@headingsColor: inherit; // empty to use BS default, @textColor + + +// Tables +// ------------------------- +@tableBackground: transparent; // overall background-color +@tableBackgroundAccent: #f9f9f9; // for striping +@tableBackgroundHover: #f5f5f5; // for hover +@tableBorder: #ddd; // table and cell border + + +// Buttons +// ------------------------- +@btnBackground: @white; +@btnBackgroundHighlight: darken(@white, 10%); +@btnBorder: #ccc; + +@btnPrimaryBackground: @linkColor; +@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%); + +@btnInfoBackground: #5bc0de; +@btnInfoBackgroundHighlight: #2f96b4; + +@btnSuccessBackground: #62c462; +@btnSuccessBackgroundHighlight: #51a351; + +@btnWarningBackground: lighten(@orange, 15%); +@btnWarningBackgroundHighlight: @orange; + +@btnDangerBackground: #ee5f5b; +@btnDangerBackgroundHighlight: #bd362f; + +@btnInverseBackground: @gray; +@btnInverseBackgroundHighlight: @grayDarker; + + +// Forms +// ------------------------- +@inputBackground: @white; +@inputBorder: #ccc; +@inputBorderRadius: 3px; +@inputDisabledBackground: @grayLighter; +@formActionsBackground: #f5f5f5; + +// Dropdowns +// ------------------------- +@dropdownBackground: @white; +@dropdownBorder: rgba(0,0,0,.2); +@dropdownLinkColor: @grayDark; +@dropdownLinkColorHover: @white; +@dropdownLinkBackgroundHover: @linkColor; + + + + +// COMPONENT VARIABLES +// -------------------------------------------------- + +// Z-index master list +// ------------------------- +// Used for a bird's eye view of components dependent on the z-axis +// Try to avoid customizing these :) +@zindexDropdown: 1000; +@zindexPopover: 1010; +@zindexTooltip: 1020; +@zindexFixedNavbar: 1030; +@zindexModalBackdrop: 1040; +@zindexModal: 1050; + + +// Sprite icons path +// ------------------------- +@iconSpritePath: "../img/glyphicons-halflings.png"; +@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png"; + + +// Input placeholder text color +// ------------------------- +@placeholderText: @grayLight; + + +// Hr border color +// ------------------------- +@hrBorder: @grayLighter; + + +// Navbar +// ------------------------- +@navbarHeight: 40px; +@navbarBackground: @grayDarker; +@navbarBackgroundHighlight: @grayDark; + +@navbarText: @grayLight; +@navbarLinkColor: @grayLight; +@navbarLinkColorHover: @white; +@navbarLinkColorActive: @navbarLinkColorHover; +@navbarLinkBackgroundHover: transparent; +@navbarLinkBackgroundActive: @navbarBackground; + +@navbarSearchBackground: lighten(@navbarBackground, 25%); +@navbarSearchBackgroundFocus: @white; +@navbarSearchBorder: darken(@navbarSearchBackground, 30%); +@navbarSearchPlaceholderColor: #ccc; +@navbarBrandColor: @navbarLinkColor; + + +// Hero unit +// ------------------------- +@heroUnitBackground: @grayLighter; +@heroUnitHeadingColor: inherit; +@heroUnitLeadColor: inherit; + + +// Form states and alerts +// ------------------------- +@warningText: #c09853; +@warningBackground: #fcf8e3; +@warningBorder: darken(spin(@warningBackground, -10), 3%); + +@errorText: #b94a48; +@errorBackground: #f2dede; +@errorBorder: darken(spin(@errorBackground, -10), 3%); + +@successText: #468847; +@successBackground: #dff0d8; +@successBorder: darken(spin(@successBackground, -10), 5%); + +@infoText: #3a87ad; +@infoBackground: #d9edf7; +@infoBorder: darken(spin(@infoBackground, -10), 7%); + + + +// GRID +// -------------------------------------------------- + +// Default 940px grid +// ------------------------- +@gridColumns: 12; +@gridColumnWidth: 60px; +@gridGutterWidth: 20px; +@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); + +// Fluid grid +// ------------------------- +@fluidGridColumnWidth: 6.382978723%; +@fluidGridGutterWidth: 2.127659574%; diff --git a/docs/assets/less/twbs-203/.svn/text-base/wells.less.svn-base b/docs/assets/less/twbs-203/.svn/text-base/wells.less.svn-base new file mode 100644 index 000000000..9300061a5 --- /dev/null +++ b/docs/assets/less/twbs-203/.svn/text-base/wells.less.svn-base @@ -0,0 +1,27 @@ +// WELLS +// ----- + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #eee; + border: 1px solid rgba(0,0,0,.05); + .border-radius(4px); + .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); + blockquote { + border-color: #ddd; + border-color: rgba(0,0,0,.15); + } +} + +// Sizes +.well-large { + padding: 24px; + .border-radius(6px); +} +.well-small { + padding: 9px; + .border-radius(3px); +} diff --git a/docs/assets/less/twbs-203/accordion.less b/docs/assets/less/twbs-203/accordion.less new file mode 100755 index 000000000..31b8cdc33 --- /dev/null +++ b/docs/assets/less/twbs-203/accordion.less @@ -0,0 +1,33 @@ +// ACCORDION +// --------- + + +// Parent container +.accordion { + margin-bottom: @baseLineHeight; +} + +// Group == heading + body +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + .border-radius(4px); +} +.accordion-heading { + border-bottom: 0; +} +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +// General toggle styles +.accordion-toggle { + cursor: pointer; +} + +// Inner needs the styles because you can't animate properly with any styles on the element +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} diff --git a/docs/assets/less/twbs-203/alerts.less b/docs/assets/less/twbs-203/alerts.less new file mode 100755 index 000000000..46a0d77bf --- /dev/null +++ b/docs/assets/less/twbs-203/alerts.less @@ -0,0 +1,58 @@ +// ALERT STYLES +// ------------ + +// Base alert styles +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: @baseLineHeight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + background-color: @warningBackground; + border: 1px solid @warningBorder; + .border-radius(4px); + color: @warningText; +} +.alert-heading { + color: inherit; +} + +// Adjust close link position +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} + +// Alternate styles +// ---------------- + +.alert-success { + background-color: @successBackground; + border-color: @successBorder; + color: @successText; +} +.alert-danger, +.alert-error { + background-color: @errorBackground; + border-color: @errorBorder; + color: @errorText; +} +.alert-info { + background-color: @infoBackground; + border-color: @infoBorder; + color: @infoText; +} + +// Block alerts +// ------------------------ +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} diff --git a/docs/assets/less/twbs-203/bootstrap.less b/docs/assets/less/twbs-203/bootstrap.less new file mode 100755 index 000000000..78c15db4c --- /dev/null +++ b/docs/assets/less/twbs-203/bootstrap.less @@ -0,0 +1,62 @@ +/*! + * Bootstrap v2.0.3 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +// CSS Reset +@import "reset.less"; + +// Core variables and mixins +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + +// Grid system and page structure +@import "scaffolding.less"; +@import "grid.less"; +@import "layouts.less"; + +// Base CSS +@import "type.less"; +@import "code.less"; +@import "forms.less"; +@import "tables.less"; + +// Components: common +@import "../../font/font-awesome/font-awesome.less"; +@import "dropdowns.less"; +@import "wells.less"; +@import "component-animations.less"; +@import "close.less"; + +// Components: Buttons & Alerts +@import "buttons.less"; +@import "button-groups.less"; +@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less + +// Components: Nav +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; + +// Components: Popovers +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; + +// Components: Misc +@import "thumbnails.less"; +@import "labels-badges.less"; +@import "progress-bars.less"; +@import "accordion.less"; +@import "carousel.less"; +@import "hero-unit.less"; + +// Utility classes +@import "utilities.less"; // Has to be last to override when necessary diff --git a/docs/assets/less/twbs-203/breadcrumbs.less b/docs/assets/less/twbs-203/breadcrumbs.less new file mode 100755 index 000000000..111f12279 --- /dev/null +++ b/docs/assets/less/twbs-203/breadcrumbs.less @@ -0,0 +1,24 @@ +// BREADCRUMBS +// ----------- + +.breadcrumb { + padding: 7px 14px; + margin: 0 0 @baseLineHeight; + list-style: none; + #gradient > .vertical(@white, #f5f5f5); + border: 1px solid #ddd; + .border-radius(3px); + .box-shadow(inset 0 1px 0 @white); + li { + display: inline-block; + .ie7-inline-block(); + text-shadow: 0 1px 0 @white; + } + .divider { + padding: 0 5px; + color: @grayLight; + } + .active a { + color: @grayDark; + } +} diff --git a/docs/assets/less/twbs-203/button-groups.less b/docs/assets/less/twbs-203/button-groups.less new file mode 100755 index 000000000..5338c5a45 --- /dev/null +++ b/docs/assets/less/twbs-203/button-groups.less @@ -0,0 +1,191 @@ +// BUTTON GROUPS +// ------------- + + +// Make the div behave like a button +.btn-group { + position: relative; + .clearfix(); // clears the floated buttons + .ie7-restore-left-whitespace(); +} + +// Space out series of button groups +.btn-group + .btn-group { + margin-left: 5px; +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-top: @baseLineHeight / 2; + margin-bottom: @baseLineHeight / 2; + .btn-group { + display: inline-block; + .ie7-inline-block(); + } +} + +// Float them, remove border radius, then re-add to first and last elements +.btn-group > .btn { + position: relative; + float: left; + margin-left: -1px; + .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; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +// Reset corners for large buttons +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} + +// On hover/focus/active, bring the proper btn to front +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); + *padding-top: 4px; + *padding-bottom: 4px; +} +.btn-group > .btn-mini.dropdown-toggle { + padding-left: 5px; + padding-right: 5px; +} +.btn-group > .btn-small.dropdown-toggle { + *padding-top: 4px; + *padding-bottom: 4px; +} +.btn-group > .btn-large.dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +.btn-group.open { + + // The clickable button for toggling the menu + // Remove the gradient and set the same inset shadow as the :active state + .dropdown-toggle { + background-image: none; + .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); + } + + // Keep the hover's background when dropdown is open + .btn.dropdown-toggle { + background-color: @btnBackgroundHighlight; + } + .btn-primary.dropdown-toggle { + background-color: @btnPrimaryBackgroundHighlight; + } + .btn-warning.dropdown-toggle { + background-color: @btnWarningBackgroundHighlight; + } + .btn-danger.dropdown-toggle { + background-color: @btnDangerBackgroundHighlight; + } + .btn-success.dropdown-toggle { + background-color: @btnSuccessBackgroundHighlight; + } + .btn-info.dropdown-toggle { + background-color: @btnInfoBackgroundHighlight; + } + .btn-inverse.dropdown-toggle { + background-color: @btnInverseBackgroundHighlight; + } +} + + +// Reposition the caret +.btn .caret { + margin-top: 7px; + margin-left: 0; +} +.btn:hover .caret, +.open.btn-group .caret { + .opacity(100); +} +// Carets in other button sizes +.btn-mini .caret { + margin-top: 5px; +} +.btn-small .caret { + margin-top: 6px; +} +.btn-large .caret { + margin-top: 6px; + border-left-width: 5px; + border-right-width: 5px; + border-top-width: 5px; +} +// Upside down carets for .dropup +.dropup .btn-large .caret { + border-bottom: 5px solid @black; + border-top: 0; +} + + + +// Account for other colors +.btn-primary, +.btn-warning, +.btn-danger, +.btn-info, +.btn-success, +.btn-inverse { + .caret { + border-top-color: @white; + border-bottom-color: @white; + .opacity(75); + } +} + diff --git a/docs/assets/less/twbs-203/buttons.less b/docs/assets/less/twbs-203/buttons.less new file mode 100755 index 000000000..c44ff3e6f --- /dev/null +++ b/docs/assets/less/twbs-203/buttons.less @@ -0,0 +1,191 @@ +// BUTTON STYLES +// ------------- + + +// Base styles +// -------------------------------------------------- + +// Core +.btn { + display: inline-block; + .ie7-inline-block(); + padding: 4px 10px 4px; + margin-bottom: 0; // For input.btn + font-size: @baseFontSize; + line-height: @baseLineHeight; + *line-height: 20px; + color: @grayDark; + text-align: center; + text-shadow: 0 1px 1px rgba(255,255,255,.75); + vertical-align: middle; + cursor: pointer; + .buttonBackground(@btnBackground, @btnBackgroundHighlight); + border: 1px solid @btnBorder; + *border: 0; // Remove the border to prevent IE7's black border on input:focus + border-bottom-color: darken(@btnBorder, 10%); + .border-radius(4px); + .ie7-restore-left-whitespace(); // Give IE7 some love + .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); +} + +// Hover state +.btn:hover { + color: @grayDark; + text-decoration: none; + background-color: darken(@white, 10%); + *background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */ + background-position: 0 -15px; + + // transition is only when going to hover, otherwise the background + // behind the gradient (there for IE<=9 fallback) gets mismatched + .transition(background-position .1s linear); +} + +// Focus state for keyboard and accessibility +.btn:focus { + .tab-focus(); +} + +// Active state +.btn.active, +.btn:active { + background-color: darken(@white, 10%); + background-color: darken(@white, 15%) e("\9"); + background-image: none; + outline: 0; + .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); +} + +// Disabled state +.btn.disabled, +.btn[disabled] { + cursor: default; + background-color: darken(@white, 10%); + background-image: none; + .opacity(65); + .box-shadow(none); +} + + +// Button Sizes +// -------------------------------------------------- + +// Large +.btn-large { + padding: 9px 14px; + font-size: @baseFontSize + 2px; + line-height: normal; + .border-radius(5px); +} +.btn-large [class^="icon-"] { + margin-top: 1px; +} + +// Small +.btn-small { + padding: 5px 9px; + font-size: @baseFontSize - 2px; + line-height: @baseLineHeight - 2px; +} +.btn-small [class^="icon-"] { + margin-top: -1px; +} + +// Mini +.btn-mini { + padding: 2px 6px; + font-size: @baseFontSize - 2px; + line-height: @baseLineHeight - 4px; +} + + +// Alternate buttons +// -------------------------------------------------- + +// Set text color +// ------------------------- +.btn-primary, +.btn-primary:hover, +.btn-warning, +.btn-warning:hover, +.btn-danger, +.btn-danger:hover, +.btn-success, +.btn-success:hover, +.btn-info, +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); +} +// Provide *some* extra contrast for those who can get it +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255,255,255,.75); +} + +// Set the backgrounds +// ------------------------- +.btn { + // reset here as of 2.0.3 due to Recess property order + border-color: #ccc; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); +} +.btn-primary { + .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight); +} +// Warning appears are orange +.btn-warning { + .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight); +} +// Danger and error appear as red +.btn-danger { + .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight); +} +// Success appears as green +.btn-success { + .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight); +} +// Info appears as a neutral blue +.btn-info { + .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight); +} +// Inverse appears as dark gray +.btn-inverse { + .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight); +} + + +// Cross-browser Jank +// -------------------------------------------------- + +button.btn, +input[type="submit"].btn { + + // Firefox 3.6 only I believe + &::-moz-focus-inner { + padding: 0; + border: 0; + } + + // IE7 has some default padding on button controls + *padding-top: 2px; + *padding-bottom: 2px; + &.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; + } + &.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; + } + &.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; + } +} diff --git a/docs/assets/less/twbs-203/carousel.less b/docs/assets/less/twbs-203/carousel.less new file mode 100755 index 000000000..8fbd30315 --- /dev/null +++ b/docs/assets/less/twbs-203/carousel.less @@ -0,0 +1,121 @@ +// CAROUSEL +// -------- + +.carousel { + position: relative; + margin-bottom: @baseLineHeight; + line-height: 1; +} + +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} + +.carousel { + + .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + } + + // Account for jankitude on images + .item > img { + display: block; + line-height: 1; + } + + .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: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: @white; + text-align: center; + background: @grayDarker; + border: 3px solid @white; + .border-radius(23px); + .opacity(50); + + // we can't have this transition here + // because webkit cancels the carousel + // animation if you trip this while + // in the middle of another animation + // ;_; + // .transition(opacity .2s linear); + + // Reposition the right one + &.right { + left: auto; + right: 15px; + } + + // Hover state + &:hover { + color: @white; + text-decoration: none; + .opacity(90); + } +} + +// Caption for text below images +// ----------------------------- + +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 10px 15px 5px; + background: @grayDark; + background: rgba(0,0,0,.75); +} +.carousel-caption h4, +.carousel-caption p { + color: @white; +} diff --git a/docs/assets/less/twbs-203/close.less b/docs/assets/less/twbs-203/close.less new file mode 100755 index 000000000..31fe6fcb3 --- /dev/null +++ b/docs/assets/less/twbs-203/close.less @@ -0,0 +1,29 @@ +// CLOSE ICONS +// ----------- + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: @baseLineHeight; + color: @black; + text-shadow: 0 1px 0 rgba(255,255,255,1); + .opacity(20); + &:hover { + color: @black; + text-decoration: none; + cursor: pointer; + .opacity(40); + } +} + +// Additional properties for button version +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/code.less b/docs/assets/less/twbs-203/code.less new file mode 100755 index 000000000..0cae749a0 --- /dev/null +++ b/docs/assets/less/twbs-203/code.less @@ -0,0 +1,57 @@ +// Code.less +// Code typography styles for the and
     elements
    +// --------------------------------------------------------
    +
    +// Inline and block code styles
    +code,
    +pre {
    +  padding: 0 3px 2px;
    +  #font > #family > .monospace;
    +  font-size: @baseFontSize - 1;
    +  color: @grayDark;
    +  .border-radius(3px);
    +}
    +
    +// Inline code
    +code {
    +  padding: 2px 4px;
    +  color: #d14;
    +  background-color: #f7f7f9;
    +  border: 1px solid #e1e1e8;
    +}
    +
    +// Blocks of code
    +pre {
    +  display: block;
    +  padding: (@baseLineHeight - 1) / 2;
    +  margin: 0 0 @baseLineHeight / 2;
    +  font-size: @baseFontSize * .925; // 13px to 12px
    +  line-height: @baseLineHeight;
    +  word-break: break-all;
    +  word-wrap: break-word;
    +  white-space: pre;
    +  white-space: pre-wrap;
    +  background-color: #f5f5f5;
    +  border: 1px solid #ccc; // fallback for IE7-8
    +  border: 1px solid rgba(0,0,0,.15);
    +  .border-radius(4px);
    +
    +  // Make prettyprint styles more spaced out for readability
    +  &.prettyprint {
    +    margin-bottom: @baseLineHeight;
    +  }
    +
    +  // Account for some code outputs that place code tags in pre tags
    +  code {
    +    padding: 0;
    +    color: inherit;
    +    background-color: transparent;
    +    border: 0;
    +  }
    +}
    +
    +// Enable scrollable blocks of code
    +.pre-scrollable {
    +  max-height: 340px;
    +  overflow-y: scroll;
    +}
    \ No newline at end of file
    diff --git a/docs/assets/less/twbs-203/component-animations.less b/docs/assets/less/twbs-203/component-animations.less
    new file mode 100755
    index 000000000..da1f2e535
    --- /dev/null
    +++ b/docs/assets/less/twbs-203/component-animations.less
    @@ -0,0 +1,20 @@
    +// COMPONENT ANIMATIONS
    +// --------------------
    +
    +.fade {
    +  .opacity(0);
    +  .transition(opacity .15s linear);
    +  &.in {
    +    .opacity(100);
    +  }
    +}
    +
    +.collapse {
    +  position: relative;
    +  height: 0;
    +  overflow: hidden;
    +  .transition(height .35s ease);
    +  &.in {
    +    height: auto;
    +  }
    +}
    \ No newline at end of file
    diff --git a/docs/assets/less/twbs-203/dropdowns.less b/docs/assets/less/twbs-203/dropdowns.less
    new file mode 100755
    index 000000000..6c60385e5
    --- /dev/null
    +++ b/docs/assets/less/twbs-203/dropdowns.less
    @@ -0,0 +1,143 @@
    +// DROPDOWN MENUS
    +// --------------
    +
    +// Use the .menu class on any 
  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle { + // The caret makes the toggle a bit too tall in IE7 + *margin-bottom: -3px; +} +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +// Dropdown arrow/caret +// -------------------- +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid @black; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; + .opacity(30); +} + +// Place the caret +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} +.dropdown:hover .caret, +.open .caret { + .opacity(100); +} + +// The dropdown menu (ul) +// ---------------------- +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindexDropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 4px 0; + margin: 1px 0 0; // override default ul + list-style: none; + background-color: @dropdownBackground; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + .border-radius(5px); + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + // Aligns the dropdown menu to right + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + .nav-divider(); + } + + // Links within the dropdown menu + a { + display: block; + padding: 3px 15px; + clear: both; + font-weight: normal; + line-height: @baseLineHeight; + color: @dropdownLinkColor; + white-space: nowrap; + } +} + +// Hover state +// ----------- +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: @dropdownLinkColorHover; + text-decoration: none; + background-color: @dropdownLinkBackgroundHover; +} + +// Open state for the dropdown +// --------------------------- +.open { + // IE7's z-index only goes to the nearest positioned ancestor, which would + // make the menu appear below buttons that appeared later on the page + *z-index: @zindexDropdown; + + .dropdown-menu { + display: block; + } +} + +// 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: 4px solid @black; + content: "\2191"; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; + } +} + +// Typeahead +// --------- +.typeahead { + margin-top: 2px; // give it some space to breathe + .border-radius(4px); +} diff --git a/docs/assets/less/twbs-203/forms.less b/docs/assets/less/twbs-203/forms.less new file mode 100755 index 000000000..7d967c6b3 --- /dev/null +++ b/docs/assets/less/twbs-203/forms.less @@ -0,0 +1,584 @@ +// Forms.less +// Base styles for various input types, form layouts, and states +// ------------------------------------------------------------- + + +// GENERAL STYLES +// -------------- + +// Make all forms have space below them +form { + margin: 0 0 @baseLineHeight; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +// Groups of fields with labels on top (legends) +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @baseLineHeight * 1.5; + font-size: @baseFontSize * 1.5; + line-height: @baseLineHeight * 2; + color: @grayDark; + border: 0; + border-bottom: 1px solid #eee; + + // Small + small { + font-size: @baseLineHeight * .75; + color: @grayLight; + } +} + +// Set font for forms +label, +input, +button, +select, +textarea { + #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here +} +input, +button, +select, +textarea { + font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element) +} + +// Identify controls by their labels +label { + display: block; + margin-bottom: 5px; + color: @grayDark; +} + +// Inputs, Textareas, Selects +input, +textarea, +select, +.uneditable-input { + display: inline-block; + width: 210px; + height: @baseLineHeight; + padding: 4px; + margin-bottom: 9px; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @gray; + background-color: @inputBackground; + border: 1px solid @inputBorder; + .border-radius(@inputBorderRadius); +} +.uneditable-textarea { + width: auto; + height: auto; +} + +// Inputs within a label +label input, +label textarea, +label select { + display: block; +} + +// Mini reset for unique input types +input[type="image"], +input[type="checkbox"], +input[type="radio"] { + width: auto; + height: auto; + padding: 0; + margin: 3px 0; + *margin-top: 0; /* IE7 */ + line-height: normal; + cursor: pointer; + background-color: transparent; + border: 0 \9; /* IE9 and down */ + .border-radius(0); +} +input[type="image"] { + border: 0; +} + +// Reset the file input to browser defaults +input[type="file"] { + width: auto; + padding: initial; + line-height: initial; + background-color: @inputBackground; + background-color: initial; + border: initial; + .box-shadow(none); +} + +// Help out input buttons +input[type="button"], +input[type="reset"], +input[type="submit"] { + width: auto; + height: auto; +} + +// Set the height of select and file controls to match text inputs +select, +input[type="file"] { + height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; /* For IE7, add top margin to align select with labels */ + line-height: 28px; +} + +// Reset line-height for IE +input[type="file"] { + line-height: 18px \9; +} + +// Chrome on Linux and Mobile Safari need background-color +select { + width: 220px; // default input width + 10px of padding that doesn't get applied + background-color: @inputBackground; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Remove shadow from image inputs +input[type="image"] { + .box-shadow(none); +} + +// Make textarea height behave +textarea { + height: auto; +} + +// Hidden inputs +input[type="hidden"] { + display: none; +} + + + +// CHECKBOXES & RADIOS +// ------------------- + +// Indent the labels to position radios/checkboxes as hanging +.radio, +.checkbox { + min-height: 18px; // clear the floating input if there is no label text + padding-left: 18px; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +// Move the options list down to align with labels +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; // has to be padding because margin collaspes +} + +// Radios and checkboxes on same line +// TODO v3: Convert .inline to .control-inline +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; // space out consecutive inline controls +} + + + +// FOCUS STATE +// ----------- + +input, +textarea { + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + @transition: border linear .2s, box-shadow linear .2s; + .transition(@transition); +} +input:focus, +textarea:focus { + border-color: rgba(82,168,236,.8); + outline: 0; + outline: thin dotted \9; /* IE6-9 */ + .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)"); +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { + .tab-focus(); + .box-shadow(none); // override for file inputs +} + + + +// INPUT SIZES +// ----------- + +// General classes for quick sizes +.input-mini { width: 60px; } +.input-small { width: 90px; } +.input-medium { width: 150px; } +.input-large { width: 210px; } +.input-xlarge { width: 270px; } +.input-xxlarge { width: 530px; } + +// Grid style input sizes +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +// Redeclare since the fluid row class is more specific +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + + + +// GRID SIZING FOR INPUTS +// ---------------------- + +#grid > .input (@gridColumnWidth, @gridGutterWidth); + + + + +// DISABLED STATE +// -------------- + +// Disabled and read-only inputs +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: @inputDisabledBackground; + border-color: #ddd; +} +// Explicitly reset the colors here +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + + + + +// FORM FIELD FEEDBACK STATES +// -------------------------- + +// Warning +.control-group.warning { + .formFieldState(@warningText, @warningText, @warningBackground); +} +// Error +.control-group.error { + .formFieldState(@errorText, @errorText, @errorBackground); +} +// Success +.control-group.success { + .formFieldState(@successText, @successText, @successBackground); +} + +// HTML5 invalid states +// Shares styles with the .control-group.error above +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; + &:focus { + border-color: darken(#ee5f5b, 10%); + .box-shadow(0 0 6px lighten(#ee5f5b, 20%)); + } +} + + + +// FORM ACTIONS +// ------------ + +.form-actions { + padding: (@baseLineHeight - 1) 20px @baseLineHeight; + margin-top: @baseLineHeight; + margin-bottom: @baseLineHeight; + background-color: @formActionsBackground; + border-top: 1px solid #ddd; + .clearfix(); // Adding clearfix to allow for .pull-right button containers +} + +// For text that needs to appear as an input but should not be an input +.uneditable-input { + overflow: hidden; // prevent text from wrapping, but still cut it off like an input does + white-space: nowrap; + cursor: not-allowed; + background-color: @inputBackground; + border-color: #eee; + .box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); +} + +// Placeholder text gets special styles; can't be bundled together though for some reason +.placeholder(@grayLight); + + + +// HELP TEXT +// --------- + +.help-block, +.help-inline { + color: @gray; // lighten the text some for contrast +} + +.help-block { + display: block; // account for any element using help-block + margin-bottom: @baseLineHeight / 2; +} + +.help-inline { + display: inline-block; + .ie7-inline-block(); + vertical-align: middle; + padding-left: 5px; +} + + + +// INPUT GROUPS +// ------------ + +// Allow us to put symbols and text within the input field for a cleaner look +.input-prepend, +.input-append { + margin-bottom: 5px; + input, + select, + .uneditable-input { + position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness + margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms + *margin-left: 0; + vertical-align: middle; + .border-radius(0 @inputBorderRadius @inputBorderRadius 0); + // Make input on top when focused so blue border and shadow always show + &:focus { + z-index: 2; + } + } + .uneditable-input { + border-left-color: #ccc; + } + .add-on { + display: inline-block; + width: auto; + height: @baseLineHeight; + min-width: 16px; + padding: 4px 5px; + font-weight: normal; + line-height: @baseLineHeight; + text-align: center; + text-shadow: 0 1px 0 @white; + vertical-align: middle; + background-color: @grayLighter; + border: 1px solid #ccc; + } + .add-on, + .btn { + margin-left: -1px; + .border-radius(0); + } + .active { + background-color: lighten(@green, 30); + border-color: @green; + } +} +.input-prepend { + .add-on, + .btn { + margin-right: -1px; + } + .add-on:first-child, + .btn:first-child { + .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); + } +} +.input-append { + input, + select, + .uneditable-input { + .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); + } + .uneditable-input { + border-right-color: #ccc; + border-left-color: #eee; + } + .add-on:last-child, + .btn:last-child { + .border-radius(0 @inputBorderRadius @inputBorderRadius 0); + } +} +// Remove all border-radius for inputs with both prepend and append +.input-prepend.input-append { + input, + select, + .uneditable-input { + .border-radius(0); + } + .add-on:first-child, + .btn:first-child { + margin-right: -1px; + .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); + } + .add-on:last-child, + .btn:last-child { + margin-left: -1px; + .border-radius(0 @inputBorderRadius @inputBorderRadius 0); + } +} + + + +// SEARCH FORM +// ----------- + +.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ + margin-bottom: 0; // remove the default margin on all inputs + .border-radius(14px); +} + + + +// HORIZONTAL & VERTICAL FORMS +// --------------------------- + +// Common properties +// ----------------- + +.form-search, +.form-inline, +.form-horizontal { + input, + textarea, + select, + .help-inline, + .uneditable-input, + .input-prepend, + .input-append { + display: inline-block; + .ie7-inline-block(); + margin-bottom: 0; + } + // Re-hide hidden elements due to specifity + .hide { + display: none; + } +} +.form-search label, +.form-inline label { + display: inline-block; +} +// Remove margin for input-prepend/-append +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} +// Inline checkbox/radio labels (remove padding on left) +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +// Remove float and margin, set to inline-block +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + + +// Margin to space out fieldsets +.control-group { + margin-bottom: @baseLineHeight / 2; +} + +// Legend collapses margin, so next element is responsible for spacing +legend + .control-group { + margin-top: @baseLineHeight; + -webkit-margin-top-collapse: separate; +} + +// Horizontal-specific styles +// -------------------------- + +.form-horizontal { + // Increase spacing between groups + .control-group { + margin-bottom: @baseLineHeight; + .clearfix(); + } + // Float the labels left + .control-label { + float: left; + width: 140px; + padding-top: 5px; + text-align: right; + } + // Move over all input controls and content + .controls { + // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend + // don't inherit the margin of the parent, in this case .controls + *display: inline-block; + *padding-left: 20px; + margin-left: 160px; + *margin-left: 0; + &:first-child { + *padding-left: 160px; + } + } + // Remove bottom margin on block level help text since that's accounted for on .control-group + .help-block { + margin-top: @baseLineHeight / 2; + margin-bottom: 0; + } + // Move over buttons in .form-actions to align with .controls + .form-actions { + padding-left: 160px; + } +} diff --git a/docs/assets/less/twbs-203/grid.less b/docs/assets/less/twbs-203/grid.less new file mode 100755 index 000000000..e62a96093 --- /dev/null +++ b/docs/assets/less/twbs-203/grid.less @@ -0,0 +1,5 @@ +// Fixed (940px) +#grid > .core(@gridColumnWidth, @gridGutterWidth); + +// Fluid (940px) +#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); \ No newline at end of file diff --git a/docs/assets/less/twbs-203/hero-unit.less b/docs/assets/less/twbs-203/hero-unit.less new file mode 100755 index 000000000..0ffe82962 --- /dev/null +++ b/docs/assets/less/twbs-203/hero-unit.less @@ -0,0 +1,22 @@ +// HERO UNIT +// --------- + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: @heroUnitBackground; + .border-radius(6px); + h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + color: @heroUnitHeadingColor; + letter-spacing: -1px; + } + p { + font-size: 18px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; + color: @heroUnitLeadColor; + } +} diff --git a/docs/assets/less/twbs-203/labels-badges.less b/docs/assets/less/twbs-203/labels-badges.less new file mode 100755 index 000000000..0fbd7bbc6 --- /dev/null +++ b/docs/assets/less/twbs-203/labels-badges.less @@ -0,0 +1,55 @@ +// LABELS & BADGES +// --------------- + +// Base classes +.label, +.badge { + font-size: @baseFontSize * .846; + font-weight: bold; + line-height: 14px; // ensure proper line-height if floated + color: @white; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + background-color: @grayLight; +} +// Set unique padding and border-radii +.label { + padding: 1px 4px 2px; + .border-radius(3px); +} +.badge { + padding: 1px 9px 2px; + .border-radius(9px); +} + +// Hover state, but only for links +a { + &.label:hover, + &.badge:hover { + color: @white; + text-decoration: none; + cursor: pointer; + } +} + +// Colors +// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) +.label, +.badge { + // Important (red) + &-important { background-color: @errorText; } + &-important[href] { background-color: darken(@errorText, 10%); } + // Warnings (orange) + &-warning { background-color: @orange; } + &-warning[href] { background-color: darken(@orange, 10%); } + // Success (green) + &-success { background-color: @successText; } + &-success[href] { background-color: darken(@successText, 10%); } + // Info (turquoise) + &-info { background-color: @infoText; } + &-info[href] { background-color: darken(@infoText, 10%); } + // Inverse (black) + &-inverse { background-color: @grayDark; } + &-inverse[href] { background-color: darken(@grayDark, 10%); } +} diff --git a/docs/assets/less/twbs-203/layouts.less b/docs/assets/less/twbs-203/layouts.less new file mode 100755 index 000000000..cc53627ff --- /dev/null +++ b/docs/assets/less/twbs-203/layouts.less @@ -0,0 +1,17 @@ +// +// Layouts +// Fixed-width and fluid (with sidebar) layouts +// -------------------------------------------- + + +// Container (centered, fixed-width layouts) +.container { + .container-fixed(); +} + +// Fluid layouts (left aligned, with sidebar, min- & max-width content) +.container-fluid { + padding-right: @gridGutterWidth; + padding-left: @gridGutterWidth; + .clearfix(); +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/mixins.less b/docs/assets/less/twbs-203/mixins.less new file mode 100755 index 000000000..b107955f5 --- /dev/null +++ b/docs/assets/less/twbs-203/mixins.less @@ -0,0 +1,631 @@ +// Mixins.less +// Snippets of reusable CSS to develop faster and keep code readable +// ----------------------------------------------------------------- + + +// UTILITY MIXINS +// -------------------------------------------------- + +// Clearfix +// -------- +// For clearing floats like a boss h5bp.com/q +.clearfix { + *zoom: 1; + &:before, + &:after { + display: table; + content: ""; + } + &:after { + clear: both; + } +} + +// Webkit-style focus +// ------------------ +.tab-focus() { + // Default + outline: thin dotted #333; + // Webkit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +// Center-align a block level element +// ---------------------------------- +.center-block() { + display: block; + margin-left: auto; + margin-right: auto; +} + +// IE7 inline-block +// ---------------- +.ie7-inline-block() { + *display: inline; /* IE7 inline-block hack */ + *zoom: 1; +} + +// IE7 likes to collapse whitespace on either side of the inline-block elements. +// Ems because we're attempting to match the width of a space character. Left +// version is for form buttons, which typically come after other elements, and +// right version is for icons, which come before. Applying both is ok, but it will +// mean that space between those elements will be .6em (~2 space characters) in IE7, +// instead of the 1 space in other browsers. +.ie7-restore-left-whitespace() { + *margin-left: .3em; + + &:first-child { + *margin-left: 0; + } +} + +.ie7-restore-right-whitespace() { + *margin-right: .3em; + + &:last-child { + *margin-left: 0; + } +} + +// Sizing shortcuts +// ------------------------- +.size(@height, @width) { + width: @width; + height: @height; +} +.square(@size) { + .size(@size, @size); +} + +// Placeholder text +// ------------------------- +.placeholder(@color: @placeholderText) { + :-moz-placeholder { + color: @color; + } + ::-webkit-input-placeholder { + color: @color; + } +} + +// Text overflow +// ------------------------- +// Requires inline-block or block for proper styling +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +// CSS image replacement +// ------------------------- +// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + + +// FONTS +// -------------------------------------------------- + +#font { + #family { + .serif() { + font-family: @serifFontFamily; + } + .sans-serif() { + font-family: @sansFontFamily; + } + .monospace() { + font-family: @monoFontFamily; + } + } + .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + font-size: @size; + font-weight: @weight; + line-height: @lineHeight; + } + .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .sans-serif; + #font > .shorthand(@size, @weight, @lineHeight); + } + .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { + #font > #family > .monospace; + #font > .shorthand(@size, @weight, @lineHeight); + } +} + + +// FORMS +// -------------------------------------------------- + +// Block level inputs +.input-block-level { + display: block; + width: 100%; + min-height: 28px; // Make inputs at least the height of their button counterpart + .box-sizing(border-box); // Makes inputs behave like true block-level elements +} + + +// Mixin for form field states +.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { + // Set the text color + > label, + .help-block, + .help-inline { + color: @textColor; + } + // Style inputs accordingly + input, + select, + textarea { + color: @textColor; + border-color: @borderColor; + &:focus { + border-color: darken(@borderColor, 10%); + .box-shadow(0 0 6px lighten(@borderColor, 20%)); + } + } + // Give a small background color for input-prepend/-append + .input-prepend .add-on, + .input-append .add-on { + color: @textColor; + background-color: @backgroundColor; + border-color: @textColor; + } +} + + + +// CSS3 PROPERTIES +// -------------------------------------------------- + +// Border Radius +.border-radius(@radius) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +// Drop shadows +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// Transitions +.transition(@transition) { + -webkit-transition: @transition; + -moz-transition: @transition; + -ms-transition: @transition; + -o-transition: @transition; + transition: @transition; +} + +// Transformations +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} +.scale(@ratio) { + -webkit-transform: scale(@ratio); + -moz-transform: scale(@ratio); + -ms-transform: scale(@ratio); + -o-transform: scale(@ratio); + transform: scale(@ratio); +} +.translate(@x, @y) { + -webkit-transform: translate(@x, @y); + -moz-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); + -o-transform: translate(@x, @y); + transform: translate(@x, @y); +} +.skew(@x, @y) { + -webkit-transform: skew(@x, @y); + -moz-transform: skew(@x, @y); + -ms-transform: skew(@x, @y); + -o-transform: skew(@x, @y); + transform: skew(@x, @y); +} +.translate3d(@x, @y, @z) { + -webkit-transform: translate(@x, @y, @z); + -moz-transform: translate(@x, @y, @z); + -ms-transform: translate(@x, @y, @z); + -o-transform: translate(@x, @y, @z); + transform: translate(@x, @y, @z); +} + +// Backface visibility +// Prevent browsers from flickering when using CSS 3D transforms. +// Default value is `visible`, but can be changed to `hidden +// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples +.backface-visibility(@visibility){ + -webkit-backface-visibility: @visibility; + -moz-backface-visibility: @visibility; + -ms-backface-visibility: @visibility; + backface-visibility: @visibility; +} + +// Background clipping +// Heads up: FF 3.6 and under need "padding" instead of "padding-box" +.background-clip(@clip) { + -webkit-background-clip: @clip; + -moz-background-clip: @clip; + background-clip: @clip; +} + +// Background sizing +.background-size(@size){ + -webkit-background-size: @size; + -moz-background-size: @size; + -o-background-size: @size; + background-size: @size; +} + + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + -ms-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// User select +// For selecting text on the page +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -ms-user-select: @select; + -o-user-select: @select; + user-select: @select; +} + +// Resize anything +.resizable(@direction) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Safari fix +} + +// CSS3 Content Columns +.content-columns(@columnCount, @columnGap: @gridGutterWidth) { + -webkit-column-count: @columnCount; + -moz-column-count: @columnCount; + column-count: @columnCount; + -webkit-column-gap: @columnGap; + -moz-column-gap: @columnGap; + column-gap: @columnGap; +} + +// Opacity +.opacity(@opacity) { + opacity: @opacity / 100; + filter: ~"alpha(opacity=@{opacity})"; +} + + + +// BACKGROUNDS +// -------------------------------------------------- + +// Add an alphatransparency value to any background or border color (via Elyse Holladay) +#translucent { + .background(@color: @white, @alpha: 1) { + background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + } + .border(@color: @white, @alpha: 1) { + border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); + .background-clip(padding-box); + } +} + +// Gradient Bar Colors for buttons and alerts +.gradientBar(@primaryColor, @secondaryColor) { + #gradient > .vertical(@primaryColor, @secondaryColor); + border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); +} + +// Gradients +#gradient { + .horizontal(@startColor: #555, @endColor: #333) { + background-color: @endColor; + background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(left, @startColor, @endColor); // Le standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down + } + .vertical(@startColor: #555, @endColor: #333) { + background-color: mix(@startColor, @endColor, 60%); + background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(top, @startColor, @endColor); // The standard + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down + } + .directional(@startColor: #555, @endColor: #333, @deg: 45deg) { + background-color: @endColor; + background-repeat: repeat-x; + background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(@deg, @startColor, @endColor); // IE10 + background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(@deg, @startColor, @endColor); // The standard + } + .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { + background-color: mix(@midColor, @endColor, 80%); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); + background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); + background-image: -ms-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@innerColor: #555, @outerColor: #333) { + background-color: @outerColor; + background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); + background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); + background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); + background-image: -ms-radial-gradient(circle, @innerColor, @outerColor); + background-image: -o-radial-gradient(circle, @innerColor, @outerColor); + background-repeat: no-repeat; + } + .striped(@color, @angle: -45deg) { + background-color: @color; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -ms-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); + } +} +// Reset filters for IE +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} + + + +// COMPONENT MIXINS +// -------------------------------------------------- + +// Horizontal dividers +// ------------------------- +// Dividers (basically an hr) within dropdowns and nav lists +.nav-divider() { + // IE7 needs a set width since we gave a height. Restricting just + // to IE7 to keep the 1px left/right space in other browsers. + // It is unclear where IE is getting the extra space that we need + // to negative-margin away, but so it goes. + *width: 100%; + height: 1px; + margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid @white; +} + +// Button backgrounds +// ------------------ +.buttonBackground(@startColor, @endColor) { + // gradientBar will set the background to a pleasing blend of these, to support IE<=9 + .gradientBar(@startColor, @endColor); + *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + .reset-filter(); + + // in these cases the gradient won't cover the background, so we override + &:hover, &:active, &.active, &.disabled, &[disabled] { + background-color: @endColor; + *background-color: darken(@endColor, 5%); + } + + // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves + &:active, + &.active { + background-color: darken(@endColor, 10%) e("\9"); + } +} + +// Navbar vertical align +// ------------------------- +// Vertically center elements in the navbar. +// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin. +.navbarVerticalAlign(@elementHeight) { + margin-top: (@navbarHeight - @elementHeight) / 2; +} + +// Popover arrows +// ------------------------- +// For tipsies and popovers +#popoverArrow { + .top(@arrowWidth: 5px, @color: @black) { + bottom: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-top: @arrowWidth solid @color; + } + .left(@arrowWidth: 5px, @color: @black) { + top: 50%; + right: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-left: @arrowWidth solid @color; + } + .bottom(@arrowWidth: 5px, @color: @black) { + top: 0; + left: 50%; + margin-left: -@arrowWidth; + border-left: @arrowWidth solid transparent; + border-right: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid @color; + } + .right(@arrowWidth: 5px, @color: @black) { + top: 50%; + left: 0; + margin-top: -@arrowWidth; + border-top: @arrowWidth solid transparent; + border-bottom: @arrowWidth solid transparent; + border-right: @arrowWidth solid @color; + } +} + +// Grid System +// ----------- + +// Centered container element +.container-fixed() { + margin-right: auto; + margin-left: auto; + .clearfix(); +} + +// Table columns +.tableColumns(@columnSpan: 1) { + float: none; // undo default grid column styles + width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells + margin-left: 0; // undo default grid column styles +} + +// Make a Grid +// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior +.makeRow() { + margin-left: @gridGutterWidth * -1; + .clearfix(); +} +.makeColumn(@columns: 1, @offset: 0) { + float: left; + margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2); + width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); +} + +// The Grid +#grid { + + .core (@gridColumnWidth, @gridGutterWidth) { + + .spanX (@index) when (@index > 0) { + (~".span@{index}") { .span(@index); } + .spanX(@index - 1); + } + .spanX (0) {} + + .offsetX (@index) when (@index > 0) { + (~".offset@{index}") { .offset(@index); } + .offsetX(@index - 1); + } + .offsetX (0) {} + + .offset (@columns) { + margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1)); + } + + .span (@columns) { + width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); + } + + .row { + margin-left: @gridGutterWidth * -1; + .clearfix(); + } + + [class*="span"] { + float: left; + margin-left: @gridGutterWidth; + } + + // Set the container width, and override it for fixed navbars in media queries + .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { .span(@gridColumns); } + + // generate .spanX and .offsetX + .spanX (@gridColumns); + .offsetX (@gridColumns); + + } + + .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) { + + .spanX (@index) when (@index > 0) { + (~".span@{index}") { .span(@index); } + .spanX(@index - 1); + } + .spanX (0) {} + + .span (@columns) { + width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); + *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%); + } + + .row-fluid { + width: 100%; + .clearfix(); + [class*="span"] { + .input-block-level(); + float: left; + margin-left: @fluidGridGutterWidth; + *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); + } + [class*="span"]:first-child { + margin-left: 0; + } + + // generate .spanX + .spanX (@gridColumns); + } + + } + + .input(@gridColumnWidth, @gridGutterWidth) { + + .spanX (@index) when (@index > 0) { + (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); } + .spanX(@index - 1); + } + .spanX (0) {} + + .span(@columns) { + width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10; + } + + input, + textarea, + .uneditable-input { + margin-left: 0; // override margin-left from core grid system + } + + // generate .spanX + .spanX (@gridColumns); + + } + +} diff --git a/docs/assets/less/twbs-203/modals.less b/docs/assets/less/twbs-203/modals.less new file mode 100755 index 000000000..870ad0dfe --- /dev/null +++ b/docs/assets/less/twbs-203/modals.less @@ -0,0 +1,90 @@ +// MODALS +// ------ + +// Recalculate z-index where appropriate +.modal-open { + .dropdown-menu { z-index: @zindexDropdown + @zindexModal; } + .dropdown.open { *z-index: @zindexDropdown + @zindexModal; } + .popover { z-index: @zindexPopover + @zindexModal; } + .tooltip { z-index: @zindexTooltip + @zindexModal; } +} + +// Background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindexModalBackdrop; + background-color: @black; + // Fade for backdrop + &.fade { opacity: 0; } +} + +.modal-backdrop, +.modal-backdrop.fade.in { + .opacity(80); +} + +// Base modal +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: @zindexModal; + overflow: auto; + width: 560px; + margin: -250px 0 0 -280px; + background-color: @white; + border: 1px solid #999; + border: 1px solid rgba(0,0,0,.3); + *border: 1px solid #999; /* IE6-7 */ + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); + .background-clip(padding-box); + &.fade { + .transition(e('opacity .3s linear, top .3s ease-out')); + top: -25%; + } + &.fade.in { top: 50%; } +} +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; + // Close icon + .close { margin-top: 2px; } +} + +// Body (where all modal content resides) +.modal-body { + overflow-y: auto; + max-height: 400px; + padding: 15px; +} +// Remove bottom margin if need be +.modal-form { + margin-bottom: 0; +} + +// Footer (for actions) +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; // right align buttons + background-color: #f5f5f5; + border-top: 1px solid #ddd; + .border-radius(0 0 6px 6px); + .box-shadow(inset 0 1px 0 @white); + .clearfix(); // 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; + } +} diff --git a/docs/assets/less/twbs-203/navbar.less b/docs/assets/less/twbs-203/navbar.less new file mode 100755 index 000000000..adfe1096a --- /dev/null +++ b/docs/assets/less/twbs-203/navbar.less @@ -0,0 +1,364 @@ +// NAVBAR (FIXED AND STATIC) +// ------------------------- + + +// COMMON STYLES +// ------------- + +.navbar { + // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar + *position: relative; + *z-index: 2; + + overflow: visible; + margin-bottom: @baseLineHeight; +} + +// Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present +.navbar-inner { + min-height: @navbarHeight; + padding-left: 20px; + padding-right: 20px; + #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); + .border-radius(4px); + .box-shadow(~"0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1)"); +} + +// Set width to auto for default container +// We then reset it for fixed navbars in the #gridSystem mixin +.navbar .container { + width: auto; +} + +// Override the default collapsed state +.nav-collapse.collapse { + height: auto; +} + + +// Brand, links, text, and buttons +.navbar { + color: @navbarText; + // Hover and active states + .brand:hover { + text-decoration: none; + } + // Website or project name + .brand { + float: left; + display: block; + // Vertically center the text given @navbarHeight + @elementHeight: 20px; + padding: ((@navbarHeight - @elementHeight) / 2 - 2) 20px ((@navbarHeight - @elementHeight) / 2 + 2); + margin-left: -20px; // negative indent to left-align the text down the page + font-size: 20px; + font-weight: 200; + line-height: 1; + color: @navbarBrandColor; + } + // Plain text in topbar + .navbar-text { + margin-bottom: 0; + line-height: @navbarHeight; + } + // Janky solution for now to account for links outside the .nav + .navbar-link { + color: @navbarLinkColor; + &:hover { + color: @navbarLinkColorHover; + } + } + // Buttons in navbar + .btn, + .btn-group { + .navbarVerticalAlign(30px); // Vertically center in navbar + } + .btn-group .btn { + margin: 0; // then undo the margin here so we don't accidentally double it + } +} + +// Navbar forms +.navbar-form { + margin-bottom: 0; // remove default bottom margin + .clearfix(); + input, + select, + .radio, + .checkbox { + .navbarVerticalAlign(30px); // Vertically center in navbar + } + input, + select { + display: inline-block; + margin-bottom: 0; + } + input[type="image"], + input[type="checkbox"], + input[type="radio"] { + margin-top: 3px; + } + .input-append, + .input-prepend { + margin-top: 6px; + white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left + input { + margin-top: 0; // remove the margin on top since it's on the parent + } + } +} + +// Navbar search +.navbar-search { + position: relative; + float: left; + .navbarVerticalAlign(28px); // Vertically center in navbar + margin-bottom: 0; + .search-query { + padding: 4px 9px; + #font > .sans-serif(13px, normal, 1); + color: @white; + background-color: @navbarSearchBackground; + border: 1px solid @navbarSearchBorder; + .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15)"); + .transition(none); + + // Placeholder text gets special styles; can't be a grouped selector + &:-moz-placeholder { + color: @navbarSearchPlaceholderColor; + } + &::-webkit-input-placeholder { + color: @navbarSearchPlaceholderColor; + } + + // Focus states (we use .focused since IE7-8 and down doesn't support :focus) + &:focus, + &.focused { + padding: 5px 10px; + color: @grayDark; + text-shadow: 0 1px 0 @white; + background-color: @navbarSearchBackgroundFocus; + border: 0; + .box-shadow(0 0 3px rgba(0,0,0,.15)); + outline: 0; + } + } +} + + + +// FIXED NAVBAR +// ------------ + +// Shared (top/bottom) styles +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: @zindexFixedNavbar; + margin-bottom: 0; // remove 18px margin for static navbar +} +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-left: 0; + padding-right: 0; + .border-radius(0); +} + +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + #grid > .core > .span(@gridColumns); +} + +// Fixed to top +.navbar-fixed-top { + top: 0; +} + +// Fixed to bottom +.navbar-fixed-bottom { + bottom: 0; +} + + + +// NAVIGATION +// ---------- + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; // redeclare due to specificity +} +.navbar .nav > li { + display: block; + float: left; +} + +// Links +.navbar .nav > li > a { + float: none; + // Vertically center the text given @navbarHeight + @elementHeight: 20px; + padding: ((@navbarHeight - @elementHeight) / 2 - 1) 10px ((@navbarHeight - @elementHeight) / 2 + 1); + line-height: 19px; + color: @navbarLinkColor; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); +} +// Buttons +.navbar .btn { + display: inline-block; + padding: 4px 10px 4px; + // Vertically center the button given @navbarHeight + @elementHeight: 28px; + margin: ((@navbarHeight - @elementHeight) / 2 - 1) 5px ((@navbarHeight - @elementHeight) / 2); + line-height: @baseLineHeight; +} +.navbar .btn-group { + margin: 0; + // Vertically center the button given @navbarHeight + @elementHeight: 28px; + padding: ((@navbarHeight - @elementHeight) / 2 - 1) 5px ((@navbarHeight - @elementHeight) / 2); +} +// Hover +.navbar .nav > li > a:hover { + background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active + color: @navbarLinkColorHover; + text-decoration: none; +} + +// Active nav items +.navbar .nav .active > a, +.navbar .nav .active > a:hover { + color: @navbarLinkColorActive; + text-decoration: none; + background-color: @navbarLinkBackgroundActive; +} + +// Dividers (basically a vertical hr) +.navbar .divider-vertical { + height: @navbarHeight; + width: 1px; + margin: 0 9px; + overflow: hidden; + background-color: @navbarBackground; + border-right: 1px solid @navbarBackgroundHighlight; +} + +// Secondary (floated right) nav in topbar +.navbar .nav.pull-right { + margin-left: 10px; + margin-right: 0; +} + +// Navbar button for toggling navbar items in responsive layouts +// These definitions need to come after '.navbar .btn' +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + .buttonBackground(@navbarBackgroundHighlight, @navbarBackground); + .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)"); +} +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + .border-radius(1px); + .box-shadow(0 1px 0 rgba(0,0,0,.25)); +} +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + + +// Dropdown menus +// -------------- + +// Menu position and menu carets +.navbar .dropdown-menu { + &:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: @dropdownBorder; + position: absolute; + top: -7px; + left: 9px; + } + &:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid @dropdownBackground; + position: absolute; + top: -6px; + left: 10px; + } +} +// Menu position and menu caret support for dropups via extra dropup class +.navbar-fixed-bottom .dropdown-menu { + &:before { + border-top: 7px solid #ccc; + border-top-color: @dropdownBorder; + border-bottom: 0; + bottom: -7px; + top: auto; + } + &:after { + border-top: 6px solid @dropdownBackground; + border-bottom: 0; + bottom: -6px; + top: auto; + } +} +// Dropdown toggle caret +.navbar .nav li.dropdown .dropdown-toggle .caret, +.navbar .nav li.dropdown.open .caret { + border-top-color: @white; + border-bottom-color: @white; +} +.navbar .nav li.dropdown.active .caret { + .opacity(100); +} + +// Remove background color from open dropdown +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + background-color: transparent; +} + +// Dropdown link on hover +.navbar .nav li.dropdown.active > .dropdown-toggle:hover { + color: @white; +} + +// Right aligned menus need alt position +// TODO: rejigger this at some point to simplify the selectors +.navbar .pull-right .dropdown-menu, +.navbar .dropdown-menu.pull-right { + left: auto; + right: 0; + &:before { + left: auto; + right: 12px; + } + &:after { + left: auto; + right: 13px; + } +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/navs.less b/docs/assets/less/twbs-203/navs.less new file mode 100755 index 000000000..5cb9f9f3a --- /dev/null +++ b/docs/assets/less/twbs-203/navs.less @@ -0,0 +1,363 @@ +// NAVIGATIONS +// ----------- + + + +// BASE CLASS +// ---------- + +.nav { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; +} + +// Make links block level +.nav > li > a { + display: block; +} +.nav > li > a:hover { + text-decoration: none; + background-color: @grayLighter; +} + +// Redeclare pull classes because of specifity +.nav > .pull-right { + float: right; +} + +// Nav headers (for dropdowns and lists) +.nav .nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: @baseLineHeight; + color: @grayLight; + text-shadow: 0 1px 0 rgba(255,255,255,.5); + text-transform: uppercase; +} +// Space them out when they follow another list item (link) +.nav li + .nav-header { + margin-top: 9px; +} + + +// NAV LIST +// -------- + +.nav-list { + padding-left: 15px; + padding-right: 15px; + margin-bottom: 0; +} +.nav-list > li > a, +.nav-list .nav-header { + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255,255,255,.5); +} +.nav-list > li > a { + padding: 3px 15px; +} +.nav-list > .active > a, +.nav-list > .active > a:hover { + color: @white; + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + background-color: @linkColor; +} +.nav-list [class^="icon-"] { + margin-right: 2px; +} +// Dividers (basically an hr) within the dropdown +.nav-list .divider { + .nav-divider(); +} + + + +// TABS AND PILLS +// ------------- + +// Common styles +.nav-tabs, +.nav-pills { + .clearfix(); +} +.nav-tabs > li, +.nav-pills > li { + float: left; +} +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; // keeps the overall height an even number +} + +// TABS +// ---- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid #ddd; +} +// Make the list-items overlay the bottom border +.nav-tabs > li { + margin-bottom: -1px; +} +// Actual tabs (as links) +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: @baseLineHeight; + border: 1px solid transparent; + .border-radius(4px 4px 0 0); + &:hover { + border-color: @grayLighter @grayLighter #ddd; + } +} +// Active state, and it's :hover to override normal :hover +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: @gray; + background-color: @white; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} + + +// PILLS +// ----- + +// Links rendered as pills +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + .border-radius(5px); +} + +// Active state +.nav-pills > .active > a, +.nav-pills > .active > a:hover { + color: @white; + background-color: @linkColor; +} + + + +// STACKED NAV +// ----------- + +// Stacked tabs and pills +.nav-stacked > li { + float: none; +} +.nav-stacked > li > a { + margin-right: 0; // no need for the gap between nav items +} + +// Tabs +.nav-tabs.nav-stacked { + border-bottom: 0; +} +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + .border-radius(0); +} +.nav-tabs.nav-stacked > li:first-child > a { + .border-radius(4px 4px 0 0); +} +.nav-tabs.nav-stacked > li:last-child > a { + .border-radius(0 0 4px 4px); +} +.nav-tabs.nav-stacked > li > a:hover { + border-color: #ddd; + z-index: 2; +} + +// Pills +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; // decrease margin to match sizing of stacked tabs +} + + + +// DROPDOWNS +// --------- + +.nav-tabs .dropdown-menu { + .border-radius(0 0 5px 5px); // remove the top rounded corners here since there is a hard edge above the menu +} +.nav-pills .dropdown-menu { + .border-radius(4px); // make rounded corners match the pills +} + +// Default dropdown links +// ------------------------- +// Make carets use linkColor to start +.nav-tabs .dropdown-toggle .caret, +.nav-pills .dropdown-toggle .caret { + border-top-color: @linkColor; + border-bottom-color: @linkColor; + margin-top: 6px; +} +.nav-tabs .dropdown-toggle:hover .caret, +.nav-pills .dropdown-toggle:hover .caret { + border-top-color: @linkColorHover; + border-bottom-color: @linkColorHover; +} + +// Active dropdown links +// ------------------------- +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret { + border-top-color: @grayDark; + border-bottom-color: @grayDark; +} + +// Active:hover dropdown links +// ------------------------- +.nav > .dropdown.active > a:hover { + color: @black; + cursor: pointer; +} + +// Open dropdowns +// ------------------------- +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { + color: @white; + background-color: @grayLight; + border-color: @grayLight; +} +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { + border-top-color: @white; + border-bottom-color: @white; + .opacity(100); +} + +// Dropdowns in stacked tabs +.tabs-stacked .open > a:hover { + border-color: @grayLight; +} + + + +// TABBABLE +// -------- + + +// COMMON STYLES +// ------------- + +// Clear any floats +.tabbable { + .clearfix(); +} +.tab-content { + overflow: auto; // prevent content from running below tabs +} + +// Remove border on bottom, left, right +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +// Show/hide tabbable areas +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} + + +// BOTTOM +// ------ + +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} +.tabs-below > .nav-tabs > li > a { + .border-radius(0 0 4px 4px); + &:hover { + border-bottom-color: transparent; + border-top-color: #ddd; + } +} +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} + +// LEFT & RIGHT +// ------------ + +// Common styles +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +// Tabs on the left +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + .border-radius(4px 0 0 4px); +} +.tabs-left > .nav-tabs > li > a:hover { + border-color: @grayLighter #ddd @grayLighter @grayLighter; +} +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: @white; +} + +// Tabs on the right +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + .border-radius(0 4px 4px 0); +} +.tabs-right > .nav-tabs > li > a:hover { + border-color: @grayLighter @grayLighter @grayLighter #ddd; +} +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: @white; +} diff --git a/docs/assets/less/twbs-203/pager.less b/docs/assets/less/twbs-203/pager.less new file mode 100755 index 000000000..4244b5eb8 --- /dev/null +++ b/docs/assets/less/twbs-203/pager.less @@ -0,0 +1,36 @@ +// PAGER +// ----- + +.pager { + margin-left: 0; + margin-bottom: @baseLineHeight; + list-style: none; + text-align: center; + .clearfix(); +} +.pager li { + display: inline; +} +.pager a { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + .border-radius(15px); +} +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} +.pager .next a { + float: right; +} +.pager .previous a { + float: left; +} +.pager .disabled a, +.pager .disabled a:hover { + color: @grayLight; + background-color: #fff; + cursor: default; +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/pagination.less b/docs/assets/less/twbs-203/pagination.less new file mode 100755 index 000000000..38cf65cc4 --- /dev/null +++ b/docs/assets/less/twbs-203/pagination.less @@ -0,0 +1,56 @@ +// PAGINATION +// ---------- + +.pagination { + height: @baseLineHeight * 2; + margin: @baseLineHeight 0; + } +.pagination ul { + display: inline-block; + .ie7-inline-block(); + margin-left: 0; + margin-bottom: 0; + .border-radius(3px); + .box-shadow(0 1px 2px rgba(0,0,0,.05)); +} +.pagination li { + display: inline; + } +.pagination a { + float: left; + padding: 0 14px; + line-height: (@baseLineHeight * 2) - 2; + text-decoration: none; + border: 1px solid #ddd; + border-left-width: 0; +} +.pagination a:hover, +.pagination .active a { + background-color: #f5f5f5; +} +.pagination .active a { + color: @grayLight; + cursor: default; +} +.pagination .disabled span, +.pagination .disabled a, +.pagination .disabled a:hover { + color: @grayLight; + background-color: transparent; + cursor: default; +} +.pagination li:first-child a { + border-left-width: 1px; + .border-radius(3px 0 0 3px); +} +.pagination li:last-child a { + .border-radius(0 3px 3px 0); +} + +// Centered +.pagination-centered { + text-align: center; +} +.pagination-right { + text-align: right; +} diff --git a/docs/assets/less/twbs-203/popovers.less b/docs/assets/less/twbs-203/popovers.less new file mode 100755 index 000000000..558d99ec9 --- /dev/null +++ b/docs/assets/less/twbs-203/popovers.less @@ -0,0 +1,49 @@ +// POPOVERS +// -------- + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: @zindexPopover; + display: none; + padding: 5px; + &.top { margin-top: -5px; } + &.right { margin-left: 5px; } + &.bottom { margin-top: 5px; } + &.left { margin-left: -5px; } + &.top .arrow { #popoverArrow > .top(); } + &.right .arrow { #popoverArrow > .right(); } + &.bottom .arrow { #popoverArrow > .bottom(); } + &.left .arrow { #popoverArrow > .left(); } + .arrow { + position: absolute; + width: 0; + height: 0; + } +} +.popover-inner { + padding: 3px; + width: 280px; + overflow: hidden; + background: @black; // has to be full background declaration for IE fallback + background: rgba(0,0,0,.8); + .border-radius(6px); + .box-shadow(0 3px 7px rgba(0,0,0,0.3)); +} +.popover-title { + padding: 9px 15px; + line-height: 1; + background-color: #f5f5f5; + border-bottom:1px solid #eee; + .border-radius(3px 3px 0 0); +} +.popover-content { + padding: 14px; + background-color: @white; + .border-radius(0 0 3px 3px); + .background-clip(padding-box); + p, ul, ol { + margin-bottom: 0; + } +} diff --git a/docs/assets/less/twbs-203/progress-bars.less b/docs/assets/less/twbs-203/progress-bars.less new file mode 100755 index 000000000..3b47e6482 --- /dev/null +++ b/docs/assets/less/twbs-203/progress-bars.less @@ -0,0 +1,117 @@ +// PROGRESS BARS +// ------------- + + +// ANIMATIONS +// ---------- + +// Webkit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Firefox +@-moz-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// IE9 +@-ms-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Opera +@-o-keyframes progress-bar-stripes { + from { background-position: 0 0; } + to { background-position: 40px 0; } +} + +// Spec +@keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + + + +// THE BARS +// -------- + +// Outer container +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + #gradient > .vertical(#f5f5f5, #f9f9f9); + .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); + .border-radius(4px); +} + +// Bar of progress +.progress .bar { + width: 0%; + height: 18px; + color: @white; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + #gradient > .vertical(#149bdf, #0480be); + .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + .box-sizing(border-box); + .transition(width .6s ease); +} + +// Striped bars +.progress-striped .bar { + #gradient > .striped(#149bdf); + .background-size(40px 40px); +} + +// Call animation for the active one +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + + + +// COLORS +// ------ + +// Danger (red) +.progress-danger .bar { + #gradient > .vertical(#ee5f5b, #c43c35); +} +.progress-danger.progress-striped .bar { + #gradient > .striped(#ee5f5b); +} + +// Success (green) +.progress-success .bar { + #gradient > .vertical(#62c462, #57a957); +} +.progress-success.progress-striped .bar { + #gradient > .striped(#62c462); +} + +// Info (teal) +.progress-info .bar { + #gradient > .vertical(#5bc0de, #339bb9); +} +.progress-info.progress-striped .bar { + #gradient > .striped(#5bc0de); +} + +// Warning (orange) +.progress-warning .bar { + #gradient > .vertical(lighten(@orange, 15%), @orange); +} +.progress-warning.progress-striped .bar { + #gradient > .striped(lighten(@orange, 15%)); +} diff --git a/docs/assets/less/twbs-203/reset.less b/docs/assets/less/twbs-203/reset.less new file mode 100755 index 000000000..d9ce2b110 --- /dev/null +++ b/docs/assets/less/twbs-203/reset.less @@ -0,0 +1,126 @@ +// Reset.less +// Adapted from Normalize.css http://github.com/necolas/normalize.css +// ------------------------------------------------------------------------ + +// Display in IE6-9 and FF3 +// ------------------------- + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +// Display block in IE6-9 and FF3 +// ------------------------- + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +// Prevents modern browsers from displaying 'audio' without controls +// ------------------------- + +audio:not([controls]) { + display: none; +} + +// Base settings +// ------------------------- + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +// Focus states +a:focus { + .tab-focus(); +} +// Hover & Active +a:hover, +a:active { + outline: 0; +} + +// Prevents sub and sup affecting line-height in all browsers +// ------------------------- + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} + +// Img border in a's and image quality +// ------------------------- + +img { + max-width: 100%; // Make images inherently responsive + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +// Forms +// ------------------------- + +// Font size in all browsers, margin changes, misc consistency +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} +button, +input { + *overflow: visible; // Inner spacing ie IE6/7 + line-height: normal; // FF3/4 have !important on line-height in UA stylesheet +} +button::-moz-focus-inner, +input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 + padding: 0; + border: 0; +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; // Cursors on all buttons applied consistently + -webkit-appearance: button; // Style clickable inputs in iOS +} +input[type="search"] { // Appearance in Safari/Chrome + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 +} +textarea { + overflow: auto; // Remove vertical scrollbar in IE6-9 + vertical-align: top; // Readability and alignment cross-browser +} diff --git a/docs/assets/less/twbs-203/responsive-1200px-min.less b/docs/assets/less/twbs-203/responsive-1200px-min.less new file mode 100755 index 000000000..a7c9f4e00 --- /dev/null +++ b/docs/assets/less/twbs-203/responsive-1200px-min.less @@ -0,0 +1,26 @@ +// LARGE DESKTOP & UP +// ------------------ + +@media (min-width: 1200px) { + + // Fixed grid + #grid > .core(70px, 30px); + + // Fluid grid + #grid > .fluid(5.982905983%, 2.564102564%); + + // Input grid + #grid > .input(70px, 30px); + + // Thumbnails + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } + +} diff --git a/docs/assets/less/twbs-203/responsive-767px-max.less b/docs/assets/less/twbs-203/responsive-767px-max.less new file mode 100755 index 000000000..614c6905c --- /dev/null +++ b/docs/assets/less/twbs-203/responsive-767px-max.less @@ -0,0 +1,149 @@ +// UP TO LANDSCAPE PHONE +// --------------------- + +@media (max-width: 480px) { + + // Smooth out the collapsing/expanding nav + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); // activate the GPU + } + + // Block level the page header small tag for readability + .page-header h1 small { + display: block; + line-height: @baseLineHeight; + } + + // Update checkboxes for iOS + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + + // Remove the horizontal form styles + .form-horizontal .control-group > label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + // Move over all input controls and content + .form-horizontal .controls { + margin-left: 0; + } + // Move the options list down to align with labels + .form-horizontal .control-list { + padding-top: 0; // has to be padding because margin collaspes + } + // Move over buttons in .form-actions to align with .controls + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + + // Modals + .modal { + position: absolute; + top: 10px; + left: 10px; + right: 10px; + width: auto; + margin: 0; + &.fade.in { top: auto; } + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + + // Carousel + .carousel-caption { + position: static; + } + +} + + + +// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET +// -------------------------------------------------- + +@media (max-width: 767px) { + + // Padding to set content in a bit + body { + padding-left: 20px; + padding-right: 20px; + } + // Negative indent the now static "fixed" navbar + .navbar-fixed-top, + .navbar-fixed-bottom { + margin-left: -20px; + margin-right: -20px; + } + // Remove padding on container given explicit padding set on body + .container-fluid { + padding: 0; + } + + // TYPOGRAPHY + // ---------- + // Reset horizontal dl + .dl-horizontal { + dt { + float: none; + clear: none; + width: auto; + text-align: left; + } + dd { + margin-left: 0; + } + } + + // GRID & CONTAINERS + // ----------------- + // Remove width from containers + .container { + width: auto; + } + // Fluid rows + .row-fluid { + width: 100%; + } + // Undo negative margin on rows and thumbnails + .row, + .thumbnails { + margin-left: 0; + } + // Make all grid-sized elements block level again + [class*="span"], + .row-fluid [class*="span"] { + float: none; + display: block; + width: auto; + margin-left: 0; + } + + // FORM FIELDS + // ----------- + // Make span* classes full width + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + .input-block-level(); + } + // But don't let it screw up prepend/append inputs + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; // redeclare so they don't wrap to new lines + width: auto; + } + +} diff --git a/docs/assets/less/twbs-203/responsive-768px-979px.less b/docs/assets/less/twbs-203/responsive-768px-979px.less new file mode 100755 index 000000000..76f4f6df1 --- /dev/null +++ b/docs/assets/less/twbs-203/responsive-768px-979px.less @@ -0,0 +1,17 @@ +// PORTRAIT TABLET TO DEFAULT DESKTOP +// ---------------------------------- + +@media (min-width: 768px) and (max-width: 979px) { + + // Fixed grid + #grid > .core(42px, 20px); + + // Fluid grid + #grid > .fluid(5.801104972%, 2.762430939%); + + // Input grid + #grid > .input(42px, 20px); + + // No need to reset .thumbnails here since it's the same @gridGutterWidth + +} diff --git a/docs/assets/less/twbs-203/responsive-navbar.less b/docs/assets/less/twbs-203/responsive-navbar.less new file mode 100755 index 000000000..d49b8ae12 --- /dev/null +++ b/docs/assets/less/twbs-203/responsive-navbar.less @@ -0,0 +1,146 @@ +// TABLETS AND BELOW +// ----------------- +@media (max-width: 979px) { + + // UNFIX THE TOPBAR + // ---------------- + // Remove any padding from the body + body { + padding-top: 0; + } + // Unfix the navbar + .navbar-fixed-top { + position: static; + margin-bottom: @baseLineHeight; + } + .navbar-fixed-top .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + // Account for brand name + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + + // COLLAPSIBLE NAVBAR + // ------------------ + // Nav collapse clears brand + .nav-collapse { + clear: both; + } + // Block-level the nav + .nav-collapse .nav { + float: none; + margin: 0 0 (@baseLineHeight / 2); + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: @navbarText; + text-shadow: none; + } + // Nav and dropdown links in navbar + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 6px 15px; + font-weight: bold; + color: @navbarLinkColor; + .border-radius(3px); + } + // Buttons + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + .border-radius(4px); + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: @navbarBackground; + } + // Buttons in the navbar + .nav-collapse.in .btn-group { + margin-top: 5px; + padding: 0; + } + // Dropdowns in the navbar + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: block; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + .border-radius(0); + .box-shadow(none); + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + // Forms in navbar + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: (@baseLineHeight / 2) 15px; + margin: (@baseLineHeight / 2) 0; + border-top: 1px solid @navbarBackground; + border-bottom: 1px solid @navbarBackground; + .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)"); + } + // Pull right (secondary) nav content + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + // Hide everything in the navbar save .brand and toggle button */ + .nav-collapse, + .nav-collapse.collapse { + overflow: hidden; + height: 0; + } + // Navbar button + .navbar .btn-navbar { + display: block; + } + + // STATIC NAVBAR + // ------------- + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } +} + + +// DEFAULT DESKTOP +// --------------- + +// Required to make the collapsing navbar work on regular desktops +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} \ No newline at end of file diff --git a/docs/assets/less/twbs-203/responsive-utilities.less b/docs/assets/less/twbs-203/responsive-utilities.less new file mode 100755 index 000000000..572846c0f --- /dev/null +++ b/docs/assets/less/twbs-203/responsive-utilities.less @@ -0,0 +1,41 @@ +// RESPONSIVE CLASSES +// ------------------ + +// Hide from screenreaders and browsers +// Credit: HTML5 Boilerplate +.hidden { + display: none; + visibility: hidden; +} + +// Visibility utilities + +// For desktops +.visible-phone { display: none !important; } +.visible-tablet { display: none !important; } +.visible-desktop { } // Don't set initially +.hidden-phone { } +.hidden-tablet { } +.hidden-desktop { display: none !important; } + +// Phones only +@media (max-width: 767px) { + // Show + .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior + // Hide + .hidden-phone { display: none !important; } + // Hide everything else + .hidden-desktop { display: inherit !important; } + .visible-desktop { display: none !important; } +} + +// Tablets & small desktops only +@media (min-width: 768px) and (max-width: 979px) { + // Show + .visible-tablet { display: inherit !important; } + // Hide + .hidden-tablet { display: none !important; } + // Hide everything else + .hidden-desktop { display: inherit !important; } + .visible-desktop { display: none !important ; } +} diff --git a/docs/assets/less/twbs-203/responsive.less b/docs/assets/less/twbs-203/responsive.less new file mode 100755 index 000000000..bbd76d631 --- /dev/null +++ b/docs/assets/less/twbs-203/responsive.less @@ -0,0 +1,48 @@ +/*! + * Bootstrap Responsive v2.0.3 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + + +// Responsive.less +// For phone and tablet devices +// ------------------------------------------------------------- + + +// REPEAT VARIABLES & MIXINS +// ------------------------- +// Required since we compile the responsive stuff separately + +@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "mixins.less"; + + +// RESPONSIVE CLASSES +// ------------------ + +@import "responsive-utilities.less"; + + +// MEDIA QUERIES +// ------------------ + +// Phones to portrait tablets and narrow desktops +@import "responsive-767px-max.less"; + +// Tablets to regular desktops +@import "responsive-768px-979px.less"; + +// Large desktops +@import "responsive-1200px-min.less"; + + +// RESPONSIVE NAVBAR +// ------------------ + +// From 979px and below, show a button to toggle navbar contents +@import "responsive-navbar.less"; diff --git a/docs/assets/less/twbs-203/scaffolding.less b/docs/assets/less/twbs-203/scaffolding.less new file mode 100755 index 000000000..57c74eda0 --- /dev/null +++ b/docs/assets/less/twbs-203/scaffolding.less @@ -0,0 +1,29 @@ +// Scaffolding +// Basic and global styles for generating a grid system, structural layout, and page templates +// ------------------------------------------------------------------------------------------- + + +// Body reset +// ---------- + +body { + margin: 0; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @textColor; + background-color: @bodyBackground; +} + + +// Links +// ----- + +a { + color: @linkColor; + text-decoration: none; +} +a:hover { + color: @linkColorHover; + text-decoration: underline; +} diff --git a/docs/assets/less/twbs-203/sprites.less b/docs/assets/less/twbs-203/sprites.less new file mode 100755 index 000000000..72a3a916b --- /dev/null +++ b/docs/assets/less/twbs-203/sprites.less @@ -0,0 +1,191 @@ +// SPRITES +// Glyphs and icons for buttons, nav, and more +// ------------------------------------------- + + +// ICONS +// ----- + +// All icons receive the styles of the tag with a base class +// of .i and are then given a unique class to add width, height, +// and background-position. Your resulting HTML will look like +// . + +// For the white version of the icons, just add the .icon-white class: +// + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + .ie7-restore-right-whitespace(); + line-height: 14px; + vertical-align: text-top; + background-image: url("@{iconSpritePath}"); + background-position: 14px 14px; + background-repeat: no-repeat; + +} +.icon-white { + background-image: url("@{iconWhiteSpritePath}"); +} + +.icon-glass { background-position: 0 0; } +.icon-music { background-position: -24px 0; } +.icon-search { background-position: -48px 0; } +.icon-envelope { background-position: -72px 0; } +.icon-heart { background-position: -96px 0; } +.icon-star { background-position: -120px 0; } +.icon-star-empty { background-position: -144px 0; } +.icon-user { background-position: -168px 0; } +.icon-film { background-position: -192px 0; } +.icon-th-large { background-position: -216px 0; } +.icon-th { background-position: -240px 0; } +.icon-th-list { background-position: -264px 0; } +.icon-ok { background-position: -288px 0; } +.icon-remove { background-position: -312px 0; } +.icon-zoom-in { background-position: -336px 0; } +.icon-zoom-out { background-position: -360px 0; } +.icon-off { background-position: -384px 0; } +.icon-signal { background-position: -408px 0; } +.icon-cog { background-position: -432px 0; } +.icon-trash { background-position: -456px 0; } + +.icon-home { background-position: 0 -24px; } +.icon-file { background-position: -24px -24px; } +.icon-time { background-position: -48px -24px; } +.icon-road { background-position: -72px -24px; } +.icon-download-alt { background-position: -96px -24px; } +.icon-download { background-position: -120px -24px; } +.icon-upload { background-position: -144px -24px; } +.icon-inbox { background-position: -168px -24px; } +.icon-play-circle { background-position: -192px -24px; } +.icon-repeat { background-position: -216px -24px; } +.icon-refresh { background-position: -240px -24px; } +.icon-list-alt { background-position: -264px -24px; } +.icon-lock { background-position: -287px -24px; } // 1px off +.icon-flag { background-position: -312px -24px; } +.icon-headphones { background-position: -336px -24px; } +.icon-volume-off { background-position: -360px -24px; } +.icon-volume-down { background-position: -384px -24px; } +.icon-volume-up { background-position: -408px -24px; } +.icon-qrcode { background-position: -432px -24px; } +.icon-barcode { background-position: -456px -24px; } + +.icon-tag { background-position: 0 -48px; } +.icon-tags { background-position: -25px -48px; } // 1px off +.icon-book { background-position: -48px -48px; } +.icon-bookmark { background-position: -72px -48px; } +.icon-print { background-position: -96px -48px; } +.icon-camera { background-position: -120px -48px; } +.icon-font { background-position: -144px -48px; } +.icon-bold { background-position: -167px -48px; } // 1px off +.icon-italic { background-position: -192px -48px; } +.icon-text-height { background-position: -216px -48px; } +.icon-text-width { background-position: -240px -48px; } +.icon-align-left { background-position: -264px -48px; } +.icon-align-center { background-position: -288px -48px; } +.icon-align-right { background-position: -312px -48px; } +.icon-align-justify { background-position: -336px -48px; } +.icon-list { background-position: -360px -48px; } +.icon-indent-left { background-position: -384px -48px; } +.icon-indent-right { background-position: -408px -48px; } +.icon-facetime-video { background-position: -432px -48px; } +.icon-picture { background-position: -456px -48px; } + +.icon-pencil { background-position: 0 -72px; } +.icon-map-marker { background-position: -24px -72px; } +.icon-adjust { background-position: -48px -72px; } +.icon-tint { background-position: -72px -72px; } +.icon-edit { background-position: -96px -72px; } +.icon-share { background-position: -120px -72px; } +.icon-check { background-position: -144px -72px; } +.icon-move { background-position: -168px -72px; } +.icon-step-backward { background-position: -192px -72px; } +.icon-fast-backward { background-position: -216px -72px; } +.icon-backward { background-position: -240px -72px; } +.icon-play { background-position: -264px -72px; } +.icon-pause { background-position: -288px -72px; } +.icon-stop { background-position: -312px -72px; } +.icon-forward { background-position: -336px -72px; } +.icon-fast-forward { background-position: -360px -72px; } +.icon-step-forward { background-position: -384px -72px; } +.icon-eject { background-position: -408px -72px; } +.icon-chevron-left { background-position: -432px -72px; } +.icon-chevron-right { background-position: -456px -72px; } + +.icon-plus-sign { background-position: 0 -96px; } +.icon-minus-sign { background-position: -24px -96px; } +.icon-remove-sign { background-position: -48px -96px; } +.icon-ok-sign { background-position: -72px -96px; } +.icon-question-sign { background-position: -96px -96px; } +.icon-info-sign { background-position: -120px -96px; } +.icon-screenshot { background-position: -144px -96px; } +.icon-remove-circle { background-position: -168px -96px; } +.icon-ok-circle { background-position: -192px -96px; } +.icon-ban-circle { background-position: -216px -96px; } +.icon-arrow-left { background-position: -240px -96px; } +.icon-arrow-right { background-position: -264px -96px; } +.icon-arrow-up { background-position: -289px -96px; } // 1px off +.icon-arrow-down { background-position: -312px -96px; } +.icon-share-alt { background-position: -336px -96px; } +.icon-resize-full { background-position: -360px -96px; } +.icon-resize-small { background-position: -384px -96px; } +.icon-plus { background-position: -408px -96px; } +.icon-minus { background-position: -433px -96px; } +.icon-asterisk { background-position: -456px -96px; } + +.icon-exclamation-sign { background-position: 0 -120px; } +.icon-gift { background-position: -24px -120px; } +.icon-leaf { background-position: -48px -120px; } +.icon-fire { background-position: -72px -120px; } +.icon-eye-open { background-position: -96px -120px; } +.icon-eye-close { background-position: -120px -120px; } +.icon-warning-sign { background-position: -144px -120px; } +.icon-plane { background-position: -168px -120px; } +.icon-calendar { background-position: -192px -120px; } +.icon-random { background-position: -216px -120px; } +.icon-comment { background-position: -240px -120px; } +.icon-magnet { background-position: -264px -120px; } +.icon-chevron-up { background-position: -288px -120px; } +.icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off +.icon-retweet { background-position: -336px -120px; } +.icon-shopping-cart { background-position: -360px -120px; } +.icon-folder-close { background-position: -384px -120px; } +.icon-folder-open { background-position: -408px -120px; } +.icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off +.icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off + +.icon-hdd { background-position: 0 -144px; } +.icon-bullhorn { background-position: -24px -144px; } +.icon-bell { background-position: -48px -144px; } +.icon-certificate { background-position: -72px -144px; } +.icon-thumbs-up { background-position: -96px -144px; } +.icon-thumbs-down { background-position: -120px -144px; } +.icon-hand-right { background-position: -144px -144px; } +.icon-hand-left { background-position: -168px -144px; } +.icon-hand-up { background-position: -192px -144px; } +.icon-hand-down { background-position: -216px -144px; } +.icon-circle-arrow-right { background-position: -240px -144px; } +.icon-circle-arrow-left { background-position: -264px -144px; } +.icon-circle-arrow-up { background-position: -288px -144px; } +.icon-circle-arrow-down { background-position: -312px -144px; } +.icon-globe { background-position: -336px -144px; } +.icon-wrench { background-position: -360px -144px; } +.icon-tasks { background-position: -384px -144px; } +.icon-filter { background-position: -408px -144px; } +.icon-briefcase { background-position: -432px -144px; } +.icon-fullscreen { background-position: -456px -144px; } + + + + + + + + + + + + diff --git a/docs/assets/less/twbs-203/tables.less b/docs/assets/less/twbs-203/tables.less new file mode 100755 index 000000000..b4f6027bf --- /dev/null +++ b/docs/assets/less/twbs-203/tables.less @@ -0,0 +1,176 @@ +// +// Tables.less +// Tables for, you guessed it, tabular data +// ---------------------------------------- + + +// BASE TABLES +// ----------------- + +table { + max-width: 100%; + background-color: @tableBackground; + border-collapse: collapse; + border-spacing: 0; +} + +// BASELINE STYLES +// --------------- + +.table { + width: 100%; + margin-bottom: @baseLineHeight; + // Cells + th, + td { + padding: 8px; + line-height: @baseLineHeight; + text-align: left; + vertical-align: top; + border-top: 1px solid @tableBorder; + } + th { + font-weight: bold; + } + // Bottom align for column headings + thead th { + vertical-align: bottom; + } + // Remove top border from thead by default + caption + thead tr:first-child th, + caption + thead tr:first-child td, + colgroup + thead tr:first-child th, + colgroup + thead tr:first-child td, + thead:first-child tr:first-child th, + thead:first-child tr:first-child td { + border-top: 0; + } + // Account for multiple tbody instances + tbody + tbody { + border-top: 2px solid @tableBorder; + } +} + + + +// CONDENSED TABLE W/ HALF PADDING +// ------------------------------- + +.table-condensed { + th, + td { + padding: 4px 5px; + } +} + + +// BORDERED VERSION +// ---------------- + +.table-bordered { + border: 1px solid @tableBorder; + border-collapse: separate; // Done so we can round those corners! + *border-collapse: collapsed; // IE7 can't round corners anyway + border-left: 0; + .border-radius(4px); + th, + td { + border-left: 1px solid @tableBorder; + } + // Prevent a double border + caption + thead tr:first-child th, + caption + tbody tr:first-child th, + caption + tbody tr:first-child td, + colgroup + thead tr:first-child th, + colgroup + tbody tr:first-child th, + colgroup + tbody tr:first-child td, + thead:first-child tr:first-child th, + tbody:first-child tr:first-child th, + tbody:first-child tr:first-child td { + border-top: 0; + } + // For first th or td in the first row in the first thead or tbody + thead:first-child tr:first-child th:first-child, + tbody:first-child tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + } + thead:first-child tr:first-child th:last-child, + tbody:first-child tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + } + // For first th or td in the first row in the first thead or tbody + thead:last-child tr:last-child th:first-child, + tbody:last-child tr:last-child td:first-child { + .border-radius(0 0 0 4px); + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + } + thead:last-child tr:last-child th:last-child, + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + } +} + + +// ZEBRA-STRIPING +// -------------- + +// Default zebra-stripe styles (alternating gray and transparent backgrounds) +.table-striped { + tbody { + tr:nth-child(odd) td, + tr:nth-child(odd) th { + background-color: @tableBackgroundAccent; + } + } +} + + +// HOVER EFFECT +// ------------ +// Placed here since it has to come after the potential zebra striping +.table { + tbody tr:hover td, + tbody tr:hover th { + background-color: @tableBackgroundHover; + } +} + + +// TABLE CELL SIZING +// ----------------- + +// Change the columns +table { + .span1 { .tableColumns(1); } + .span2 { .tableColumns(2); } + .span3 { .tableColumns(3); } + .span4 { .tableColumns(4); } + .span5 { .tableColumns(5); } + .span6 { .tableColumns(6); } + .span7 { .tableColumns(7); } + .span8 { .tableColumns(8); } + .span9 { .tableColumns(9); } + .span10 { .tableColumns(10); } + .span11 { .tableColumns(11); } + .span12 { .tableColumns(12); } + .span13 { .tableColumns(13); } + .span14 { .tableColumns(14); } + .span15 { .tableColumns(15); } + .span16 { .tableColumns(16); } + .span17 { .tableColumns(17); } + .span18 { .tableColumns(18); } + .span19 { .tableColumns(19); } + .span20 { .tableColumns(20); } + .span21 { .tableColumns(21); } + .span22 { .tableColumns(22); } + .span23 { .tableColumns(23); } + .span24 { .tableColumns(24); } +} diff --git a/docs/assets/less/twbs-203/thumbnails.less b/docs/assets/less/twbs-203/thumbnails.less new file mode 100755 index 000000000..aa69f8e33 --- /dev/null +++ b/docs/assets/less/twbs-203/thumbnails.less @@ -0,0 +1,47 @@ +// THUMBNAILS +// ---------- +// Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files + +// Make wrapper ul behave like the grid +.thumbnails { + margin-left: -@gridGutterWidth; + list-style: none; + .clearfix(); +} +// Fluid rows have no left margin +.row-fluid .thumbnails { + margin-left: 0; +} + +// Float li to make thumbnails appear in a row +.thumbnails > li { + float: left; // Explicity set the float since we don't require .span* classes + margin-bottom: @baseLineHeight; + margin-left: @gridGutterWidth; +} + +// The actual thumbnail (can be `a` or `div`) +.thumbnail { + display: block; + padding: 4px; + line-height: 1; + border: 1px solid #ddd; + .border-radius(4px); + .box-shadow(0 1px 1px rgba(0,0,0,.075)); +} +// Add a hover state for linked versions only +a.thumbnail:hover { + border-color: @linkColor; + .box-shadow(0 1px 4px rgba(0,105,214,.25)); +} + +// Images and captions +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; +} diff --git a/docs/assets/less/twbs-203/tooltip.less b/docs/assets/less/twbs-203/tooltip.less new file mode 100755 index 000000000..5111a193f --- /dev/null +++ b/docs/assets/less/twbs-203/tooltip.less @@ -0,0 +1,35 @@ +// TOOLTIP +// ------= + +.tooltip { + position: absolute; + z-index: @zindexTooltip; + display: block; + visibility: visible; + padding: 5px; + font-size: 11px; + .opacity(0); + &.in { .opacity(80); } + &.top { margin-top: -2px; } + &.right { margin-left: 2px; } + &.bottom { margin-top: 2px; } + &.left { margin-left: -2px; } + &.top .tooltip-arrow { #popoverArrow > .top(); } + &.left .tooltip-arrow { #popoverArrow > .left(); } + &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } + &.right .tooltip-arrow { #popoverArrow > .right(); } +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: @white; + text-align: center; + text-decoration: none; + background-color: @black; + .border-radius(4px); +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; +} diff --git a/docs/assets/less/twbs-203/type.less b/docs/assets/less/twbs-203/type.less new file mode 100755 index 000000000..0d5621934 --- /dev/null +++ b/docs/assets/less/twbs-203/type.less @@ -0,0 +1,235 @@ +// Typography.less +// Headings, body text, lists, code, and more for a versatile and durable typography system +// ---------------------------------------------------------------------------------------- + + +// BODY TEXT +// --------- + +p { + margin: 0 0 @baseLineHeight / 2; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + small { + font-size: @baseFontSize - 2; + color: @grayLight; + } +} +.lead { + margin-bottom: @baseLineHeight; + font-size: 20px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; +} + +// HEADINGS +// -------- + +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-family: @headingsFontFamily; + font-weight: @headingsFontWeight; + color: @headingsColor; + text-rendering: optimizelegibility; // Fix the character spacing for headings + small { + font-weight: normal; + color: @grayLight; + } +} +h1 { + font-size: 30px; + line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h2 { + font-size: 24px; + line-height: @baseLineHeight * 2; + small { + font-size: 18px; + } +} +h3 { + font-size: 18px; + line-height: @baseLineHeight * 1.5; + small { + font-size: 14px; + } +} +h4, h5, h6 { + line-height: @baseLineHeight; +} +h4 { + font-size: 14px; + small { + font-size: 12px; + } +} +h5 { + font-size: 12px; +} +h6 { + font-size: 11px; + color: @grayLight; + text-transform: uppercase; +} + +// Page header +.page-header { + padding-bottom: @baseLineHeight - 1; + margin: @baseLineHeight 0; + border-bottom: 1px solid @grayLighter; +} +.page-header h1 { + line-height: 1; +} + + + +// LISTS +// ----- + +// Unordered and Ordered lists +ul, ol { + padding: 0; + margin: 0 0 @baseLineHeight / 2 25px; +} +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} +ul { + list-style: disc; +} +ol { + list-style: decimal; +} +li { + line-height: @baseLineHeight; +} +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +// Description Lists +dl { + margin-bottom: @baseLineHeight; +} +dt, +dd { + line-height: @baseLineHeight; +} +dt { + font-weight: bold; + line-height: @baseLineHeight - 1; // fix jank Helvetica Neue font bug +} +dd { + margin-left: @baseLineHeight / 2; +} +// Horizontal layout (like forms) +.dl-horizontal { + dt { + float: left; + width: 120px; + clear: left; + text-align: right; + .text-overflow(); + } + dd { + margin-left: 130px; + } +} + +// MISC +// ---- + +// Horizontal rules +hr { + margin: @baseLineHeight 0; + border: 0; + border-top: 1px solid @hrBorder; + border-bottom: 1px solid @white; +} + +// Emphasis +strong { + font-weight: bold; +} +em { + font-style: italic; +} +.muted { + color: @grayLight; +} + +// Abbreviations and acronyms +abbr[title] { + cursor: help; + border-bottom: 1px dotted #ddd; +} +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +// Blockquotes +blockquote { + padding: 0 0 0 15px; + margin: 0 0 @baseLineHeight; + border-left: 5px solid @grayLighter; + p { + margin-bottom: 0; + #font > .shorthand(16px,300,@baseLineHeight * 1.25); + } + small { + display: block; + line-height: @baseLineHeight; + color: @grayLight; + &:before { + content: '\2014 \00A0'; + } + } + + // Float right with text-align: right + &.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid @grayLighter; + border-left: 0; + p, + small { + text-align: right; + } + } +} + +// Quotes +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +// Addresses +address { + display: block; + margin-bottom: @baseLineHeight; + font-style: normal; + line-height: @baseLineHeight; +} + +// Misc +small { + font-size: 100%; +} +cite { + font-style: normal; +} diff --git a/docs/assets/less/twbs-203/utilities.less b/docs/assets/less/twbs-203/utilities.less new file mode 100755 index 000000000..d60d22031 --- /dev/null +++ b/docs/assets/less/twbs-203/utilities.less @@ -0,0 +1,23 @@ +// UTILITY CLASSES +// --------------- + +// Quick floats +.pull-right { + float: right; +} +.pull-left { + float: left; +} + +// Toggling content +.hide { + display: none; +} +.show { + display: block; +} + +// Visibility +.invisible { + visibility: hidden; +} diff --git a/docs/assets/less/twbs-203/variables.less b/docs/assets/less/twbs-203/variables.less new file mode 100755 index 000000000..d8825fb07 --- /dev/null +++ b/docs/assets/less/twbs-203/variables.less @@ -0,0 +1,205 @@ +// Variables.less +// Variables to customize the look and feel of Bootstrap +// ----------------------------------------------------- + + + +// GLOBAL VALUES +// -------------------------------------------------- + + +// Grays +// ------------------------- +@black: #000; +@grayDarker: #222; +@grayDark: #333; +@gray: #555; +@grayLight: #999; +@grayLighter: #eee; +@white: #fff; + + +// Accent colors +// ------------------------- +@blue: #049cdb; +@blueDark: #0064cd; +@green: #46a546; +@red: #9d261d; +@yellow: #ffc40d; +@orange: #f89406; +@pink: #c3325f; +@purple: #7a43b6; + + +// Scaffolding +// ------------------------- +@bodyBackground: @white; +@textColor: @grayDark; + + +// Links +// ------------------------- +@linkColor: #08c; +@linkColorHover: darken(@linkColor, 15%); + + +// Typography +// ------------------------- +@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif; +@serifFontFamily: Georgia, "Times New Roman", Times, serif; +@monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace; + +@baseFontSize: 13px; +@baseFontFamily: @sansFontFamily; +@baseLineHeight: 18px; +@altFontFamily: @serifFontFamily; + +@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily +@headingsFontWeight: bold; // instead of browser default, bold +@headingsColor: inherit; // empty to use BS default, @textColor + + +// Tables +// ------------------------- +@tableBackground: transparent; // overall background-color +@tableBackgroundAccent: #f9f9f9; // for striping +@tableBackgroundHover: #f5f5f5; // for hover +@tableBorder: #ddd; // table and cell border + + +// Buttons +// ------------------------- +@btnBackground: @white; +@btnBackgroundHighlight: darken(@white, 10%); +@btnBorder: #ccc; + +@btnPrimaryBackground: @linkColor; +@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%); + +@btnInfoBackground: #5bc0de; +@btnInfoBackgroundHighlight: #2f96b4; + +@btnSuccessBackground: #62c462; +@btnSuccessBackgroundHighlight: #51a351; + +@btnWarningBackground: lighten(@orange, 15%); +@btnWarningBackgroundHighlight: @orange; + +@btnDangerBackground: #ee5f5b; +@btnDangerBackgroundHighlight: #bd362f; + +@btnInverseBackground: @gray; +@btnInverseBackgroundHighlight: @grayDarker; + + +// Forms +// ------------------------- +@inputBackground: @white; +@inputBorder: #ccc; +@inputBorderRadius: 3px; +@inputDisabledBackground: @grayLighter; +@formActionsBackground: #f5f5f5; + +// Dropdowns +// ------------------------- +@dropdownBackground: @white; +@dropdownBorder: rgba(0,0,0,.2); +@dropdownLinkColor: @grayDark; +@dropdownLinkColorHover: @white; +@dropdownLinkBackgroundHover: @linkColor; + + + + +// COMPONENT VARIABLES +// -------------------------------------------------- + +// Z-index master list +// ------------------------- +// Used for a bird's eye view of components dependent on the z-axis +// Try to avoid customizing these :) +@zindexDropdown: 1000; +@zindexPopover: 1010; +@zindexTooltip: 1020; +@zindexFixedNavbar: 1030; +@zindexModalBackdrop: 1040; +@zindexModal: 1050; + + +// Sprite icons path +// ------------------------- +@iconSpritePath: "../img/glyphicons-halflings.png"; +@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png"; + + +// Input placeholder text color +// ------------------------- +@placeholderText: @grayLight; + + +// Hr border color +// ------------------------- +@hrBorder: @grayLighter; + + +// Navbar +// ------------------------- +@navbarHeight: 40px; +@navbarBackground: @grayDarker; +@navbarBackgroundHighlight: @grayDark; + +@navbarText: @grayLight; +@navbarLinkColor: @grayLight; +@navbarLinkColorHover: @white; +@navbarLinkColorActive: @navbarLinkColorHover; +@navbarLinkBackgroundHover: transparent; +@navbarLinkBackgroundActive: @navbarBackground; + +@navbarSearchBackground: lighten(@navbarBackground, 25%); +@navbarSearchBackgroundFocus: @white; +@navbarSearchBorder: darken(@navbarSearchBackground, 30%); +@navbarSearchPlaceholderColor: #ccc; +@navbarBrandColor: @navbarLinkColor; + + +// Hero unit +// ------------------------- +@heroUnitBackground: @grayLighter; +@heroUnitHeadingColor: inherit; +@heroUnitLeadColor: inherit; + + +// Form states and alerts +// ------------------------- +@warningText: #c09853; +@warningBackground: #fcf8e3; +@warningBorder: darken(spin(@warningBackground, -10), 3%); + +@errorText: #b94a48; +@errorBackground: #f2dede; +@errorBorder: darken(spin(@errorBackground, -10), 3%); + +@successText: #468847; +@successBackground: #dff0d8; +@successBorder: darken(spin(@successBackground, -10), 5%); + +@infoText: #3a87ad; +@infoBackground: #d9edf7; +@infoBorder: darken(spin(@infoBackground, -10), 7%); + + + +// GRID +// -------------------------------------------------- + +// Default 940px grid +// ------------------------- +@gridColumns: 12; +@gridColumnWidth: 60px; +@gridGutterWidth: 20px; +@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); + +// Fluid grid +// ------------------------- +@fluidGridColumnWidth: 6.382978723%; +@fluidGridGutterWidth: 2.127659574%; diff --git a/docs/assets/less/twbs-203/wells.less b/docs/assets/less/twbs-203/wells.less new file mode 100755 index 000000000..9300061a5 --- /dev/null +++ b/docs/assets/less/twbs-203/wells.less @@ -0,0 +1,27 @@ +// WELLS +// ----- + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #eee; + border: 1px solid rgba(0,0,0,.05); + .border-radius(4px); + .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); + blockquote { + border-color: #ddd; + border-color: rgba(0,0,0,.15); + } +} + +// Sizes +.well-large { + padding: 24px; + .border-radius(6px); +} +.well-small { + padding: 9px; + .border-radius(3px); +} diff --git a/docs/index.html b/docs/index.html index 7a26d2610..010d11929 100644 --- a/docs/index.html +++ b/docs/index.html @@ -19,8 +19,11 @@ + - + @@ -136,7 +139,7 @@

    New Icons

    -

    66 shiny new icons added to Font Awesome 2.0.3. Yep. That puts us well over 200.

    +

    63 shiny new icons added to Font Awesome 2.0.3. Yep. That puts us well over 200.

    @@ -613,7 +616,7 @@ <i class="icon-camera-retro"></i> icon-camera-retro </div>
  • -
    Icon classes are echoed via CSS : +
    Icon classes are echoed via CSS :before.

    Increase the icon size by using the icon-large class. This increases the size by 33% relative to the font-size of the container.

    @@ -842,8 +845,8 @@

    Contact