├── init.rb ├── lib ├── compass_twitter_bootstrap │ ├── engine.rb │ └── version.rb └── compass_twitter_bootstrap.rb ├── vendor └── assets │ ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff │ ├── images │ ├── glyphicons-halflings.png │ └── glyphicons-halflings-white.png │ └── javascripts │ ├── bootstrap-all.js │ ├── bootstrap-transition.js │ ├── bootstrap-alert.js │ ├── bootstrap-button.js │ ├── bootstrap-popover.js │ ├── bootstrap-affix.js │ ├── bootstrap-tab.js │ ├── bootstrap-dropdown.js │ ├── bootstrap-scrollspy.js │ ├── bootstrap-collapse.js │ └── bootstrap-carousel.js ├── Gemfile ├── Rakefile ├── .gitignore ├── stylesheets_sass ├── compass_twitter_bootstrap │ ├── _component-animations.sass │ ├── _layouts.sass │ ├── _utilities.sass │ ├── _breadcrumbs.sass │ ├── _grid.sass │ ├── _responsive-768px-979px.sass │ ├── _hero-unit.sass │ ├── _responsive-1200px-min.sass │ ├── _wells.sass │ ├── _accordion.sass │ ├── _close.sass │ ├── _pager.sass │ ├── _media.sass │ ├── _scaffolding.sass │ ├── _thumbnails.sass │ ├── _code.sass │ ├── _alerts.sass │ ├── _responsive-utilities.sass │ ├── _tooltip.sass │ ├── _modals.sass │ ├── _labels-badges.sass │ ├── _carousel.sass │ ├── _pagination.sass │ ├── _progress-bars.sass │ ├── _popovers.sass │ ├── _responsive-767px-max.sass │ ├── _responsive-navbar.sass │ ├── _reset.sass │ ├── _buttons.sass │ ├── _type.sass │ ├── _button-groups.sass │ ├── _dropdowns.sass │ └── _tables.sass ├── _compass_twitter_bootstrap_responsive.sass ├── _compass_twitter_bootstrap.sass └── _compass_twitter_bootstrap_awesome.sass ├── stylesheets ├── compass_twitter_bootstrap │ ├── _layouts.scss │ ├── _component-animations.scss │ ├── _utilities.scss │ ├── _grid.scss │ ├── _breadcrumbs.scss │ ├── _responsive-768px-979px.scss │ ├── _hero-unit.scss │ ├── _responsive-1200px-min.scss │ ├── _wells.scss │ ├── _accordion.scss │ ├── _close.scss │ ├── _pager.scss │ ├── _media.scss │ ├── _scaffolding.scss │ ├── _thumbnails.scss │ ├── _code.scss │ ├── _alerts.scss │ ├── _responsive-utilities.scss │ ├── _tooltip.scss │ ├── _labels-badges.scss │ ├── _modals.scss │ ├── _carousel.scss │ ├── _pagination.scss │ ├── _progress-bars.scss │ ├── _popovers.scss │ ├── _responsive-767px-max.scss │ ├── _reset.scss │ ├── _responsive-navbar.scss │ ├── _type.scss │ └── _buttons.scss ├── _compass_twitter_bootstrap_responsive.scss ├── _compass_twitter_bootstrap.scss └── _compass_twitter_bootstrap_awesome.scss ├── compass_twitter_bootstrap.gemspec ├── CHANGELOG.md └── README.md /init.rb: -------------------------------------------------------------------------------- 1 | require 'compass_twitter_bootstrap.rb' -------------------------------------------------------------------------------- /lib/compass_twitter_bootstrap/engine.rb: -------------------------------------------------------------------------------- 1 | module CompassTwitterBootstrap 2 | class Engine < ::Rails::Engine 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /vendor/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vwall/compass-twitter-bootstrap/HEAD/vendor/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Specify your gem's dependencies in compass_twitter_bootstrap.gemspec 4 | gemspec 5 | 6 | gem 'rake' 7 | -------------------------------------------------------------------------------- /lib/compass_twitter_bootstrap/version.rb: -------------------------------------------------------------------------------- 1 | module CompassTwitterBootstrap 2 | VERSION = '2.3.2' unless defined?(CompassTwitterBootstrap::VERSION) 3 | end -------------------------------------------------------------------------------- /vendor/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vwall/compass-twitter-bootstrap/HEAD/vendor/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /vendor/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vwall/compass-twitter-bootstrap/HEAD/vendor/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /vendor/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vwall/compass-twitter-bootstrap/HEAD/vendor/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /vendor/assets/images/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vwall/compass-twitter-bootstrap/HEAD/vendor/assets/images/glyphicons-halflings.png -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env rake 2 | require "bundler/gem_tasks" 3 | 4 | desc 'Convert less to scss' 5 | task :convert do 6 | ruby('build/convert.rb') 7 | end 8 | -------------------------------------------------------------------------------- /vendor/assets/images/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vwall/compass-twitter-bootstrap/HEAD/vendor/assets/images/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | .bundle 4 | .config 5 | .yardoc 6 | .DS_Store 7 | Gemfile.lock 8 | InstalledFiles 9 | _yardoc 10 | coverage 11 | doc/ 12 | lib/bundler/man 13 | pkg 14 | rdoc 15 | spec/reports 16 | test/tmp 17 | test/version_tmp 18 | tmp 19 | .sass-cache 20 | -------------------------------------------------------------------------------- /lib/compass_twitter_bootstrap.rb: -------------------------------------------------------------------------------- 1 | require "compass_twitter_bootstrap/version" 2 | 3 | if defined?(::Rails) && ::Rails.version >= "3.1" 4 | require 'compass_twitter_bootstrap/engine' 5 | end 6 | 7 | require 'compass' 8 | Compass::Frameworks.register("twitter_bootstrap", :path => "#{File.dirname(__FILE__)}/..") 9 | 10 | module CompassTwitterBootstrap 11 | STYLESHEETS = File.expand_path("../stylesheets", __FILE__) 12 | end 13 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_component-animations.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | .fade 6 | opacity: 0 7 | +ctb-transition(opacity 0.15s linear) 8 | &.in 9 | opacity: 1 10 | 11 | .collapse 12 | position: relative 13 | height: 0 14 | overflow: hidden 15 | +ctb-transition(height 0.35s ease) 16 | &.in 17 | height: auto 18 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_layouts.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // -------------------------------------------------- 4 | 5 | // Container (centered, fixed-width layouts) 6 | .container 7 | +ctb-container-fixed 8 | 9 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 10 | .container-fluid 11 | padding-right: $gridGutterWidth 12 | padding-left: $gridGutterWidth 13 | +ctb-clearfix 14 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_layouts.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Container (centered, fixed-width layouts) 7 | .container { 8 | @include ctb-container-fixed(); 9 | } 10 | 11 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 12 | .container-fluid { 13 | padding-right: $gridGutterWidth; 14 | padding-left: $gridGutterWidth; 15 | @include ctb-clearfix(); 16 | } -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-all.js: -------------------------------------------------------------------------------- 1 | //=require bootstrap-transition 2 | //=require bootstrap-alert 3 | //=require bootstrap-affix 4 | //=require bootstrap-modal 5 | //=require bootstrap-dropdown 6 | //=require bootstrap-scrollspy 7 | //=require bootstrap-tab 8 | //=require bootstrap-tooltip 9 | //=require bootstrap-popover 10 | //=require bootstrap-button 11 | //=require bootstrap-collapse 12 | //=require bootstrap-carousel 13 | //=require bootstrap-typeahead 14 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_utilities.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | // Quick floats 6 | .pull-right 7 | float: right 8 | 9 | .pull-left 10 | float: left 11 | 12 | // Toggling content 13 | .hide 14 | display: none 15 | 16 | .show 17 | display: block 18 | 19 | // Visibility 20 | .invisible 21 | visibility: hidden 22 | 23 | // For Affix plugin 24 | .affix 25 | position: fixed 26 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_component-animations.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | 6 | .fade { 7 | opacity: 0; 8 | @include ctb-transition(opacity .15s linear); 9 | &.in { 10 | opacity: 1; 11 | } 12 | } 13 | 14 | .collapse { 15 | position: relative; 16 | height: 0; 17 | overflow: hidden; 18 | @include ctb-transition(height .35s ease); 19 | &.in { 20 | height: auto; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_utilities.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Quick floats 7 | .pull-right { 8 | float: right; 9 | } 10 | .pull-left { 11 | float: left; 12 | } 13 | 14 | // Toggling content 15 | .hide { 16 | display: none; 17 | } 18 | .show { 19 | display: block; 20 | } 21 | 22 | // Visibility 23 | .invisible { 24 | visibility: hidden; 25 | } 26 | 27 | // For Affix plugin 28 | .affix { 29 | position: fixed; 30 | } 31 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_breadcrumbs.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | .breadcrumb 6 | padding: 8px 15px 7 | margin: 0 0 $baseLineHeight 8 | list-style: none 9 | background-color: #f5f5f5 10 | +ctb-border-radius($baseBorderRadius) 11 | > li 12 | display: inline-block 13 | +ctb-ie7-inline-block 14 | text-shadow: 0 1px 0 $white 15 | > .divider 16 | padding: 0 5px 17 | color: #ccc 18 | > .active 19 | color: $grayLight 20 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_grid.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | // Fixed (940px) 6 | +ctb-grid-core($gridColumnWidth, $gridGutterWidth) 7 | 8 | // Fluid (940px) 9 | +ctb-grid-fluid($fluidGridColumnWidth, $fluidGridGutterWidth) 10 | 11 | // Reset utility classes due to specificity 12 | 13 | [class*="span"].hide, 14 | .row-fluid [class*="span"].hide 15 | display: none 16 | 17 | [class*="span"].pull-right, 18 | .row-fluid [class*="span"].pull-right 19 | float: right 20 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_responsive-768px-979px.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Tablet to desktop 3 | // -------------------------------------------------- 4 | 5 | @media (min-width: 768px) and (max-width: 979px) 6 | // Fixed grid 7 | +ctb-grid-core($gridColumnWidth768, $gridGutterWidth768) 8 | // Fluid grid 9 | +ctb-grid-fluid($fluidGridColumnWidth768, $fluidGridGutterWidth768) 10 | // Input grid 11 | +ctb-grid-input($gridColumnWidth768, $gridGutterWidth768) 12 | // No need to reset .thumbnails here since it's the same $gridGutterWidth 13 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_grid.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | 6 | // Fixed (940px) 7 | @include ctb-grid-core($gridColumnWidth, $gridGutterWidth); 8 | 9 | // Fluid (940px) 10 | @include ctb-grid-fluid($fluidGridColumnWidth, $fluidGridGutterWidth); 11 | 12 | // Reset utility classes due to specificity 13 | [class*="span"].hide, 14 | .row-fluid [class*="span"].hide { 15 | display: none; 16 | } 17 | 18 | [class*="span"].pull-right, 19 | .row-fluid [class*="span"].pull-right { 20 | float: right; 21 | } 22 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_breadcrumbs.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: 8px 15px; 8 | margin: 0 0 $baseLineHeight; 9 | list-style: none; 10 | background-color: #f5f5f5; 11 | @include ctb-border-radius($baseBorderRadius); 12 | > li { 13 | display: inline-block; 14 | @include ctb-ie7-inline-block(); 15 | text-shadow: 0 1px 0 $white; 16 | > .divider { 17 | padding: 0 5px; 18 | color: #ccc; 19 | } 20 | } 21 | > .active { 22 | color: $grayLight; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_responsive-768px-979px.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Tablet to desktop 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (min-width: 768px) and (max-width: 979px) { 7 | 8 | // Fixed grid 9 | @include ctb-grid-core($gridColumnWidth768, $gridGutterWidth768); 10 | 11 | // Fluid grid 12 | @include ctb-grid-fluid($fluidGridColumnWidth768, $fluidGridGutterWidth768); 13 | 14 | // Input grid 15 | @include ctb-grid-input($gridColumnWidth768, $gridGutterWidth768); 16 | 17 | // No need to reset .thumbnails here since it's the same $gridGutterWidth 18 | 19 | } 20 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_hero-unit.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Hero unit 3 | // -------------------------------------------------- 4 | 5 | .hero-unit 6 | padding: 60px 7 | margin-bottom: 30px 8 | font-size: 18px 9 | font-weight: 200 10 | line-height: $baseLineHeight * 1.5 11 | color: $heroUnitLeadColor 12 | background-color: $heroUnitBackground 13 | +ctb-border-radius(6px) 14 | h1 15 | margin-bottom: 0 16 | font-size: 60px 17 | line-height: 1 18 | color: $heroUnitHeadingColor 19 | letter-spacing: -1px 20 | li 21 | line-height: $baseLineHeight * 1.5 22 | // Reset since we specify in type.less 23 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_responsive-1200px-min.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Large desktop and up 3 | // -------------------------------------------------- 4 | 5 | @media (min-width: 1200px) 6 | // Fixed grid 7 | +ctb-grid-core($gridColumnWidth1200, $gridGutterWidth1200) 8 | // Fluid grid 9 | +ctb-grid-fluid($fluidGridColumnWidth1200, $fluidGridGutterWidth1200) 10 | // Input grid 11 | +ctb-grid-input($gridColumnWidth1200, $gridGutterWidth1200) 12 | // Thumbnails 13 | .thumbnails 14 | margin-left: -$gridGutterWidth1200 15 | .thumbnails > li 16 | margin-left: $gridGutterWidth1200 17 | .row-fluid .thumbnails 18 | margin-left: 0 19 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_hero-unit.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Hero unit 3 | // -------------------------------------------------- 4 | 5 | 6 | .hero-unit { 7 | padding: 60px; 8 | margin-bottom: 30px; 9 | font-size: 18px; 10 | font-weight: 200; 11 | line-height: $baseLineHeight * 1.5; 12 | color: $heroUnitLeadColor; 13 | background-color: $heroUnitBackground; 14 | @include ctb-border-radius(6px); 15 | h1 { 16 | margin-bottom: 0; 17 | font-size: 60px; 18 | line-height: 1; 19 | color: $heroUnitHeadingColor; 20 | letter-spacing: -1px; 21 | } 22 | li { 23 | line-height: $baseLineHeight * 1.5; // Reset since we specify in type.less 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_wells.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | // Base class 6 | .well 7 | min-height: 20px 8 | padding: 19px 9 | margin-bottom: 20px 10 | background-color: $wellBackground 11 | border: 1px solid darken($wellBackground, 7%) 12 | +ctb-border-radius($baseBorderRadius) 13 | +ctb-box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.05)) 14 | blockquote 15 | border-color: #ddd 16 | border-color: rgba(0, 0, 0, 0.15) 17 | 18 | // Sizes 19 | .well-large 20 | padding: 24px 21 | +ctb-border-radius($borderRadiusLarge) 22 | 23 | .well-small 24 | padding: 9px 25 | +ctb-border-radius($borderRadiusSmall) 26 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_responsive-1200px-min.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Large desktop and up 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (min-width: 1200px) { 7 | 8 | // Fixed grid 9 | @include ctb-grid-core($gridColumnWidth1200, $gridGutterWidth1200); 10 | 11 | // Fluid grid 12 | @include ctb-grid-fluid($fluidGridColumnWidth1200, $fluidGridGutterWidth1200); 13 | 14 | // Input grid 15 | @include ctb-grid-input($gridColumnWidth1200, $gridGutterWidth1200); 16 | 17 | // Thumbnails 18 | .thumbnails { 19 | margin-left: -$gridGutterWidth1200; 20 | } 21 | .thumbnails > li { 22 | margin-left: $gridGutterWidth1200; 23 | } 24 | .row-fluid .thumbnails { 25 | margin-left: 0; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_wells.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: $wellBackground; 12 | border: 1px solid darken($wellBackground, 7%); 13 | @include ctb-border-radius($baseBorderRadius); 14 | @include ctb-box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-large { 23 | padding: 24px; 24 | @include ctb-border-radius($borderRadiusLarge); 25 | } 26 | .well-small { 27 | padding: 9px; 28 | @include ctb-border-radius($borderRadiusSmall); 29 | } 30 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_accordion.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Accordion 3 | // -------------------------------------------------- 4 | 5 | // Parent container 6 | .accordion 7 | margin-bottom: $baseLineHeight 8 | 9 | // Group == heading + body 10 | .accordion-group 11 | margin-bottom: 2px 12 | border: 1px solid #e5e5e5 13 | +ctb-border-radius($baseBorderRadius) 14 | 15 | .accordion-heading 16 | border-bottom: 0 17 | 18 | .accordion-heading .accordion-toggle 19 | display: block 20 | padding: 8px 15px 21 | 22 | // General toggle styles 23 | .accordion-toggle 24 | cursor: pointer 25 | 26 | // Inner needs the styles because you can't animate properly with any styles on the element 27 | .accordion-inner 28 | padding: 9px 15px 29 | border-top: 1px solid #e5e5e5 30 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_close.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | .close 6 | float: right 7 | font-size: 20px 8 | font-weight: bold 9 | line-height: $baseLineHeight 10 | color: $black 11 | text-shadow: 0 1px 0 rgba(255, 255, 255, 1) 12 | +ctb-opacity(0.2) 13 | &:hover, 14 | &:focus 15 | color: $black 16 | text-decoration: none 17 | cursor: pointer 18 | +ctb-opacity(0.4) 19 | 20 | // Additional properties for button version 21 | // iOS requires the button element instead of an anchor tag. 22 | // If you want the anchor version, it requires `href="#"`. 23 | button.close 24 | padding: 0 25 | cursor: pointer 26 | background: transparent 27 | border: 0 28 | -webkit-appearance: none 29 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_accordion.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Accordion 3 | // -------------------------------------------------- 4 | 5 | 6 | // Parent container 7 | .accordion { 8 | margin-bottom: $baseLineHeight; 9 | } 10 | 11 | // Group == heading + body 12 | .accordion-group { 13 | margin-bottom: 2px; 14 | border: 1px solid #e5e5e5; 15 | @include ctb-border-radius($baseBorderRadius); 16 | } 17 | .accordion-heading { 18 | border-bottom: 0; 19 | } 20 | .accordion-heading .accordion-toggle { 21 | display: block; 22 | padding: 8px 15px; 23 | } 24 | 25 | // General toggle styles 26 | .accordion-toggle { 27 | cursor: pointer; 28 | } 29 | 30 | // Inner needs the styles because you can't animate properly with any styles on the element 31 | .accordion-inner { 32 | padding: 9px 15px; 33 | border-top: 1px solid #e5e5e5; 34 | } 35 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_close.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: 20px; 9 | font-weight: bold; 10 | line-height: $baseLineHeight; 11 | color: $black; 12 | text-shadow: 0 1px 0 rgba(255,255,255,1); 13 | @include ctb-opacity(0.2); 14 | &:hover, 15 | &:focus { 16 | color: $black; 17 | text-decoration: none; 18 | cursor: pointer; 19 | @include ctb-opacity(0.4); 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | button.close { 27 | padding: 0; 28 | cursor: pointer; 29 | background: transparent; 30 | border: 0; 31 | -webkit-appearance: none; 32 | } -------------------------------------------------------------------------------- /compass_twitter_bootstrap.gemspec: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | require File.expand_path('../lib/compass_twitter_bootstrap/version', __FILE__) 3 | 4 | Gem::Specification.new do |gem| 5 | gem.authors = ["Vincent"] 6 | gem.email = ["vrwaller@gmail.com"] 7 | gem.description = %q{Compass/SCSS version of the twitter bootstrap} 8 | gem.summary = %q{Compass Twitter Bootstrap} 9 | 10 | gem.homepage = "https://github.com/vwall/compass-twitter-bootstrap" 11 | 12 | gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } 13 | gem.files = `git ls-files`.split("\n") 14 | gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") 15 | gem.name = "compass_twitter_bootstrap" 16 | gem.require_paths = ["lib"] 17 | gem.version = CompassTwitterBootstrap::VERSION 18 | 19 | gem.add_runtime_dependency "compass" 20 | end 21 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_pager.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | .pager 6 | margin: $baseLineHeight 0 7 | list-style: none 8 | text-align: center 9 | +ctb-clearfix 10 | 11 | .pager li 12 | display: inline 13 | 14 | .pager li > a, 15 | .pager li > span 16 | display: inline-block 17 | padding: 5px 14px 18 | background-color: #fff 19 | border: 1px solid #ddd 20 | +ctb-border-radius(15px) 21 | 22 | .pager li > a:hover, 23 | .pager li > a:focus 24 | text-decoration: none 25 | background-color: #f5f5f5 26 | 27 | .pager .next > a, 28 | .pager .next > span 29 | float: right 30 | 31 | .pager .previous > a, 32 | .pager .previous > span 33 | float: left 34 | 35 | .pager .disabled > a, 36 | .pager .disabled > a:hover, 37 | .pager .disabled > a:focus, 38 | .pager .disabled > span 39 | color: $grayLight 40 | background-color: #fff 41 | cursor: default 42 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_pager.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | margin: $baseLineHeight 0; 8 | list-style: none; 9 | text-align: center; 10 | @include ctb-clearfix(); 11 | } 12 | .pager li { 13 | display: inline; 14 | } 15 | .pager li > a, 16 | .pager li > span { 17 | display: inline-block; 18 | padding: 5px 14px; 19 | background-color: #fff; 20 | border: 1px solid #ddd; 21 | @include ctb-border-radius(15px); 22 | } 23 | .pager li > a:hover, 24 | .pager li > a:focus { 25 | text-decoration: none; 26 | background-color: #f5f5f5; 27 | } 28 | .pager .next > a, 29 | .pager .next > span { 30 | float: right; 31 | } 32 | .pager .previous > a, 33 | .pager .previous > span { 34 | float: left; 35 | } 36 | .pager .disabled > a, 37 | .pager .disabled > a:hover, 38 | .pager .disabled > a:focus, 39 | .pager .disabled > span { 40 | color: $grayLight; 41 | background-color: #fff; 42 | cursor: default; 43 | } -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_media.sass: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | // Common styles 6 | // ------------------------- 7 | 8 | // Clear the floats 9 | 10 | .media, 11 | .media-body 12 | overflow: hidden 13 | *overflow: visible 14 | zoom: 1 15 | 16 | // Proper spacing between instances of .media 17 | 18 | .media, 19 | .media .media 20 | margin-top: 15px 21 | 22 | .media:first-child 23 | margin-top: 0 24 | 25 | // For images and videos, set to block 26 | .media-object 27 | display: block 28 | 29 | // Reset margins on headings for tighter default spacing 30 | .media-heading 31 | margin: 0 0 5px 32 | 33 | // Media image alignment 34 | // ------------------------- 35 | 36 | .media > .pull-left 37 | margin-right: 10px 38 | 39 | .media > .pull-right 40 | margin-left: 10px 41 | 42 | // Media list variation 43 | // ------------------------- 44 | 45 | // Undo default ul/ol styles 46 | .media-list 47 | margin-left: 0 48 | list-style: none 49 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_scaffolding.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Scaffolding 3 | // -------------------------------------------------- 4 | 5 | // Body reset 6 | // ------------------------- 7 | 8 | body 9 | margin: 0 10 | font-family: $baseFontFamily 11 | font-size: $baseFontSize 12 | line-height: $baseLineHeight 13 | color: $textColor 14 | background-color: $bodyBackground 15 | 16 | // Links 17 | // ------------------------- 18 | 19 | a 20 | color: $linkColor 21 | text-decoration: none 22 | 23 | a:hover, 24 | a:focus 25 | color: $linkColorHover 26 | text-decoration: underline 27 | 28 | // Images 29 | // ------------------------- 30 | 31 | // Rounded corners 32 | .img-rounded 33 | +ctb-border-radius(6px) 34 | 35 | // Add polaroid-esque trim 36 | .img-polaroid 37 | padding: 4px 38 | background-color: #fff 39 | border: 1px solid #ccc 40 | border: 1px solid rgba(0, 0, 0, 0.2) 41 | +ctb-box-shadow(0 1px 3px rgba(0, 0, 0, 0.1)) 42 | 43 | // Perfect circle 44 | .img-circle 45 | +ctb-border-radius(500px) 46 | // crank the border-radius so it works with most reasonably sized images 47 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_media.scss: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | 6 | // Common styles 7 | // ------------------------- 8 | 9 | // Clear the floats 10 | .media, 11 | .media-body { 12 | overflow: hidden; 13 | *overflow: visible; 14 | zoom: 1; 15 | } 16 | 17 | // Proper spacing between instances of .media 18 | .media, 19 | .media .media { 20 | margin-top: 15px; 21 | } 22 | .media:first-child { 23 | margin-top: 0; 24 | } 25 | 26 | // For images and videos, set to block 27 | .media-object { 28 | display: block; 29 | } 30 | 31 | // Reset margins on headings for tighter default spacing 32 | .media-heading { 33 | margin: 0 0 5px; 34 | } 35 | 36 | 37 | // Media image alignment 38 | // ------------------------- 39 | 40 | .media > .pull-left { 41 | margin-right: 10px; 42 | } 43 | .media > .pull-right { 44 | margin-left: 10px; 45 | } 46 | 47 | 48 | // Media list variation 49 | // ------------------------- 50 | 51 | // Undo default ul/ol styles 52 | .media-list { 53 | margin-left: 0; 54 | list-style: none; 55 | } 56 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_scaffolding.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Scaffolding 3 | // -------------------------------------------------- 4 | 5 | 6 | // Body reset 7 | // ------------------------- 8 | 9 | body { 10 | margin: 0; 11 | font-family: $baseFontFamily; 12 | font-size: $baseFontSize; 13 | line-height: $baseLineHeight; 14 | color: $textColor; 15 | background-color: $bodyBackground; 16 | } 17 | 18 | 19 | // Links 20 | // ------------------------- 21 | 22 | a { 23 | color: $linkColor; 24 | text-decoration: none; 25 | } 26 | a:hover, 27 | a:focus { 28 | color: $linkColorHover; 29 | text-decoration: underline; 30 | } 31 | 32 | 33 | // Images 34 | // ------------------------- 35 | 36 | // Rounded corners 37 | .img-rounded { 38 | @include ctb-border-radius(6px); 39 | } 40 | 41 | // Add polaroid-esque trim 42 | .img-polaroid { 43 | padding: 4px; 44 | background-color: #fff; 45 | border: 1px solid #ccc; 46 | border: 1px solid rgba(0,0,0,.2); 47 | @include ctb-box-shadow(0 1px 3px rgba(0,0,0,.1)); 48 | } 49 | 50 | // Perfect circle 51 | .img-circle { 52 | @include ctb-border-radius(500px); // crank the border-radius so it works with most reasonably sized images 53 | } 54 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_thumbnails.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | // Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files 6 | 7 | // Make wrapper ul behave like the grid 8 | .thumbnails 9 | margin-left: -$gridGutterWidth 10 | list-style: none 11 | +ctb-clearfix 12 | 13 | // Fluid rows have no left margin 14 | .row-fluid .thumbnails 15 | margin-left: 0 16 | 17 | // Float li to make thumbnails appear in a row 18 | .thumbnails > li 19 | float: left 20 | // Explicity set the float since we don't require .span* classes 21 | margin-bottom: $baseLineHeight 22 | margin-left: $gridGutterWidth 23 | 24 | // The actual thumbnail (can be `a` or `div`) 25 | .thumbnail 26 | display: block 27 | padding: 4px 28 | line-height: $baseLineHeight 29 | border: 1px solid #ddd 30 | +ctb-border-radius($baseBorderRadius) 31 | +ctb-box-shadow(0 1px 3px rgba(0, 0, 0, 0.055)) 32 | +ctb-transition(all 0.2s ease-in-out) 33 | 34 | // Add a hover/focus state for linked versions only 35 | 36 | a.thumbnail:hover, 37 | a.thumbnail:focus 38 | border-color: $linkColor 39 | +ctb-box-shadow(0 1px 4px rgba(0, 105, 214, 0.25)) 40 | 41 | // Images and captions 42 | .thumbnail > img 43 | display: block 44 | max-width: 100% 45 | margin-left: auto 46 | margin-right: auto 47 | 48 | .thumbnail .caption 49 | padding: 9px 50 | color: $gray 51 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_code.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and blocK) 3 | // -------------------------------------------------- 4 | 5 | // Inline and block code styles 6 | 7 | code, 8 | pre 9 | padding: 0 3px 2px 10 | +ctb-font-family-monospace 11 | font-size: $baseFontSize - 2 12 | color: $grayDark 13 | +ctb-border-radius(3px) 14 | 15 | // Inline code 16 | code 17 | padding: 2px 4px 18 | color: #d14 19 | background-color: #f7f7f9 20 | border: 1px solid #e1e1e8 21 | white-space: nowrap 22 | 23 | // Blocks of code 24 | pre 25 | display: block 26 | padding: ($baseLineHeight - 1) / 2 27 | margin: 0 0 $baseLineHeight / 2 28 | font-size: $baseFontSize - 1 29 | // 14px to 13px 30 | line-height: $baseLineHeight 31 | word-break: break-all 32 | word-wrap: break-word 33 | white-space: pre 34 | white-space: pre-wrap 35 | background-color: #f5f5f5 36 | border: 1px solid #ccc 37 | // fallback for IE7-8 38 | border: 1px solid rgba(0, 0, 0, 0.15) 39 | +ctb-border-radius($baseBorderRadius) 40 | // Make prettyprint styles more spaced out for readability 41 | &.prettyprint 42 | margin-bottom: $baseLineHeight 43 | // Account for some code outputs that place code tags in pre tags 44 | code 45 | padding: 0 46 | color: inherit 47 | white-space: pre 48 | white-space: pre-wrap 49 | background-color: transparent 50 | border: 0 51 | 52 | // Enable scrollable blocks of code 53 | .pre-scrollable 54 | max-height: 340px 55 | overflow-y: scroll 56 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_thumbnails.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files 7 | 8 | // Make wrapper ul behave like the grid 9 | .thumbnails { 10 | margin-left: -$gridGutterWidth; 11 | list-style: none; 12 | @include ctb-clearfix(); 13 | } 14 | // Fluid rows have no left margin 15 | .row-fluid .thumbnails { 16 | margin-left: 0; 17 | } 18 | 19 | // Float li to make thumbnails appear in a row 20 | .thumbnails > li { 21 | float: left; // Explicity set the float since we don't require .span* classes 22 | margin-bottom: $baseLineHeight; 23 | margin-left: $gridGutterWidth; 24 | } 25 | 26 | // The actual thumbnail (can be `a` or `div`) 27 | .thumbnail { 28 | display: block; 29 | padding: 4px; 30 | line-height: $baseLineHeight; 31 | border: 1px solid #ddd; 32 | @include ctb-border-radius($baseBorderRadius); 33 | @include ctb-box-shadow(0 1px 3px rgba(0,0,0,.055)); 34 | @include ctb-transition(all .2s ease-in-out); 35 | } 36 | // Add a hover/focus state for linked versions only 37 | a.thumbnail:hover, 38 | a.thumbnail:focus { 39 | border-color: $linkColor; 40 | @include ctb-box-shadow(0 1px 4px rgba(0,105,214,.25)); 41 | } 42 | 43 | // Images and captions 44 | .thumbnail > img { 45 | display: block; 46 | max-width: 100%; 47 | margin-left: auto; 48 | margin-right: auto; 49 | } 50 | .thumbnail .caption { 51 | padding: 9px; 52 | color: $gray; 53 | } 54 | -------------------------------------------------------------------------------- /stylesheets_sass/_compass_twitter_bootstrap_responsive.sass: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | 10 | // Responsive 11 | // For phone and tablet devices 12 | // ------------------------------------------------------------- 13 | 14 | // REPEAT VARIABLES & MIXINS 15 | // ------------------------- 16 | // Required since we compile the responsive stuff separately 17 | 18 | @import compass_twitter_bootstrap/variables 19 | 20 | // Modify this for custom colors, font-sizes, etc 21 | @import compass_twitter_bootstrap/mixins 22 | 23 | .clearfix 24 | +ctb-clearfix 25 | 26 | .hide-text 27 | +ctb-hide-text 28 | 29 | .input-block-level 30 | +ctb-input-block-level 31 | 32 | // RESPONSIVE CLASSES 33 | // ------------------ 34 | 35 | @import compass_twitter_bootstrap/responsive-utilities 36 | 37 | // MEDIA QUERIES 38 | // ------------------ 39 | 40 | // Large desktops 41 | @import compass_twitter_bootstrap/responsive-1200px-min 42 | 43 | // Tablets to regular desktops 44 | @import compass_twitter_bootstrap/responsive-768px-979px 45 | 46 | // Phones to portrait tablets and narrow desktops 47 | @import compass_twitter_bootstrap/responsive-767px-max 48 | 49 | // RESPONSIVE NAVBAR 50 | // ------------------ 51 | 52 | // From 979px and below, show a button to toggle navbar contents 53 | @import compass_twitter_bootstrap/responsive-navbar 54 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_code.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and blocK) 3 | // -------------------------------------------------- 4 | 5 | 6 | // Inline and block code styles 7 | code, 8 | pre { 9 | padding: 0 3px 2px; 10 | @include ctb-font-family-monospace; 11 | font-size: $baseFontSize - 2; 12 | color: $grayDark; 13 | @include ctb-border-radius(3px); 14 | } 15 | 16 | // Inline code 17 | code { 18 | padding: 2px 4px; 19 | color: #d14; 20 | background-color: #f7f7f9; 21 | border: 1px solid #e1e1e8; 22 | white-space: nowrap; 23 | } 24 | 25 | // Blocks of code 26 | pre { 27 | display: block; 28 | padding: ($baseLineHeight - 1) / 2; 29 | margin: 0 0 $baseLineHeight / 2; 30 | font-size: $baseFontSize - 1; // 14px to 13px 31 | line-height: $baseLineHeight; 32 | word-break: break-all; 33 | word-wrap: break-word; 34 | white-space: pre; 35 | white-space: pre-wrap; 36 | background-color: #f5f5f5; 37 | border: 1px solid #ccc; // fallback for IE7-8 38 | border: 1px solid rgba(0,0,0,.15); 39 | @include ctb-border-radius($baseBorderRadius); 40 | 41 | // Make prettyprint styles more spaced out for readability 42 | &.prettyprint { 43 | margin-bottom: $baseLineHeight; 44 | } 45 | 46 | // Account for some code outputs that place code tags in pre tags 47 | code { 48 | padding: 0; 49 | color: inherit; 50 | white-space: pre; 51 | white-space: pre-wrap; 52 | background-color: transparent; 53 | border: 0; 54 | } 55 | } 56 | 57 | // Enable scrollable blocks of code 58 | .pre-scrollable { 59 | max-height: 340px; 60 | overflow-y: scroll; 61 | } -------------------------------------------------------------------------------- /stylesheets/_compass_twitter_bootstrap_responsive.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | 12 | // Responsive 13 | // For phone and tablet devices 14 | // ------------------------------------------------------------- 15 | 16 | 17 | // REPEAT VARIABLES & MIXINS 18 | // ------------------------- 19 | // Required since we compile the responsive stuff separately 20 | 21 | @import "compass_twitter_bootstrap/variables"; // Modify this for custom colors, font-sizes, etc 22 | @import "compass_twitter_bootstrap/mixins"; 23 | 24 | .clearfix { 25 | @include ctb-clearfix(); 26 | } 27 | 28 | .hide-text { 29 | @include ctb-hide-text(); 30 | } 31 | 32 | .input-block-level { 33 | @include ctb-input-block-level(); 34 | } 35 | 36 | 37 | // RESPONSIVE CLASSES 38 | // ------------------ 39 | 40 | @import "compass_twitter_bootstrap/responsive-utilities"; 41 | 42 | 43 | // MEDIA QUERIES 44 | // ------------------ 45 | 46 | // Large desktops 47 | @import "compass_twitter_bootstrap/responsive-1200px-min"; 48 | 49 | // Tablets to regular desktops 50 | @import "compass_twitter_bootstrap/responsive-768px-979px"; 51 | 52 | // Phones to portrait tablets and narrow desktops 53 | @import "compass_twitter_bootstrap/responsive-767px-max"; 54 | 55 | 56 | // RESPONSIVE NAVBAR 57 | // ------------------ 58 | 59 | // From 979px and below, show a button to toggle navbar contents 60 | @import "compass_twitter_bootstrap/responsive-navbar"; 61 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_alerts.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | // Base styles 6 | // ------------------------- 7 | 8 | .alert 9 | padding: 8px 35px 8px 14px 10 | margin-bottom: $baseLineHeight 11 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) 12 | background-color: $warningBackground 13 | border: 1px solid $warningBorder 14 | +ctb-border-radius($baseBorderRadius) 15 | 16 | .alert, 17 | .alert h4 18 | // Specified for the h4 to prevent conflicts of changing $headingsColor 19 | color: $warningText 20 | 21 | .alert h4 22 | margin: 0 23 | 24 | // Adjust close link position 25 | .alert .close 26 | position: relative 27 | top: -2px 28 | right: -21px 29 | line-height: $baseLineHeight 30 | 31 | // Alternate styles 32 | // ------------------------- 33 | 34 | .alert-success 35 | background-color: $successBackground 36 | border-color: $successBorder 37 | color: $successText 38 | 39 | .alert-success h4 40 | color: $successText 41 | 42 | .alert-danger, 43 | .alert-error 44 | background-color: $errorBackground 45 | border-color: $errorBorder 46 | color: $errorText 47 | 48 | .alert-danger h4, 49 | .alert-error h4 50 | color: $errorText 51 | 52 | .alert-info 53 | background-color: $infoBackground 54 | border-color: $infoBorder 55 | color: $infoText 56 | 57 | .alert-info h4 58 | color: $infoText 59 | 60 | // Block alerts 61 | // ------------------------- 62 | 63 | .alert-block 64 | padding-top: 14px 65 | padding-bottom: 14px 66 | 67 | .alert-block > p, 68 | .alert-block > ul 69 | margin-bottom: 0 70 | 71 | .alert-block p + p 72 | margin-top: 5px 73 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | ## 2.3.1 4 | * Upgrade Twitter Bootstrap to 2.3.1 (@szinya) 5 | 6 | ## 2.2.2.2 7 | Fix cb-opacity mixin to correctly calculate opacity (@mindmelting) 8 | Added in clearfix utils class as per bootstrap docs (@mindmelting) 9 | Fix bootstrap version comment (@skivvies) 10 | Add affix to all js (@friesencr) 11 | 12 | ## 2.2.2.1 13 | * Upgradde Font Awesome to 3.0.1 14 | 15 | ## 2.2.2 16 | * Upgraded twiter bootstrap to 2.2.2 (@tijsverkoyen) 17 | 18 | ## 2.1.0 19 | * Upgrade twitter bootstrap to 2.1.0 in the scss files (@kristianmandrup) 20 | 21 | ## 2.0.1.2 22 | * Really fix sprites, maybe. 23 | * Update JS 24 | 25 | ## 2.0.1.1 26 | * Fix sprite error 27 | 28 | ## 2.0.1 29 | * Upgrade twitter bootstrap to 2.0.1 30 | * Use compass @image-url() for sprites (thanks to jpfuentes2) 31 | * Added !default to variables 32 | 33 | ## 2.0.0 34 | * Updated twitter bootstrap to 2.0 35 | * Updated import script 36 | * Changed version number to match twitter boot 37 | * Added link to demo app 38 | 39 | ## 0.1.8 40 | * Upgraded to twitter bootstrap version 1.4 41 | * Add Javascript files to vendors directory (thanks to tmaier) 42 | * Add Rails engine to tell Rails to look into vendor/assets (tmaier) 43 | * rails 3.1.1 plugin install support (tjgfernandes) 44 | 45 | 46 | ## 0.1.7 47 | Compass opacity fix (thanks to dnedbaylo) 48 | 49 | ## 0.1.6 50 | * Start of a less to scss converter 51 | * Added change log 52 | 53 | ## 0.1.5 54 | * Upgraded to twitter bootstrap version 1.3 55 | * Asset Pipeline (thanks to ascrazy) 56 | 57 | ## 0.1.4 58 | Upgraded to twitter bootstrap version 1.2 59 | 60 | ## 0.1.3 61 | * fix firefox button:hover bug 62 | 63 | ## 0.1.2 64 | * Added homepage link 65 | * Updated app name 66 | 67 | ## 0.1.1 68 | initial version 69 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_alerts.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // ------------------------- 8 | 9 | .alert { 10 | padding: 8px 35px 8px 14px; 11 | margin-bottom: $baseLineHeight; 12 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 13 | background-color: $warningBackground; 14 | border: 1px solid $warningBorder; 15 | @include ctb-border-radius($baseBorderRadius); 16 | } 17 | .alert, 18 | .alert h4 { 19 | // Specified for the h4 to prevent conflicts of changing $headingsColor 20 | color: $warningText; 21 | } 22 | .alert h4 { 23 | margin: 0; 24 | } 25 | 26 | // Adjust close link position 27 | .alert .close { 28 | position: relative; 29 | top: -2px; 30 | right: -21px; 31 | line-height: $baseLineHeight; 32 | } 33 | 34 | 35 | // Alternate styles 36 | // ------------------------- 37 | 38 | .alert-success { 39 | background-color: $successBackground; 40 | border-color: $successBorder; 41 | color: $successText; 42 | } 43 | .alert-success h4 { 44 | color: $successText; 45 | } 46 | .alert-danger, 47 | .alert-error { 48 | background-color: $errorBackground; 49 | border-color: $errorBorder; 50 | color: $errorText; 51 | } 52 | .alert-danger h4, 53 | .alert-error h4 { 54 | color: $errorText; 55 | } 56 | .alert-info { 57 | background-color: $infoBackground; 58 | border-color: $infoBorder; 59 | color: $infoText; 60 | } 61 | .alert-info h4 { 62 | color: $infoText; 63 | } 64 | 65 | 66 | // Block alerts 67 | // ------------------------- 68 | 69 | .alert-block { 70 | padding-top: 14px; 71 | padding-bottom: 14px; 72 | } 73 | .alert-block > p, 74 | .alert-block > ul { 75 | margin-bottom: 0; 76 | } 77 | .alert-block p + p { 78 | margin-top: 5px; 79 | } 80 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_responsive-utilities.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Utility classes 3 | // -------------------------------------------------- 4 | 5 | // IE10 Metro responsive 6 | // Required for Windows 8 Metro split-screen snapping with IE10 7 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ 8 | @-ms-viewport 9 | width: device-width 10 | 11 | 12 | // Hide from screenreaders and browsers 13 | // Credit: HTML5 Boilerplate 14 | .hidden 15 | display: none 16 | visibility: hidden 17 | 18 | // Visibility utilities 19 | 20 | // For desktops 21 | .visible-phone 22 | display: none !important 23 | 24 | .visible-tablet 25 | display: none !important 26 | 27 | .hidden-phone 28 | 29 | .hidden-tablet 30 | 31 | .hidden-desktop 32 | display: none !important 33 | 34 | .visible-desktop 35 | display: inherit !important 36 | 37 | // Tablets & small desktops only 38 | @media (min-width: 768px) and (max-width: 979px) 39 | // Hide everything else 40 | .hidden-desktop 41 | display: inherit !important 42 | .visible-desktop 43 | display: none !important 44 | // Show 45 | .visible-tablet 46 | display: inherit !important 47 | // Hide 48 | .hidden-tablet 49 | display: none !important 50 | 51 | // Phones only 52 | @media (max-width: 767px) 53 | // Hide everything else 54 | .hidden-desktop 55 | display: inherit !important 56 | .visible-desktop 57 | display: none !important 58 | // Show 59 | .visible-phone 60 | display: inherit !important 61 | // Use inherit to restore previous behavior 62 | // Hide 63 | .hidden-phone 64 | display: none !important 65 | 66 | // Print utilities 67 | .visible-print 68 | display: none !important 69 | 70 | .hidden-print 71 | 72 | @media print 73 | .visible-print 74 | display: inherit !important 75 | .hidden-print 76 | display: none !important 77 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_responsive-utilities.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // IE10 Metro responsive 7 | // Required for Windows 8 Metro split-screen snapping with IE10 8 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ 9 | @-ms-viewport{ 10 | width: device-width; 11 | } 12 | 13 | // Hide from screenreaders and browsers 14 | // Credit: HTML5 Boilerplate 15 | .hidden { 16 | display: none; 17 | visibility: hidden; 18 | } 19 | 20 | // Visibility utilities 21 | 22 | // For desktops 23 | .visible-phone { display: none !important; } 24 | .visible-tablet { display: none !important; } 25 | .hidden-phone { } 26 | .hidden-tablet { } 27 | .hidden-desktop { display: none !important; } 28 | .visible-desktop { display: inherit !important; } 29 | 30 | // Tablets & small desktops only 31 | @media (min-width: 768px) and (max-width: 979px) { 32 | // Hide everything else 33 | .hidden-desktop { display: inherit !important; } 34 | .visible-desktop { display: none !important ; } 35 | // Show 36 | .visible-tablet { display: inherit !important; } 37 | // Hide 38 | .hidden-tablet { display: none !important; } 39 | } 40 | 41 | // Phones only 42 | @media (max-width: 767px) { 43 | // Hide everything else 44 | .hidden-desktop { display: inherit !important; } 45 | .visible-desktop { display: none !important; } 46 | // Show 47 | .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior 48 | // Hide 49 | .hidden-phone { display: none !important; } 50 | } 51 | 52 | // Print utilities 53 | .visible-print { display: none !important; } 54 | .hidden-print { } 55 | 56 | @media print { 57 | .visible-print { display: inherit !important; } 58 | .hidden-print { display: none !important; } 59 | } 60 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_tooltip.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Tooltips 3 | // -------------------------------------------------- 4 | 5 | // Base class 6 | .tooltip 7 | position: absolute 8 | z-index: $zindexTooltip 9 | display: block 10 | visibility: visible 11 | font-size: 11px 12 | line-height: 1.4 13 | +ctb-opacity(0) 14 | &.in 15 | +ctb-opacity(0.8) 16 | &.top 17 | margin-top: -3px 18 | padding: 5px 0 19 | &.right 20 | margin-left: 3px 21 | padding: 0 5px 22 | &.bottom 23 | margin-top: 3px 24 | padding: 5px 0 25 | &.left 26 | margin-left: -3px 27 | padding: 0 5px 28 | 29 | // Wrapper for the tooltip content 30 | .tooltip-inner 31 | max-width: 200px 32 | padding: 8px 33 | color: $tooltipColor 34 | text-align: center 35 | text-decoration: none 36 | background-color: $tooltipBackground 37 | +ctb-border-radius($baseBorderRadius) 38 | 39 | // Arrows 40 | .tooltip-arrow 41 | position: absolute 42 | width: 0 43 | height: 0 44 | border-color: transparent 45 | border-style: solid 46 | 47 | .tooltip 48 | &.top .tooltip-arrow 49 | bottom: 0 50 | left: 50% 51 | margin-left: -$tooltipArrowWidth 52 | border-width: $tooltipArrowWidth $tooltipArrowWidth 0 53 | border-top-color: $tooltipArrowColor 54 | &.right .tooltip-arrow 55 | top: 50% 56 | left: 0 57 | margin-top: -$tooltipArrowWidth 58 | border-width: $tooltipArrowWidth $tooltipArrowWidth $tooltipArrowWidth 0 59 | border-right-color: $tooltipArrowColor 60 | &.left .tooltip-arrow 61 | top: 50% 62 | right: 0 63 | margin-top: -$tooltipArrowWidth 64 | border-width: $tooltipArrowWidth 0 $tooltipArrowWidth $tooltipArrowWidth 65 | border-left-color: $tooltipArrowColor 66 | &.bottom .tooltip-arrow 67 | top: 0 68 | left: 50% 69 | margin-left: -$tooltipArrowWidth 70 | border-width: 0 $tooltipArrowWidth $tooltipArrowWidth 71 | border-bottom-color: $tooltipArrowColor 72 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-transition.js: -------------------------------------------------------------------------------- 1 | /* =================================================== 2 | * bootstrap-transition.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#transitions 4 | * =================================================== 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) 27 | * ======================================================= */ 28 | 29 | $(function () { 30 | 31 | $.support.transition = (function () { 32 | 33 | var transitionEnd = (function () { 34 | 35 | var el = document.createElement('bootstrap') 36 | , transEndEventNames = { 37 | 'WebkitTransition' : 'webkitTransitionEnd' 38 | , 'MozTransition' : 'transitionend' 39 | , 'OTransition' : 'oTransitionEnd otransitionend' 40 | , 'transition' : 'transitionend' 41 | } 42 | , name 43 | 44 | for (name in transEndEventNames){ 45 | if (el.style[name] !== undefined) { 46 | return transEndEventNames[name] 47 | } 48 | } 49 | 50 | }()) 51 | 52 | return transitionEnd && { 53 | end: transitionEnd 54 | } 55 | 56 | })() 57 | 58 | }) 59 | 60 | }(window.jQuery); -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_tooltip.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Tooltips 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .tooltip { 8 | position: absolute; 9 | z-index: $zindexTooltip; 10 | display: block; 11 | visibility: visible; 12 | font-size: 11px; 13 | line-height: 1.4; 14 | @include ctb-opacity(0); 15 | &.in { @include ctb-opacity(0.8); } 16 | &.top { margin-top: -3px; padding: 5px 0; } 17 | &.right { margin-left: 3px; padding: 0 5px; } 18 | &.bottom { margin-top: 3px; padding: 5px 0; } 19 | &.left { margin-left: -3px; padding: 0 5px; } 20 | } 21 | 22 | // Wrapper for the tooltip content 23 | .tooltip-inner { 24 | max-width: 200px; 25 | padding: 8px; 26 | color: $tooltipColor; 27 | text-align: center; 28 | text-decoration: none; 29 | background-color: $tooltipBackground; 30 | @include ctb-border-radius($baseBorderRadius); 31 | } 32 | 33 | // Arrows 34 | .tooltip-arrow { 35 | position: absolute; 36 | width: 0; 37 | height: 0; 38 | border-color: transparent; 39 | border-style: solid; 40 | } 41 | .tooltip { 42 | &.top .tooltip-arrow { 43 | bottom: 0; 44 | left: 50%; 45 | margin-left: -$tooltipArrowWidth; 46 | border-width: $tooltipArrowWidth $tooltipArrowWidth 0; 47 | border-top-color: $tooltipArrowColor; 48 | } 49 | &.right .tooltip-arrow { 50 | top: 50%; 51 | left: 0; 52 | margin-top: -$tooltipArrowWidth; 53 | border-width: $tooltipArrowWidth $tooltipArrowWidth $tooltipArrowWidth 0; 54 | border-right-color: $tooltipArrowColor; 55 | } 56 | &.left .tooltip-arrow { 57 | top: 50%; 58 | right: 0; 59 | margin-top: -$tooltipArrowWidth; 60 | border-width: $tooltipArrowWidth 0 $tooltipArrowWidth $tooltipArrowWidth; 61 | border-left-color: $tooltipArrowColor; 62 | } 63 | &.bottom .tooltip-arrow { 64 | top: 0; 65 | left: 50%; 66 | margin-left: -$tooltipArrowWidth; 67 | border-width: 0 $tooltipArrowWidth $tooltipArrowWidth; 68 | border-bottom-color: $tooltipArrowColor; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_modals.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Modals 3 | // -------------------------------------------------- 4 | 5 | // Background 6 | .modal-backdrop 7 | position: fixed 8 | top: 0 9 | right: 0 10 | bottom: 0 11 | left: 0 12 | z-index: $zindexModalBackdrop 13 | background-color: $black 14 | // Fade for backdrop 15 | &.fade 16 | opacity: 0 17 | 18 | .modal-backdrop, 19 | .modal-backdrop.fade.in 20 | +ctb-opacity(0.8) 21 | 22 | // Base modal 23 | .modal 24 | position: fixed 25 | top: 10% 26 | left: 50% 27 | z-index: $zindexModal 28 | width: 560px 29 | margin-left: -280px 30 | background-color: $white 31 | border: 1px solid #999 32 | border: 1px solid rgba(0, 0, 0, 0.3) 33 | *border: 1px solid #999 34 | /* IE6-7 35 | +ctb-border-radius(6px) 36 | +ctb-box-shadow(0 3px 7px rgba(0, 0, 0, 0.3)) 37 | +ctb-background-clip(padding-box) 38 | // Remove focus outline from opened modal 39 | outline: none 40 | &.fade 41 | +ctb-transition(opacity .3s linear, top .3s ease-out) 42 | top: -25% 43 | &.fade.in 44 | top: 10% 45 | 46 | .modal-header 47 | padding: 9px 15px 48 | border-bottom: 1px solid #eee 49 | // Close icon 50 | .close 51 | margin-top: 2px 52 | // Heading 53 | h3 54 | margin: 0 55 | line-height: 30px 56 | 57 | // Body (where all modal content resides) 58 | .modal-body 59 | position: relative 60 | overflow-y: auto 61 | max-height: 400px 62 | padding: 15px 63 | 64 | // Remove bottom margin if need be 65 | .modal-form 66 | margin-bottom: 0 67 | 68 | // Footer (for actions) 69 | .modal-footer 70 | padding: 14px 15px 15px 71 | margin-bottom: 0 72 | text-align: right 73 | // right align buttons 74 | background-color: #f5f5f5 75 | border-top: 1px solid #ddd 76 | +ctb-border-radius(0 0 6px 6px) 77 | +ctb-box-shadow(inset 0 1px 0 $white) 78 | +ctb-clearfix 79 | // clear it in case folks use .pull-* classes on buttons 80 | // Properly space out buttons 81 | .btn + .btn 82 | margin-left: 5px 83 | margin-bottom: 0 84 | // account for input[type="submit"] which gets the bottom margin like all other inputs 85 | // but override that for button groups 86 | .btn-group .btn + .btn 87 | margin-left: -1px 88 | // and override it for block buttons as well 89 | .btn-block + .btn-block 90 | margin-left: 0 91 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_labels-badges.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Labels and badges 3 | // -------------------------------------------------- 4 | 5 | // Base classes 6 | 7 | .label, 8 | .badge 9 | display: inline-block 10 | padding: 2px 4px 11 | font-size: $baseFontSize * 0.846 12 | font-weight: bold 13 | line-height: 14px 14 | // ensure proper line-height if floated 15 | color: $white 16 | vertical-align: baseline 17 | white-space: nowrap 18 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25) 19 | background-color: $grayLight 20 | 21 | // Set unique padding and border-radii 22 | .label 23 | +ctb-border-radius(3px) 24 | 25 | .badge 26 | padding-left: 9px 27 | padding-right: 9px 28 | +ctb-border-radius(9px) 29 | 30 | // Empty labels/badges collapse 31 | 32 | .label, 33 | .badge 34 | &:empty 35 | display: none 36 | 37 | // Hover/focus state, but only for links 38 | a 39 | &.label:hover, 40 | &.label:focus, 41 | &.badge:hover, 42 | &.badge:focus 43 | color: $white 44 | text-decoration: none 45 | cursor: pointer 46 | 47 | // Colors 48 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) 49 | // Important (red) 50 | .label-important, .badge-important 51 | background-color: $errorText 52 | 53 | .label-important[href], .badge-important[href] 54 | background-color: darken($errorText, 10%) 55 | 56 | // Warnings (orange) 57 | .label-warning, .badge-warning 58 | background-color: $orange 59 | 60 | .label-warning[href], .badge-warning[href] 61 | background-color: darken($orange, 10%) 62 | 63 | // Success (green) 64 | .label-success, .badge-success 65 | background-color: $successText 66 | 67 | .label-success[href], .badge-success[href] 68 | background-color: darken($successText, 10%) 69 | 70 | // Info (turquoise) 71 | .label-info, .badge-info 72 | background-color: $infoText 73 | 74 | .label-info[href], .badge-info[href] 75 | background-color: darken($infoText, 10%) 76 | 77 | // Inverse (black) 78 | .label-inverse, .badge-inverse 79 | background-color: $grayDark 80 | 81 | .label-inverse[href], .badge-inverse[href] 82 | background-color: darken($grayDark, 10%) 83 | 84 | // Quick fix for labels/badges in buttons 85 | .btn 86 | .label, 87 | .badge 88 | position: relative 89 | top: -1px 90 | 91 | .btn-mini 92 | .label, 93 | .badge 94 | top: 0 95 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_labels-badges.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Labels and badges 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base classes 7 | .label, 8 | .badge { 9 | display: inline-block; 10 | padding: 2px 4px; 11 | font-size: $baseFontSize * .846; 12 | font-weight: bold; 13 | line-height: 14px; // ensure proper line-height if floated 14 | color: $white; 15 | vertical-align: baseline; 16 | white-space: nowrap; 17 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 18 | background-color: $grayLight; 19 | } 20 | // Set unique padding and border-radii 21 | .label { 22 | @include ctb-border-radius(3px); 23 | } 24 | .badge { 25 | padding-left: 9px; 26 | padding-right: 9px; 27 | @include ctb-border-radius(9px); 28 | } 29 | 30 | // Empty labels/badges collapse 31 | .label, 32 | .badge { 33 | &:empty { 34 | display: none; 35 | } 36 | } 37 | 38 | // Hover/focus state, but only for links 39 | a { 40 | &.label:hover, 41 | &.label:focus, 42 | &.badge:hover, 43 | &.badge:focus { 44 | color: $white; 45 | text-decoration: none; 46 | cursor: pointer; 47 | } 48 | } 49 | 50 | // Colors 51 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) 52 | // Important (red) 53 | .label-important, .badge-important { background-color: $errorText; } 54 | .label-important[href], .badge-important[href] { background-color: darken($errorText, 10%); } 55 | // Warnings (orange) 56 | .label-warning, .badge-warning { background-color: $orange; } 57 | .label-warning[href], .badge-warning[href] { background-color: darken($orange, 10%); } 58 | // Success (green) 59 | .label-success, .badge-success { background-color: $successText; } 60 | .label-success[href], .badge-success[href] { background-color: darken($successText, 10%); } 61 | // Info (turquoise) 62 | .label-info, .badge-info { background-color: $infoText; } 63 | .label-info[href], .badge-info[href] { background-color: darken($infoText, 10%); } 64 | // Inverse (black) 65 | .label-inverse, .badge-inverse { background-color: $grayDark; } 66 | .label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); } 67 | 68 | // Quick fix for labels/badges in buttons 69 | .btn { 70 | .label, 71 | .badge { 72 | position: relative; 73 | top: -1px; 74 | } 75 | } 76 | .btn-mini { 77 | .label, 78 | .badge { 79 | top: 0; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_modals.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Modals 3 | // -------------------------------------------------- 4 | 5 | // Background 6 | .modal-backdrop { 7 | position: fixed; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: $zindexModalBackdrop; 13 | background-color: $black; 14 | // Fade for backdrop 15 | &.fade { opacity: 0; } 16 | } 17 | 18 | .modal-backdrop, 19 | .modal-backdrop.fade.in { 20 | @include ctb-opacity(0.8); 21 | } 22 | 23 | // Base modal 24 | .modal { 25 | position: fixed; 26 | top: 10%; 27 | left: 50%; 28 | z-index: $zindexModal; 29 | width: 560px; 30 | margin-left: -280px; 31 | background-color: $white; 32 | border: 1px solid #999; 33 | border: 1px solid rgba(0,0,0,.3); 34 | *border: 1px solid #999; /* IE6-7 */ 35 | @include ctb-border-radius(6px); 36 | @include ctb-box-shadow(0 3px 7px rgba(0,0,0,0.3)); 37 | @include ctb-background-clip(padding-box); 38 | // Remove focus outline from opened modal 39 | outline: none; 40 | 41 | &.fade { 42 | @include ctb-transition(opacity .3s linear, top .3s ease-out); 43 | top: -25%; 44 | } 45 | &.fade.in { top: 10%; } 46 | } 47 | .modal-header { 48 | padding: 9px 15px; 49 | border-bottom: 1px solid #eee; 50 | // Close icon 51 | .close { margin-top: 2px; } 52 | // Heading 53 | h3 { 54 | margin: 0; 55 | line-height: 30px; 56 | } 57 | } 58 | 59 | // Body (where all modal content resides) 60 | .modal-body { 61 | position: relative; 62 | overflow-y: auto; 63 | max-height: 400px; 64 | padding: 15px; 65 | } 66 | // Remove bottom margin if need be 67 | .modal-form { 68 | margin-bottom: 0; 69 | } 70 | 71 | // Footer (for actions) 72 | .modal-footer { 73 | padding: 14px 15px 15px; 74 | margin-bottom: 0; 75 | text-align: right; // right align buttons 76 | background-color: #f5f5f5; 77 | border-top: 1px solid #ddd; 78 | @include ctb-border-radius(0 0 6px 6px); 79 | @include ctb-box-shadow(inset 0 1px 0 $white); 80 | @include ctb-clearfix(); // clear it in case folks use .pull-* classes on buttons 81 | 82 | // Properly space out buttons 83 | .btn + .btn { 84 | margin-left: 5px; 85 | margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs 86 | } 87 | // but override that for button groups 88 | .btn-group .btn + .btn { 89 | margin-left: -1px; 90 | } 91 | // and override it for block buttons as well 92 | .btn-block + .btn-block { 93 | margin-left: 0; 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /stylesheets_sass/_compass_twitter_bootstrap.sass: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | 10 | @import compass 11 | 12 | // Core variables and mixins 13 | @import compass_twitter_bootstrap/variables 14 | 15 | // Modify this for custom colors, font-sizes, etc 16 | @import compass_twitter_bootstrap/mixins 17 | 18 | .clearfix 19 | +ctb-clearfix 20 | 21 | .hide-text 22 | +ctb-hide-text 23 | 24 | .input-block-level 25 | +ctb-input-block-level 26 | 27 | // CSS Reset 28 | @import compass_twitter_bootstrap/reset 29 | 30 | // Grid system and page structure 31 | @import compass_twitter_bootstrap/scaffolding 32 | @import compass_twitter_bootstrap/grid 33 | @import compass_twitter_bootstrap/layouts 34 | 35 | // Base CSS 36 | @import compass_twitter_bootstrap/type 37 | @import compass_twitter_bootstrap/code 38 | @import compass_twitter_bootstrap/forms 39 | @import compass_twitter_bootstrap/tables 40 | 41 | // Components: common 42 | @import compass_twitter_bootstrap/sprites 43 | @import compass_twitter_bootstrap/dropdowns 44 | @import compass_twitter_bootstrap/wells 45 | @import compass_twitter_bootstrap/component-animations 46 | @import compass_twitter_bootstrap/close 47 | 48 | // Components: Buttons & Alerts 49 | @import compass_twitter_bootstrap/buttons 50 | @import compass_twitter_bootstrap/button-groups 51 | @import compass_twitter_bootstrap/alerts 52 | 53 | // Note: alerts share common CSS with buttons and thus have styles in buttons.less 54 | 55 | // Components: Nav 56 | @import compass_twitter_bootstrap/navs 57 | @import compass_twitter_bootstrap/navbar 58 | @import compass_twitter_bootstrap/breadcrumbs 59 | @import compass_twitter_bootstrap/pagination 60 | @import compass_twitter_bootstrap/pager 61 | 62 | // Components: Popovers 63 | @import compass_twitter_bootstrap/modals 64 | @import compass_twitter_bootstrap/tooltip 65 | @import compass_twitter_bootstrap/popovers 66 | 67 | // Components: Misc 68 | @import compass_twitter_bootstrap/thumbnails 69 | @import compass_twitter_bootstrap/media 70 | @import compass_twitter_bootstrap/labels-badges 71 | @import compass_twitter_bootstrap/progress-bars 72 | @import compass_twitter_bootstrap/accordion 73 | @import compass_twitter_bootstrap/carousel 74 | @import compass_twitter_bootstrap/hero-unit 75 | 76 | // Utility classes 77 | @import compass_twitter_bootstrap/utilities 78 | 79 | // Has to be last to override when necessary 80 | -------------------------------------------------------------------------------- /stylesheets_sass/_compass_twitter_bootstrap_awesome.sass: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | 10 | @import compass 11 | 12 | // Core variables and mixins 13 | @import compass_twitter_bootstrap/variables 14 | 15 | // Modify this for custom colors, font-sizes, etc 16 | @import compass_twitter_bootstrap/mixins 17 | 18 | .clearfix 19 | +ctb-clearfix 20 | 21 | .hide-text 22 | +ctb-hide-text 23 | 24 | .input-block-level 25 | +ctb-input-block-level 26 | 27 | // CSS Reset 28 | @import compass_twitter_bootstrap/reset 29 | 30 | // Grid system and page structure 31 | @import compass_twitter_bootstrap/scaffolding 32 | @import compass_twitter_bootstrap/grid 33 | @import compass_twitter_bootstrap/layouts 34 | 35 | // Base CSS 36 | @import compass_twitter_bootstrap/type 37 | @import compass_twitter_bootstrap/code 38 | @import compass_twitter_bootstrap/forms 39 | @import compass_twitter_bootstrap/tables 40 | 41 | // Components: common 42 | @import compass_twitter_bootstrap/font-awesome 43 | @import compass_twitter_bootstrap/dropdowns 44 | @import compass_twitter_bootstrap/wells 45 | @import compass_twitter_bootstrap/component-animations 46 | @import compass_twitter_bootstrap/close 47 | 48 | // Components: Buttons & Alerts 49 | @import compass_twitter_bootstrap/buttons 50 | @import compass_twitter_bootstrap/button-groups 51 | @import compass_twitter_bootstrap/alerts 52 | 53 | // Note: alerts share common CSS with buttons and thus have styles in buttons.less 54 | 55 | // Components: Nav 56 | @import compass_twitter_bootstrap/navs 57 | @import compass_twitter_bootstrap/navbar 58 | @import compass_twitter_bootstrap/breadcrumbs 59 | @import compass_twitter_bootstrap/pagination 60 | @import compass_twitter_bootstrap/pager 61 | 62 | // Components: Popovers 63 | @import compass_twitter_bootstrap/modals 64 | @import compass_twitter_bootstrap/tooltip 65 | @import compass_twitter_bootstrap/popovers 66 | 67 | // Components: Misc 68 | @import compass_twitter_bootstrap/thumbnails 69 | @import compass_twitter_bootstrap/media 70 | @import compass_twitter_bootstrap/labels-badges 71 | @import compass_twitter_bootstrap/progress-bars 72 | @import compass_twitter_bootstrap/accordion 73 | @import compass_twitter_bootstrap/carousel 74 | @import compass_twitter_bootstrap/hero-unit 75 | 76 | // Utility classes 77 | @import compass_twitter_bootstrap/utilities 78 | 79 | // Has to be last to override when necessary 80 | -------------------------------------------------------------------------------- /stylesheets/_compass_twitter_bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | @import "compass"; 12 | 13 | // Core variables and mixins 14 | @import "compass_twitter_bootstrap/variables"; // Modify this for custom colors, font-sizes, etc 15 | @import "compass_twitter_bootstrap/mixins"; 16 | 17 | .clearfix { 18 | @include ctb-clearfix(); 19 | } 20 | 21 | .hide-text { 22 | @include ctb-hide-text(); 23 | } 24 | 25 | .input-block-level { 26 | @include ctb-input-block-level(); 27 | } 28 | 29 | // CSS Reset 30 | @import "compass_twitter_bootstrap/reset"; 31 | 32 | // Grid system and page structure 33 | @import "compass_twitter_bootstrap/scaffolding"; 34 | @import "compass_twitter_bootstrap/grid"; 35 | @import "compass_twitter_bootstrap/layouts"; 36 | 37 | // Base CSS 38 | @import "compass_twitter_bootstrap/type"; 39 | @import "compass_twitter_bootstrap/code"; 40 | @import "compass_twitter_bootstrap/forms"; 41 | @import "compass_twitter_bootstrap/tables"; 42 | 43 | // Components: common 44 | @import "compass_twitter_bootstrap/sprites"; 45 | @import "compass_twitter_bootstrap/dropdowns"; 46 | @import "compass_twitter_bootstrap/wells"; 47 | @import "compass_twitter_bootstrap/component-animations"; 48 | @import "compass_twitter_bootstrap/close"; 49 | 50 | // Components: Buttons & Alerts 51 | @import "compass_twitter_bootstrap/buttons"; 52 | @import "compass_twitter_bootstrap/button-groups"; 53 | @import "compass_twitter_bootstrap/alerts"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less 54 | 55 | // Components: Nav 56 | @import "compass_twitter_bootstrap/navs"; 57 | @import "compass_twitter_bootstrap/navbar"; 58 | @import "compass_twitter_bootstrap/breadcrumbs"; 59 | @import "compass_twitter_bootstrap/pagination"; 60 | @import "compass_twitter_bootstrap/pager"; 61 | 62 | // Components: Popovers 63 | @import "compass_twitter_bootstrap/modals"; 64 | @import "compass_twitter_bootstrap/tooltip"; 65 | @import "compass_twitter_bootstrap/popovers"; 66 | 67 | // Components: Misc 68 | @import "compass_twitter_bootstrap/thumbnails"; 69 | @import "compass_twitter_bootstrap/media"; 70 | @import "compass_twitter_bootstrap/labels-badges"; 71 | @import "compass_twitter_bootstrap/progress-bars"; 72 | @import "compass_twitter_bootstrap/accordion"; 73 | @import "compass_twitter_bootstrap/carousel"; 74 | @import "compass_twitter_bootstrap/hero-unit"; 75 | 76 | // Utility classes 77 | @import "compass_twitter_bootstrap/utilities"; // Has to be last to override when necessary 78 | -------------------------------------------------------------------------------- /stylesheets/_compass_twitter_bootstrap_awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | @import "compass"; 12 | 13 | // Core variables and mixins 14 | @import "compass_twitter_bootstrap/variables"; // Modify this for custom colors, font-sizes, etc 15 | @import "compass_twitter_bootstrap/mixins"; 16 | 17 | .clearfix { 18 | @include ctb-clearfix(); 19 | } 20 | 21 | .hide-text { 22 | @include ctb-hide-text(); 23 | } 24 | 25 | .input-block-level { 26 | @include ctb-input-block-level(); 27 | } 28 | 29 | // CSS Reset 30 | @import "compass_twitter_bootstrap/reset"; 31 | 32 | // Grid system and page structure 33 | @import "compass_twitter_bootstrap/scaffolding"; 34 | @import "compass_twitter_bootstrap/grid"; 35 | @import "compass_twitter_bootstrap/layouts"; 36 | 37 | // Base CSS 38 | @import "compass_twitter_bootstrap/type"; 39 | @import "compass_twitter_bootstrap/code"; 40 | @import "compass_twitter_bootstrap/forms"; 41 | @import "compass_twitter_bootstrap/tables"; 42 | 43 | // Components: common 44 | @import "compass_twitter_bootstrap/font-awesome"; 45 | @import "compass_twitter_bootstrap/dropdowns"; 46 | @import "compass_twitter_bootstrap/wells"; 47 | @import "compass_twitter_bootstrap/component-animations"; 48 | @import "compass_twitter_bootstrap/close"; 49 | 50 | // Components: Buttons & Alerts 51 | @import "compass_twitter_bootstrap/buttons"; 52 | @import "compass_twitter_bootstrap/button-groups"; 53 | @import "compass_twitter_bootstrap/alerts"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less 54 | 55 | // Components: Nav 56 | @import "compass_twitter_bootstrap/navs"; 57 | @import "compass_twitter_bootstrap/navbar"; 58 | @import "compass_twitter_bootstrap/breadcrumbs"; 59 | @import "compass_twitter_bootstrap/pagination"; 60 | @import "compass_twitter_bootstrap/pager"; 61 | 62 | // Components: Popovers 63 | @import "compass_twitter_bootstrap/modals"; 64 | @import "compass_twitter_bootstrap/tooltip"; 65 | @import "compass_twitter_bootstrap/popovers"; 66 | 67 | // Components: Misc 68 | @import "compass_twitter_bootstrap/thumbnails"; 69 | @import "compass_twitter_bootstrap/media"; 70 | @import "compass_twitter_bootstrap/labels-badges"; 71 | @import "compass_twitter_bootstrap/progress-bars"; 72 | @import "compass_twitter_bootstrap/accordion"; 73 | @import "compass_twitter_bootstrap/carousel"; 74 | @import "compass_twitter_bootstrap/hero-unit"; 75 | 76 | // Utility classes 77 | @import "compass_twitter_bootstrap/utilities"; // Has to be last to override when necessary 78 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-alert.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * bootstrap-alert.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#alerts 4 | * ========================================================== 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* ALERT CLASS DEFINITION 27 | * ====================== */ 28 | 29 | var dismiss = '[data-dismiss="alert"]' 30 | , Alert = function (el) { 31 | $(el).on('click', dismiss, this.close) 32 | } 33 | 34 | Alert.prototype.close = function (e) { 35 | var $this = $(this) 36 | , selector = $this.attr('data-target') 37 | , $parent 38 | 39 | if (!selector) { 40 | selector = $this.attr('href') 41 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 42 | } 43 | 44 | $parent = $(selector) 45 | 46 | e && e.preventDefault() 47 | 48 | $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) 49 | 50 | $parent.trigger(e = $.Event('close')) 51 | 52 | if (e.isDefaultPrevented()) return 53 | 54 | $parent.removeClass('in') 55 | 56 | function removeElement() { 57 | $parent 58 | .trigger('closed') 59 | .remove() 60 | } 61 | 62 | $.support.transition && $parent.hasClass('fade') ? 63 | $parent.on($.support.transition.end, removeElement) : 64 | removeElement() 65 | } 66 | 67 | 68 | /* ALERT PLUGIN DEFINITION 69 | * ======================= */ 70 | 71 | var old = $.fn.alert 72 | 73 | $.fn.alert = function (option) { 74 | return this.each(function () { 75 | var $this = $(this) 76 | , data = $this.data('alert') 77 | if (!data) $this.data('alert', (data = new Alert(this))) 78 | if (typeof option == 'string') data[option].call($this) 79 | }) 80 | } 81 | 82 | $.fn.alert.Constructor = Alert 83 | 84 | 85 | /* ALERT NO CONFLICT 86 | * ================= */ 87 | 88 | $.fn.alert.noConflict = function () { 89 | $.fn.alert = old 90 | return this 91 | } 92 | 93 | 94 | /* ALERT DATA-API 95 | * ============== */ 96 | 97 | $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) 98 | 99 | }(window.jQuery); -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_carousel.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Carousel 3 | // -------------------------------------------------- 4 | 5 | .carousel 6 | position: relative 7 | margin-bottom: $baseLineHeight 8 | line-height: 1 9 | 10 | .carousel-inner 11 | overflow: hidden 12 | width: 100% 13 | position: relative 14 | 15 | .carousel-inner 16 | > .item 17 | display: none 18 | position: relative 19 | +ctb-transition(0.6s ease-in-out left) 20 | // Account for jankitude on images 21 | > img, 22 | > a > img 23 | display: block 24 | line-height: 1 25 | > .active, 26 | > .next, 27 | > .prev 28 | display: block 29 | > .active 30 | left: 0 31 | > .next, 32 | > .prev 33 | position: absolute 34 | top: 0 35 | width: 100% 36 | > .next 37 | left: 100% 38 | > .prev 39 | left: -100% 40 | > .next.left, 41 | > .prev.right 42 | left: 0 43 | > .active.left 44 | left: -100% 45 | > .active.right 46 | left: 100% 47 | 48 | // Left/right controls for nav 49 | // --------------------------- 50 | 51 | .carousel-control 52 | position: absolute 53 | top: 40% 54 | left: 15px 55 | width: 40px 56 | height: 40px 57 | margin-top: -20px 58 | font-size: 60px 59 | font-weight: 100 60 | line-height: 30px 61 | color: $white 62 | text-align: center 63 | background: $grayDarker 64 | border: 3px solid $white 65 | +ctb-border-radius(23px) 66 | +ctb-opacity(0.5) 67 | // we can't have this transition here 68 | // because webkit cancels the carousel 69 | // animation if you trip this while 70 | // in the middle of another animation 71 | // ;_; 72 | // @include ctb-transition(opacity .2s linear); 73 | // Reposition the right one 74 | &.right 75 | left: auto 76 | right: 15px 77 | // Hover/focus state 78 | &:hover, 79 | &:focus 80 | color: $white 81 | text-decoration: none 82 | +ctb-opacity(0.9) 83 | 84 | // Carousel indicator pips 85 | // ----------------------------- 86 | .carousel-indicators 87 | position: absolute 88 | top: 15px 89 | right: 15px 90 | z-index: 5 91 | margin: 0 92 | list-style: none 93 | li 94 | display: block 95 | float: left 96 | width: 10px 97 | height: 10px 98 | margin-left: 5px 99 | text-indent: -999px 100 | background-color: #ccc 101 | background-color: rgba(255, 255, 255, 0.25) 102 | border-radius: 5px 103 | .active 104 | background-color: #fff 105 | 106 | // Caption for text below images 107 | // ----------------------------- 108 | 109 | .carousel-caption 110 | position: absolute 111 | left: 0 112 | right: 0 113 | bottom: 0 114 | padding: 15px 115 | background: $grayDark 116 | background: rgba(0, 0, 0, 0.75) 117 | 118 | .carousel-caption h4, 119 | .carousel-caption p 120 | color: $white 121 | line-height: $baseLineHeight 122 | 123 | .carousel-caption h4 124 | margin: 0 0 5px 125 | 126 | .carousel-caption p 127 | margin-bottom: 0 128 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_pagination.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Pagination (multiple pages) 3 | // -------------------------------------------------- 4 | 5 | // Space out pagination from surrounding content 6 | .pagination 7 | margin: $baseLineHeight 0 8 | 9 | .pagination ul 10 | // Allow for text-based alignment 11 | display: inline-block 12 | +ctb-ie7-inline-block 13 | // Reset default ul styles 14 | margin-left: 0 15 | margin-bottom: 0 16 | // Visuals 17 | +ctb-border-radius($baseBorderRadius) 18 | +ctb-box-shadow(0 1px 2px rgba(0, 0, 0, 0.05)) 19 | 20 | .pagination ul > li 21 | display: inline 22 | // Remove list-style and block-level defaults 23 | 24 | .pagination ul > li > a, 25 | .pagination ul > li > span 26 | float: left 27 | // Collapse white-space 28 | padding: 4px 12px 29 | line-height: $baseLineHeight 30 | text-decoration: none 31 | background-color: $paginationBackground 32 | border: 1px solid $paginationBorder 33 | border-left-width: 0 34 | 35 | .pagination ul > li > a:hover, 36 | .pagination ul > li > a:focus, 37 | .pagination ul > .active > a, 38 | .pagination ul > .active > span 39 | background-color: $paginationActiveBackground 40 | 41 | .pagination ul > .active > a, 42 | .pagination ul > .active > span 43 | color: $grayLight 44 | cursor: default 45 | 46 | .pagination ul > .disabled > span, 47 | .pagination ul > .disabled > a, 48 | .pagination ul > .disabled > a:hover, 49 | .pagination ul > .disabled > a:focus 50 | color: $grayLight 51 | background-color: transparent 52 | cursor: default 53 | 54 | .pagination ul > li:first-child > a, 55 | .pagination ul > li:first-child > span 56 | border-left-width: 1px 57 | +ctb-border-left-radius($baseBorderRadius) 58 | 59 | .pagination ul > li:last-child > a, 60 | .pagination ul > li:last-child > span 61 | +ctb-border-right-radius($baseBorderRadius) 62 | 63 | // Alignment 64 | // -------------------------------------------------- 65 | 66 | .pagination-centered 67 | text-align: center 68 | 69 | .pagination-right 70 | text-align: right 71 | 72 | // Sizing 73 | // -------------------------------------------------- 74 | 75 | // Large 76 | .pagination-large 77 | ul > li > a, 78 | ul > li > span 79 | padding: $paddingLarge 80 | font-size: $fontSizeLarge 81 | ul > li:first-child > a, 82 | ul > li:first-child > span 83 | +ctb-border-left-radius($borderRadiusLarge) 84 | ul > li:last-child > a, 85 | ul > li:last-child > span 86 | +ctb-border-right-radius($borderRadiusLarge) 87 | 88 | // Small and mini 89 | 90 | .pagination-mini, 91 | .pagination-small 92 | ul > li:first-child > a, 93 | ul > li:first-child > span 94 | +ctb-border-left-radius($borderRadiusSmall) 95 | ul > li:last-child > a, 96 | ul > li:last-child > span 97 | +ctb-border-right-radius($borderRadiusSmall) 98 | 99 | // Small 100 | .pagination-small 101 | ul > li > a, 102 | ul > li > span 103 | padding: $paddingSmall 104 | font-size: $fontSizeSmall 105 | 106 | // Mini 107 | .pagination-mini 108 | ul > li > a, 109 | ul > li > span 110 | padding: $paddingMini 111 | font-size: $fontSizeMini 112 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-button.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-button.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#buttons 4 | * ============================================================ 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* BUTTON PUBLIC CLASS DEFINITION 27 | * ============================== */ 28 | 29 | var Button = function (element, options) { 30 | this.$element = $(element) 31 | this.options = $.extend({}, $.fn.button.defaults, options) 32 | } 33 | 34 | Button.prototype.setState = function (state) { 35 | var d = 'disabled' 36 | , $el = this.$element 37 | , data = $el.data() 38 | , val = $el.is('input') ? 'val' : 'html' 39 | 40 | state = state + 'Text' 41 | data.resetText || $el.data('resetText', $el[val]()) 42 | 43 | $el[val](data[state] || this.options[state]) 44 | 45 | // push to event loop to allow forms to submit 46 | setTimeout(function () { 47 | state == 'loadingText' ? 48 | $el.addClass(d).attr(d, d) : 49 | $el.removeClass(d).removeAttr(d) 50 | }, 0) 51 | } 52 | 53 | Button.prototype.toggle = function () { 54 | var $parent = this.$element.closest('[data-toggle="buttons-radio"]') 55 | 56 | $parent && $parent 57 | .find('.active') 58 | .removeClass('active') 59 | 60 | this.$element.toggleClass('active') 61 | } 62 | 63 | 64 | /* BUTTON PLUGIN DEFINITION 65 | * ======================== */ 66 | 67 | var old = $.fn.button 68 | 69 | $.fn.button = function (option) { 70 | return this.each(function () { 71 | var $this = $(this) 72 | , data = $this.data('button') 73 | , options = typeof option == 'object' && option 74 | if (!data) $this.data('button', (data = new Button(this, options))) 75 | if (option == 'toggle') data.toggle() 76 | else if (option) data.setState(option) 77 | }) 78 | } 79 | 80 | $.fn.button.defaults = { 81 | loadingText: 'loading...' 82 | } 83 | 84 | $.fn.button.Constructor = Button 85 | 86 | 87 | /* BUTTON NO CONFLICT 88 | * ================== */ 89 | 90 | $.fn.button.noConflict = function () { 91 | $.fn.button = old 92 | return this 93 | } 94 | 95 | 96 | /* BUTTON DATA-API 97 | * =============== */ 98 | 99 | $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { 100 | var $btn = $(e.target) 101 | if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') 102 | $btn.button('toggle') 103 | }) 104 | 105 | }(window.jQuery); -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_carousel.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Carousel 3 | // -------------------------------------------------- 4 | 5 | 6 | .carousel { 7 | position: relative; 8 | margin-bottom: $baseLineHeight; 9 | line-height: 1; 10 | } 11 | 12 | .carousel-inner { 13 | overflow: hidden; 14 | width: 100%; 15 | position: relative; 16 | } 17 | 18 | .carousel-inner { 19 | 20 | > .item { 21 | display: none; 22 | position: relative; 23 | @include ctb-transition(.6s ease-in-out left); 24 | 25 | // Account for jankitude on images 26 | > img, 27 | > a > img { 28 | display: block; 29 | line-height: 1; 30 | } 31 | } 32 | 33 | > .active, 34 | > .next, 35 | > .prev { display: block; } 36 | 37 | > .active { 38 | left: 0; 39 | } 40 | 41 | > .next, 42 | > .prev { 43 | position: absolute; 44 | top: 0; 45 | width: 100%; 46 | } 47 | 48 | > .next { 49 | left: 100%; 50 | } 51 | > .prev { 52 | left: -100%; 53 | } 54 | > .next.left, 55 | > .prev.right { 56 | left: 0; 57 | } 58 | 59 | > .active.left { 60 | left: -100%; 61 | } 62 | > .active.right { 63 | left: 100%; 64 | } 65 | 66 | } 67 | 68 | // Left/right controls for nav 69 | // --------------------------- 70 | 71 | .carousel-control { 72 | position: absolute; 73 | top: 40%; 74 | left: 15px; 75 | width: 40px; 76 | height: 40px; 77 | margin-top: -20px; 78 | font-size: 60px; 79 | font-weight: 100; 80 | line-height: 30px; 81 | color: $white; 82 | text-align: center; 83 | background: $grayDarker; 84 | border: 3px solid $white; 85 | @include ctb-border-radius(23px); 86 | @include ctb-opacity(0.5); 87 | 88 | // we can't have this transition here 89 | // because webkit cancels the carousel 90 | // animation if you trip this while 91 | // in the middle of another animation 92 | // ;_; 93 | // @include ctb-transition(opacity .2s linear); 94 | 95 | // Reposition the right one 96 | &.right { 97 | left: auto; 98 | right: 15px; 99 | } 100 | 101 | // Hover/focus state 102 | &:hover, 103 | &:focus { 104 | color: $white; 105 | text-decoration: none; 106 | @include ctb-opacity(0.9); 107 | } 108 | } 109 | 110 | // Carousel indicator pips 111 | // ----------------------------- 112 | .carousel-indicators { 113 | position: absolute; 114 | top: 15px; 115 | right: 15px; 116 | z-index: 5; 117 | margin: 0; 118 | list-style: none; 119 | 120 | li { 121 | display: block; 122 | float: left; 123 | width: 10px; 124 | height: 10px; 125 | margin-left: 5px; 126 | text-indent: -999px; 127 | background-color: #ccc; 128 | background-color: rgba(255,255,255,.25); 129 | border-radius: 5px; 130 | } 131 | .active { 132 | background-color: #fff; 133 | } 134 | } 135 | 136 | // Caption for text below images 137 | // ----------------------------- 138 | 139 | .carousel-caption { 140 | position: absolute; 141 | left: 0; 142 | right: 0; 143 | bottom: 0; 144 | padding: 15px; 145 | background: $grayDark; 146 | background: rgba(0,0,0,.75); 147 | } 148 | .carousel-caption h4, 149 | .carousel-caption p { 150 | color: $white; 151 | line-height: $baseLineHeight; 152 | } 153 | .carousel-caption h4 { 154 | margin: 0 0 5px; 155 | } 156 | .carousel-caption p { 157 | margin-bottom: 0; 158 | } 159 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_progress-bars.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Progress bars 3 | // -------------------------------------------------- 4 | 5 | // ANIMATIONS 6 | // ---------- 7 | 8 | // Webkit 9 | @-webkit-keyframes progress-bar-stripes 10 | from 11 | background-position: 40px 0 12 | to 13 | background-position: 0 0 14 | 15 | 16 | // Firefox 17 | @-moz-keyframes progress-bar-stripes 18 | from 19 | background-position: 40px 0 20 | to 21 | background-position: 0 0 22 | 23 | 24 | // IE9 25 | @-ms-keyframes progress-bar-stripes 26 | from 27 | background-position: 40px 0 28 | to 29 | background-position: 0 0 30 | 31 | 32 | // Opera 33 | @-o-keyframes progress-bar-stripes 34 | from 35 | background-position: 0 0 36 | to 37 | background-position: 40px 0 38 | 39 | 40 | // Spec 41 | @keyframes progress-bar-stripes 42 | from 43 | background-position: 40px 0 44 | to 45 | background-position: 0 0 46 | 47 | 48 | // THE BARS 49 | // -------- 50 | 51 | // Outer container 52 | .progress 53 | overflow: hidden 54 | height: $baseLineHeight 55 | margin-bottom: $baseLineHeight 56 | +ctb-gradient-vertical(whitesmoke, #f9f9f9) 57 | +ctb-box-shadow(inset 0 1px 2px rgba(0, 0, 0, 0.1)) 58 | +ctb-border-radius($baseBorderRadius) 59 | 60 | // Bar of progress 61 | .progress .bar 62 | width: 0% 63 | height: 100% 64 | color: $white 65 | float: left 66 | font-size: 12px 67 | text-align: center 68 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25) 69 | +ctb-gradient-vertical(#149bdf, #0480be) 70 | +ctb-box-shadow(inset 0 -1px 0 rgba(0, 0, 0, 0.15)) 71 | +ctb-box-sizing(border-box) 72 | +ctb-transition(width 0.6s ease) 73 | 74 | .progress .bar + .bar 75 | +ctb-box-shadow(#{inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15)}) 76 | 77 | // Striped bars 78 | .progress-striped .bar 79 | +ctb-gradient-striped(#149bdf) 80 | +ctb-background-size(40px 40px) 81 | 82 | // Call animation for the active one 83 | .progress.active .bar 84 | -webkit-animation: progress-bar-stripes 2s linear infinite 85 | -moz-animation: progress-bar-stripes 2s linear infinite 86 | -ms-animation: progress-bar-stripes 2s linear infinite 87 | -o-animation: progress-bar-stripes 2s linear infinite 88 | animation: progress-bar-stripes 2s linear infinite 89 | 90 | // COLORS 91 | // ------ 92 | 93 | // Danger (red) 94 | .progress-danger .bar, .progress .bar-danger 95 | +ctb-gradient-vertical(#ee5f5b, #c43c35) 96 | 97 | .progress-danger.progress-striped .bar, .progress-striped .bar-danger 98 | +ctb-gradient-striped(#ee5f5b) 99 | 100 | // Success (green) 101 | .progress-success .bar, .progress .bar-success 102 | +ctb-gradient-vertical(#62c462, #57a957) 103 | 104 | .progress-success.progress-striped .bar, .progress-striped .bar-success 105 | +ctb-gradient-striped(#62c462) 106 | 107 | // Info (teal) 108 | .progress-info .bar, .progress .bar-info 109 | +ctb-gradient-vertical(#5bc0de, #339bb9) 110 | 111 | .progress-info.progress-striped .bar, .progress-striped .bar-info 112 | +ctb-gradient-striped(#5bc0de) 113 | 114 | // Warning (orange) 115 | .progress-warning .bar, .progress .bar-warning 116 | +ctb-gradient-vertical(lighten($orange, 15%), $orange) 117 | 118 | .progress-warning.progress-striped .bar, .progress-striped .bar-warning 119 | +ctb-gradient-striped(lighten($orange, 15%)) 120 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_pagination.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Pagination (multiple pages) 3 | // -------------------------------------------------- 4 | 5 | // Space out pagination from surrounding content 6 | .pagination { 7 | margin: $baseLineHeight 0; 8 | } 9 | 10 | .pagination ul { 11 | // Allow for text-based alignment 12 | display: inline-block; 13 | @include ctb-ie7-inline-block(); 14 | // Reset default ul styles 15 | margin-left: 0; 16 | margin-bottom: 0; 17 | // Visuals 18 | @include ctb-border-radius($baseBorderRadius); 19 | @include ctb-box-shadow(0 1px 2px rgba(0,0,0,.05)); 20 | } 21 | .pagination ul > li { 22 | display: inline; // Remove list-style and block-level defaults 23 | } 24 | .pagination ul > li > a, 25 | .pagination ul > li > span { 26 | float: left; // Collapse white-space 27 | padding: 4px 12px; 28 | line-height: $baseLineHeight; 29 | text-decoration: none; 30 | background-color: $paginationBackground; 31 | border: 1px solid $paginationBorder; 32 | border-left-width: 0; 33 | } 34 | .pagination ul > li > a:hover, 35 | .pagination ul > li > a:focus, 36 | .pagination ul > .active > a, 37 | .pagination ul > .active > span { 38 | background-color: $paginationActiveBackground; 39 | } 40 | .pagination ul > .active > a, 41 | .pagination ul > .active > span { 42 | color: $grayLight; 43 | cursor: default; 44 | } 45 | .pagination ul > .disabled > span, 46 | .pagination ul > .disabled > a, 47 | .pagination ul > .disabled > a:hover, 48 | .pagination ul > .disabled > a:focus { 49 | color: $grayLight; 50 | background-color: transparent; 51 | cursor: default; 52 | } 53 | .pagination ul > li:first-child > a, 54 | .pagination ul > li:first-child > span { 55 | border-left-width: 1px; 56 | @include ctb-border-left-radius($baseBorderRadius); 57 | } 58 | .pagination ul > li:last-child > a, 59 | .pagination ul > li:last-child > span { 60 | @include ctb-border-right-radius($baseBorderRadius); 61 | } 62 | 63 | 64 | // Alignment 65 | // -------------------------------------------------- 66 | 67 | .pagination-centered { 68 | text-align: center; 69 | } 70 | .pagination-right { 71 | text-align: right; 72 | } 73 | 74 | 75 | // Sizing 76 | // -------------------------------------------------- 77 | 78 | // Large 79 | .pagination-large { 80 | ul > li > a, 81 | ul > li > span { 82 | padding: $paddingLarge; 83 | font-size: $fontSizeLarge; 84 | } 85 | ul > li:first-child > a, 86 | ul > li:first-child > span { 87 | @include ctb-border-left-radius($borderRadiusLarge); 88 | } 89 | ul > li:last-child > a, 90 | ul > li:last-child > span { 91 | @include ctb-border-right-radius($borderRadiusLarge); 92 | } 93 | } 94 | 95 | // Small and mini 96 | .pagination-mini, 97 | .pagination-small { 98 | ul > li:first-child > a, 99 | ul > li:first-child > span { 100 | @include ctb-border-left-radius($borderRadiusSmall); 101 | } 102 | ul > li:last-child > a, 103 | ul > li:last-child > span { 104 | @include ctb-border-right-radius($borderRadiusSmall); 105 | } 106 | } 107 | 108 | // Small 109 | .pagination-small { 110 | ul > li > a, 111 | ul > li > span { 112 | padding: $paddingSmall; 113 | font-size: $fontSizeSmall; 114 | } 115 | } 116 | // Mini 117 | .pagination-mini { 118 | ul > li > a, 119 | ul > li > span { 120 | padding: $paddingMini; 121 | font-size: $fontSizeMini; 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_popovers.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Popovers 3 | // -------------------------------------------------- 4 | 5 | .popover 6 | position: absolute 7 | top: 0 8 | left: 0 9 | z-index: $zindexPopover 10 | display: none 11 | max-width: 276px 12 | padding: 1px 13 | text-align: left 14 | // Reset given new insertion method 15 | background-color: $popoverBackground 16 | -webkit-background-clip: padding-box 17 | -moz-background-clip: padding 18 | background-clip: padding-box 19 | border: 1px solid #ccc 20 | border: 1px solid rgba(0, 0, 0, 0.2) 21 | +ctb-border-radius(6px) 22 | +ctb-box-shadow(0 5px 10px rgba(0, 0, 0, 0.2)) 23 | // Overrides for proper insertion 24 | white-space: normal 25 | // Offset the popover to account for the popover arrow 26 | &.top 27 | margin-top: -10px 28 | &.right 29 | margin-left: 10px 30 | &.bottom 31 | margin-top: 10px 32 | &.left 33 | margin-left: -10px 34 | 35 | .popover-title 36 | margin: 0 37 | // reset heading margin 38 | padding: 8px 14px 39 | font-size: 14px 40 | font-weight: normal 41 | line-height: 18px 42 | background-color: $popoverTitleBackground 43 | border-bottom: 1px solid darken($popoverTitleBackground, 5%) 44 | +ctb-border-radius(5px 5px 0 0) 45 | &:empty 46 | display: none 47 | 48 | .popover-content 49 | padding: 9px 14px 50 | 51 | // Arrows 52 | // 53 | // .arrow is outer, .arrow:after is inner 54 | 55 | .popover .arrow, 56 | .popover .arrow:after 57 | position: absolute 58 | display: block 59 | width: 0 60 | height: 0 61 | border-color: transparent 62 | border-style: solid 63 | 64 | .popover .arrow 65 | border-width: $popoverArrowOuterWidth 66 | 67 | .popover .arrow:after 68 | border-width: $popoverArrowWidth 69 | content: "" 70 | 71 | .popover 72 | &.top .arrow 73 | left: 50% 74 | margin-left: -$popoverArrowOuterWidth 75 | border-bottom-width: 0 76 | border-top-color: #999 77 | // IE8 fallback 78 | border-top-color: $popoverArrowOuterColor 79 | bottom: -$popoverArrowOuterWidth 80 | &:after 81 | bottom: 1px 82 | margin-left: -$popoverArrowWidth 83 | border-bottom-width: 0 84 | border-top-color: $popoverArrowColor 85 | &.right .arrow 86 | top: 50% 87 | left: -$popoverArrowOuterWidth 88 | margin-top: -$popoverArrowOuterWidth 89 | border-left-width: 0 90 | border-right-color: #999 91 | // IE8 fallback 92 | border-right-color: $popoverArrowOuterColor 93 | &:after 94 | left: 1px 95 | bottom: -$popoverArrowWidth 96 | border-left-width: 0 97 | border-right-color: $popoverArrowColor 98 | &.bottom .arrow 99 | left: 50% 100 | margin-left: -$popoverArrowOuterWidth 101 | border-top-width: 0 102 | border-bottom-color: #999 103 | // IE8 fallback 104 | border-bottom-color: $popoverArrowOuterColor 105 | top: -$popoverArrowOuterWidth 106 | &:after 107 | top: 1px 108 | margin-left: -$popoverArrowWidth 109 | border-top-width: 0 110 | border-bottom-color: $popoverArrowColor 111 | &.left .arrow 112 | top: 50% 113 | right: -$popoverArrowOuterWidth 114 | margin-top: -$popoverArrowOuterWidth 115 | border-right-width: 0 116 | border-left-color: #999 117 | // IE8 fallback 118 | border-left-color: $popoverArrowOuterColor 119 | &:after 120 | right: 1px 121 | border-right-width: 0 122 | border-left-color: $popoverArrowColor 123 | bottom: -$popoverArrowWidth 124 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_progress-bars.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Progress bars 3 | // -------------------------------------------------- 4 | 5 | 6 | // ANIMATIONS 7 | // ---------- 8 | 9 | // Webkit 10 | @-webkit-keyframes progress-bar-stripes { 11 | from { background-position: 40px 0; } 12 | to { background-position: 0 0; } 13 | } 14 | 15 | // Firefox 16 | @-moz-keyframes progress-bar-stripes { 17 | from { background-position: 40px 0; } 18 | to { background-position: 0 0; } 19 | } 20 | 21 | // IE9 22 | @-ms-keyframes progress-bar-stripes { 23 | from { background-position: 40px 0; } 24 | to { background-position: 0 0; } 25 | } 26 | 27 | // Opera 28 | @-o-keyframes progress-bar-stripes { 29 | from { background-position: 0 0; } 30 | to { background-position: 40px 0; } 31 | } 32 | 33 | // Spec 34 | @keyframes progress-bar-stripes { 35 | from { background-position: 40px 0; } 36 | to { background-position: 0 0; } 37 | } 38 | 39 | 40 | 41 | // THE BARS 42 | // -------- 43 | 44 | // Outer container 45 | .progress { 46 | overflow: hidden; 47 | height: $baseLineHeight; 48 | margin-bottom: $baseLineHeight; 49 | @include ctb-gradient-vertical(#f5f5f5, #f9f9f9); 50 | @include ctb-box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); 51 | @include ctb-border-radius($baseBorderRadius); 52 | } 53 | 54 | // Bar of progress 55 | .progress .bar { 56 | width: 0%; 57 | height: 100%; 58 | color: $white; 59 | float: left; 60 | font-size: 12px; 61 | text-align: center; 62 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 63 | @include ctb-gradient-vertical(#149bdf, #0480be); 64 | @include ctb-box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); 65 | @include ctb-box-sizing(border-box); 66 | @include ctb-transition(width .6s ease); 67 | } 68 | .progress .bar + .bar { 69 | @include ctb-box-shadow(#{inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)}); 70 | } 71 | 72 | // Striped bars 73 | .progress-striped .bar { 74 | @include ctb-gradient-striped(#149bdf); 75 | @include ctb-background-size(40px 40px); 76 | } 77 | 78 | // Call animation for the active one 79 | .progress.active .bar { 80 | -webkit-animation: progress-bar-stripes 2s linear infinite; 81 | -moz-animation: progress-bar-stripes 2s linear infinite; 82 | -ms-animation: progress-bar-stripes 2s linear infinite; 83 | -o-animation: progress-bar-stripes 2s linear infinite; 84 | animation: progress-bar-stripes 2s linear infinite; 85 | } 86 | 87 | 88 | 89 | // COLORS 90 | // ------ 91 | 92 | // Danger (red) 93 | .progress-danger .bar, .progress .bar-danger { 94 | @include ctb-gradient-vertical(#ee5f5b, #c43c35); 95 | } 96 | .progress-danger.progress-striped .bar, .progress-striped .bar-danger { 97 | @include ctb-gradient-striped(#ee5f5b); 98 | } 99 | 100 | // Success (green) 101 | .progress-success .bar, .progress .bar-success { 102 | @include ctb-gradient-vertical(#62c462, #57a957); 103 | } 104 | .progress-success.progress-striped .bar, .progress-striped .bar-success { 105 | @include ctb-gradient-striped(#62c462); 106 | } 107 | 108 | // Info (teal) 109 | .progress-info .bar, .progress .bar-info { 110 | @include ctb-gradient-vertical(#5bc0de, #339bb9); 111 | } 112 | .progress-info.progress-striped .bar, .progress-striped .bar-info { 113 | @include ctb-gradient-striped(#5bc0de); 114 | } 115 | 116 | // Warning (orange) 117 | .progress-warning .bar, .progress .bar-warning { 118 | @include ctb-gradient-vertical(lighten($orange, 15%), $orange); 119 | } 120 | .progress-warning.progress-striped .bar, .progress-striped .bar-warning { 121 | @include ctb-gradient-striped(lighten($orange, 15%)); 122 | } 123 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-popover.js: -------------------------------------------------------------------------------- 1 | /* =========================================================== 2 | * bootstrap-popover.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#popovers 4 | * =========================================================== 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * =========================================================== */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* POPOVER PUBLIC CLASS DEFINITION 27 | * =============================== */ 28 | 29 | var Popover = function (element, options) { 30 | this.init('popover', element, options) 31 | } 32 | 33 | 34 | /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js 35 | ========================================== */ 36 | 37 | Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { 38 | 39 | constructor: Popover 40 | 41 | , setContent: function () { 42 | var $tip = this.tip() 43 | , title = this.getTitle() 44 | , content = this.getContent() 45 | 46 | $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) 47 | $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content) 48 | 49 | $tip.removeClass('fade top bottom left right in') 50 | } 51 | 52 | , hasContent: function () { 53 | return this.getTitle() || this.getContent() 54 | } 55 | 56 | , getContent: function () { 57 | var content 58 | , $e = this.$element 59 | , o = this.options 60 | 61 | content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) 62 | || $e.attr('data-content') 63 | 64 | return content 65 | } 66 | 67 | , tip: function () { 68 | if (!this.$tip) { 69 | this.$tip = $(this.options.template) 70 | } 71 | return this.$tip 72 | } 73 | 74 | , destroy: function () { 75 | this.hide().$element.off('.' + this.type).removeData(this.type) 76 | } 77 | 78 | }) 79 | 80 | 81 | /* POPOVER PLUGIN DEFINITION 82 | * ======================= */ 83 | 84 | var old = $.fn.popover 85 | 86 | $.fn.popover = function (option) { 87 | return this.each(function () { 88 | var $this = $(this) 89 | , data = $this.data('popover') 90 | , options = typeof option == 'object' && option 91 | if (!data) $this.data('popover', (data = new Popover(this, options))) 92 | if (typeof option == 'string') data[option]() 93 | }) 94 | } 95 | 96 | $.fn.popover.Constructor = Popover 97 | 98 | $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { 99 | placement: 'right' 100 | , trigger: 'click' 101 | , content: '' 102 | , template: '

' 103 | }) 104 | 105 | 106 | /* POPOVER NO CONFLICT 107 | * =================== */ 108 | 109 | $.fn.popover.noConflict = function () { 110 | $.fn.popover = old 111 | return this 112 | } 113 | 114 | }(window.jQuery); 115 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_popovers.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Popovers 3 | // -------------------------------------------------- 4 | 5 | 6 | .popover { 7 | position: absolute; 8 | top: 0; 9 | left: 0; 10 | z-index: $zindexPopover; 11 | display: none; 12 | max-width: 276px; 13 | padding: 1px; 14 | text-align: left; // Reset given new insertion method 15 | background-color: $popoverBackground; 16 | -webkit-background-clip: padding-box; 17 | -moz-background-clip: padding; 18 | background-clip: padding-box; 19 | border: 1px solid #ccc; 20 | border: 1px solid rgba(0,0,0,.2); 21 | @include ctb-border-radius(6px); 22 | @include ctb-box-shadow(0 5px 10px rgba(0,0,0,.2)); 23 | 24 | // Overrides for proper insertion 25 | white-space: normal; 26 | 27 | // Offset the popover to account for the popover arrow 28 | &.top { margin-top: -10px; } 29 | &.right { margin-left: 10px; } 30 | &.bottom { margin-top: 10px; } 31 | &.left { margin-left: -10px; } 32 | } 33 | 34 | .popover-title { 35 | margin: 0; // reset heading margin 36 | padding: 8px 14px; 37 | font-size: 14px; 38 | font-weight: normal; 39 | line-height: 18px; 40 | background-color: $popoverTitleBackground; 41 | border-bottom: 1px solid darken($popoverTitleBackground, 5%); 42 | @include ctb-border-radius(5px 5px 0 0); 43 | 44 | &:empty { 45 | display: none; 46 | } 47 | } 48 | 49 | .popover-content { 50 | padding: 9px 14px; 51 | } 52 | 53 | // Arrows 54 | // 55 | // .arrow is outer, .arrow:after is inner 56 | 57 | .popover .arrow, 58 | .popover .arrow:after { 59 | position: absolute; 60 | display: block; 61 | width: 0; 62 | height: 0; 63 | border-color: transparent; 64 | border-style: solid; 65 | } 66 | .popover .arrow { 67 | border-width: $popoverArrowOuterWidth; 68 | } 69 | .popover .arrow:after { 70 | border-width: $popoverArrowWidth; 71 | content: ""; 72 | } 73 | 74 | .popover { 75 | &.top .arrow { 76 | left: 50%; 77 | margin-left: -$popoverArrowOuterWidth; 78 | border-bottom-width: 0; 79 | border-top-color: #999; // IE8 fallback 80 | border-top-color: $popoverArrowOuterColor; 81 | bottom: -$popoverArrowOuterWidth; 82 | &:after { 83 | bottom: 1px; 84 | margin-left: -$popoverArrowWidth; 85 | border-bottom-width: 0; 86 | border-top-color: $popoverArrowColor; 87 | } 88 | } 89 | &.right .arrow { 90 | top: 50%; 91 | left: -$popoverArrowOuterWidth; 92 | margin-top: -$popoverArrowOuterWidth; 93 | border-left-width: 0; 94 | border-right-color: #999; // IE8 fallback 95 | border-right-color: $popoverArrowOuterColor; 96 | &:after { 97 | left: 1px; 98 | bottom: -$popoverArrowWidth; 99 | border-left-width: 0; 100 | border-right-color: $popoverArrowColor; 101 | } 102 | } 103 | &.bottom .arrow { 104 | left: 50%; 105 | margin-left: -$popoverArrowOuterWidth; 106 | border-top-width: 0; 107 | border-bottom-color: #999; // IE8 fallback 108 | border-bottom-color: $popoverArrowOuterColor; 109 | top: -$popoverArrowOuterWidth; 110 | &:after { 111 | top: 1px; 112 | margin-left: -$popoverArrowWidth; 113 | border-top-width: 0; 114 | border-bottom-color: $popoverArrowColor; 115 | } 116 | } 117 | 118 | &.left .arrow { 119 | top: 50%; 120 | right: -$popoverArrowOuterWidth; 121 | margin-top: -$popoverArrowOuterWidth; 122 | border-right-width: 0; 123 | border-left-color: #999; // IE8 fallback 124 | border-left-color: $popoverArrowOuterColor; 125 | &:after { 126 | right: 1px; 127 | border-right-width: 0; 128 | border-left-color: $popoverArrowColor; 129 | bottom: -$popoverArrowWidth; 130 | } 131 | } 132 | 133 | } 134 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-affix.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * bootstrap-affix.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#affix 4 | * ========================================================== 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* AFFIX CLASS DEFINITION 27 | * ====================== */ 28 | 29 | var Affix = function (element, options) { 30 | this.options = $.extend({}, $.fn.affix.defaults, options) 31 | this.$window = $(window) 32 | .on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) 33 | .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this)) 34 | this.$element = $(element) 35 | this.checkPosition() 36 | } 37 | 38 | Affix.prototype.checkPosition = function () { 39 | if (!this.$element.is(':visible')) return 40 | 41 | var scrollHeight = $(document).height() 42 | , scrollTop = this.$window.scrollTop() 43 | , position = this.$element.offset() 44 | , offset = this.options.offset 45 | , offsetBottom = offset.bottom 46 | , offsetTop = offset.top 47 | , reset = 'affix affix-top affix-bottom' 48 | , affix 49 | 50 | if (typeof offset != 'object') offsetBottom = offsetTop = offset 51 | if (typeof offsetTop == 'function') offsetTop = offset.top() 52 | if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() 53 | 54 | affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? 55 | false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 56 | 'bottom' : offsetTop != null && scrollTop <= offsetTop ? 57 | 'top' : false 58 | 59 | if (this.affixed === affix) return 60 | 61 | this.affixed = affix 62 | this.unpin = affix == 'bottom' ? position.top - scrollTop : null 63 | 64 | this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) 65 | } 66 | 67 | 68 | /* AFFIX PLUGIN DEFINITION 69 | * ======================= */ 70 | 71 | var old = $.fn.affix 72 | 73 | $.fn.affix = function (option) { 74 | return this.each(function () { 75 | var $this = $(this) 76 | , data = $this.data('affix') 77 | , options = typeof option == 'object' && option 78 | if (!data) $this.data('affix', (data = new Affix(this, options))) 79 | if (typeof option == 'string') data[option]() 80 | }) 81 | } 82 | 83 | $.fn.affix.Constructor = Affix 84 | 85 | $.fn.affix.defaults = { 86 | offset: 0 87 | } 88 | 89 | 90 | /* AFFIX NO CONFLICT 91 | * ================= */ 92 | 93 | $.fn.affix.noConflict = function () { 94 | $.fn.affix = old 95 | return this 96 | } 97 | 98 | 99 | /* AFFIX DATA-API 100 | * ============== */ 101 | 102 | $(window).on('load', function () { 103 | $('[data-spy="affix"]').each(function () { 104 | var $spy = $(this) 105 | , data = $spy.data() 106 | 107 | data.offset = data.offset || {} 108 | 109 | data.offsetBottom && (data.offset.bottom = data.offsetBottom) 110 | data.offsetTop && (data.offset.top = data.offsetTop) 111 | 112 | $spy.affix(data) 113 | }) 114 | }) 115 | 116 | 117 | }(window.jQuery); -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-tab.js: -------------------------------------------------------------------------------- 1 | /* ======================================================== 2 | * bootstrap-tab.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#tabs 4 | * ======================================================== 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ======================================================== */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* TAB CLASS DEFINITION 27 | * ==================== */ 28 | 29 | var Tab = function (element) { 30 | this.element = $(element) 31 | } 32 | 33 | Tab.prototype = { 34 | 35 | constructor: Tab 36 | 37 | , show: function () { 38 | var $this = this.element 39 | , $ul = $this.closest('ul:not(.dropdown-menu)') 40 | , selector = $this.attr('data-target') 41 | , previous 42 | , $target 43 | , e 44 | 45 | if (!selector) { 46 | selector = $this.attr('href') 47 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 48 | } 49 | 50 | if ( $this.parent('li').hasClass('active') ) return 51 | 52 | previous = $ul.find('.active:last a')[0] 53 | 54 | e = $.Event('show', { 55 | relatedTarget: previous 56 | }) 57 | 58 | $this.trigger(e) 59 | 60 | if (e.isDefaultPrevented()) return 61 | 62 | $target = $(selector) 63 | 64 | this.activate($this.parent('li'), $ul) 65 | this.activate($target, $target.parent(), function () { 66 | $this.trigger({ 67 | type: 'shown' 68 | , relatedTarget: previous 69 | }) 70 | }) 71 | } 72 | 73 | , activate: function ( element, container, callback) { 74 | var $active = container.find('> .active') 75 | , transition = callback 76 | && $.support.transition 77 | && $active.hasClass('fade') 78 | 79 | function next() { 80 | $active 81 | .removeClass('active') 82 | .find('> .dropdown-menu > .active') 83 | .removeClass('active') 84 | 85 | element.addClass('active') 86 | 87 | if (transition) { 88 | element[0].offsetWidth // reflow for transition 89 | element.addClass('in') 90 | } else { 91 | element.removeClass('fade') 92 | } 93 | 94 | if ( element.parent('.dropdown-menu') ) { 95 | element.closest('li.dropdown').addClass('active') 96 | } 97 | 98 | callback && callback() 99 | } 100 | 101 | transition ? 102 | $active.one($.support.transition.end, next) : 103 | next() 104 | 105 | $active.removeClass('in') 106 | } 107 | } 108 | 109 | 110 | /* TAB PLUGIN DEFINITION 111 | * ===================== */ 112 | 113 | var old = $.fn.tab 114 | 115 | $.fn.tab = function ( option ) { 116 | return this.each(function () { 117 | var $this = $(this) 118 | , data = $this.data('tab') 119 | if (!data) $this.data('tab', (data = new Tab(this))) 120 | if (typeof option == 'string') data[option]() 121 | }) 122 | } 123 | 124 | $.fn.tab.Constructor = Tab 125 | 126 | 127 | /* TAB NO CONFLICT 128 | * =============== */ 129 | 130 | $.fn.tab.noConflict = function () { 131 | $.fn.tab = old 132 | return this 133 | } 134 | 135 | 136 | /* TAB DATA-API 137 | * ============ */ 138 | 139 | $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { 140 | e.preventDefault() 141 | $(this).tab('show') 142 | }) 143 | 144 | }(window.jQuery); -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_responsive-767px-max.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Landscape phone to desktop/tablet 3 | // -------------------------------------------------- 4 | 5 | @media (max-width: 767px) 6 | // Padding to set content in a bit 7 | body 8 | padding-left: 20px 9 | padding-right: 20px 10 | // Negative indent the now static "fixed" navbar 11 | .navbar-fixed-top, 12 | .navbar-fixed-bottom, 13 | .navbar-static-top 14 | margin-left: -20px 15 | margin-right: -20px 16 | // Remove padding on container given explicit padding set on body 17 | .container-fluid 18 | padding: 0 19 | // TYPOGRAPHY 20 | // ---------- 21 | // Reset horizontal dl 22 | .dl-horizontal 23 | dt 24 | float: none 25 | clear: none 26 | width: auto 27 | text-align: left 28 | dd 29 | margin-left: 0 30 | // GRID & CONTAINERS 31 | // ----------------- 32 | // Remove width from containers 33 | .container 34 | width: auto 35 | // Fluid rows 36 | .row-fluid 37 | width: 100% 38 | // Undo negative margin on rows and thumbnails 39 | .row, 40 | .thumbnails 41 | margin-left: 0 42 | .thumbnails > li 43 | float: none 44 | margin-left: 0 45 | // Reset the default margin for all li elements when no .span* classes are present 46 | // Make all grid-sized elements block level again 47 | [class*="span"], 48 | .uneditable-input[class*="span"], 49 | .row-fluid [class*="span"] 50 | float: none 51 | display: block 52 | width: 100% 53 | margin-left: 0 54 | +ctb-box-sizing(border-box) 55 | .span12, 56 | .row-fluid .span12 57 | width: 100% 58 | +ctb-box-sizing(border-box) 59 | .row-fluid [class*="offset"]:first-child 60 | margin-left: 0 61 | // FORM FIELDS 62 | // ----------- 63 | // Make span* classes full width 64 | .input-large, 65 | .input-xlarge, 66 | .input-xxlarge, 67 | input[class*="span"], 68 | select[class*="span"], 69 | textarea[class*="span"], 70 | .uneditable-input 71 | +ctb-input-block-level 72 | // But don't let it screw up prepend/append inputs 73 | .input-prepend input, 74 | .input-append input, 75 | .input-prepend input[class*="span"], 76 | .input-append input[class*="span"] 77 | display: inline-block 78 | // redeclare so they don't wrap to new lines 79 | width: auto 80 | .controls-row [class*="span"] + [class*="span"] 81 | margin-left: 0 82 | // Modals 83 | .modal 84 | position: fixed 85 | top: 20px 86 | left: 20px 87 | right: 20px 88 | width: auto 89 | margin: 0 90 | &.fade 91 | top: -100px 92 | &.fade.in 93 | top: 20px 94 | 95 | // UP TO LANDSCAPE PHONE 96 | // --------------------- 97 | 98 | @media (max-width: 480px) 99 | // Smooth out the collapsing/expanding nav 100 | .nav-collapse 101 | -webkit-transform: translate3d(0, 0, 0) 102 | // activate the GPU 103 | // Block level the page header small tag for readability 104 | .page-header h1 small 105 | display: block 106 | line-height: $baseLineHeight 107 | // Update checkboxes for iOS 108 | input[type="checkbox"], 109 | input[type="radio"] 110 | border: 1px solid #cccccc 111 | // Remove the horizontal form styles 112 | .form-horizontal 113 | .control-label 114 | float: none 115 | width: auto 116 | padding-top: 0 117 | text-align: left 118 | // Move over all input controls and content 119 | .controls 120 | margin-left: 0 121 | // Move the options list down to align with labels 122 | .control-list 123 | padding-top: 0 124 | // has to be padding because margin collaspes 125 | // Move over buttons in .form-actions to align with .controls 126 | .form-actions 127 | padding-left: 10px 128 | padding-right: 10px 129 | // Medias 130 | // Reset float and spacing to stack 131 | .media .pull-left, 132 | .media .pull-right 133 | float: none 134 | display: block 135 | margin-bottom: 10px 136 | // Remove side margins since we stack instead of indent 137 | .media-object 138 | margin-right: 0 139 | margin-left: 0 140 | // Modals 141 | .modal 142 | top: 10px 143 | left: 10px 144 | right: 10px 145 | .modal-header .close 146 | padding: 10px 147 | margin: -10px 148 | // Carousel 149 | .carousel-caption 150 | position: static 151 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_responsive-navbar.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Navbar 3 | // -------------------------------------------------- 4 | 5 | // TABLETS AND BELOW 6 | // ----------------- 7 | @media (max-width: $navbarCollapseWidth) 8 | // UNFIX THE TOPBAR 9 | // ---------------- 10 | // Remove any padding from the body 11 | body 12 | padding-top: 0 13 | // Unfix the navbars 14 | .navbar-fixed-top, 15 | .navbar-fixed-bottom 16 | position: static 17 | .navbar-fixed-top 18 | margin-bottom: $baseLineHeight 19 | .navbar-fixed-bottom 20 | margin-top: $baseLineHeight 21 | .navbar-fixed-top .navbar-inner, 22 | .navbar-fixed-bottom .navbar-inner 23 | padding: 5px 24 | .navbar .container 25 | width: auto 26 | padding: 0 27 | // Account for brand name 28 | .navbar .brand 29 | padding-left: 10px 30 | padding-right: 10px 31 | margin: 0 0 0 -5px 32 | // COLLAPSIBLE NAVBAR 33 | // ------------------ 34 | // Nav collapse clears brand 35 | .nav-collapse 36 | clear: both 37 | // Block-level the nav 38 | .nav-collapse .nav 39 | float: none 40 | margin: 0 0 $baseLineHeight / 2 41 | .nav-collapse .nav > li 42 | float: none 43 | .nav-collapse .nav > li > a 44 | margin-bottom: 2px 45 | .nav-collapse .nav > .divider-vertical 46 | display: none 47 | .nav-collapse .nav .nav-header 48 | color: $navbarText 49 | text-shadow: none 50 | // Nav and dropdown links in navbar 51 | .nav-collapse .nav > li > a, 52 | .nav-collapse .dropdown-menu a 53 | padding: 9px 15px 54 | font-weight: bold 55 | color: $navbarLinkColor 56 | +ctb-border-radius(3px) 57 | // Buttons 58 | .nav-collapse .btn 59 | padding: 4px 10px 4px 60 | font-weight: normal 61 | +ctb-border-radius($baseBorderRadius) 62 | .nav-collapse .dropdown-menu li + li a 63 | margin-bottom: 2px 64 | .nav-collapse .nav > li > a:hover, 65 | .nav-collapse .nav > li > a:focus, 66 | .nav-collapse .dropdown-menu a:hover, 67 | .nav-collapse .dropdown-menu a:focus 68 | background-color: $navbarBackground 69 | .navbar-inverse .nav-collapse .nav > li > a, 70 | .navbar-inverse .nav-collapse .dropdown-menu a 71 | color: $navbarInverseLinkColor 72 | .navbar-inverse .nav-collapse .nav > li > a:hover, 73 | .navbar-inverse .nav-collapse .nav > li > a:focus, 74 | .navbar-inverse .nav-collapse .dropdown-menu a:hover, 75 | .navbar-inverse .nav-collapse .dropdown-menu a:focus 76 | background-color: $navbarInverseBackground 77 | // Buttons in the navbar 78 | .nav-collapse.in .btn-group 79 | margin-top: 5px 80 | padding: 0 81 | // Dropdowns in the navbar 82 | .nav-collapse .dropdown-menu 83 | position: static 84 | top: auto 85 | left: auto 86 | float: none 87 | display: none 88 | max-width: none 89 | margin: 0 15px 90 | padding: 0 91 | background-color: transparent 92 | border: none 93 | +ctb-border-radius(0) 94 | +ctb-box-shadow(none) 95 | .nav-collapse .open > .dropdown-menu 96 | display: block 97 | .nav-collapse .dropdown-menu:before, 98 | .nav-collapse .dropdown-menu:after 99 | display: none 100 | .nav-collapse .dropdown-menu .divider 101 | display: none 102 | .nav-collapse .nav > li > .dropdown-menu 103 | &:before, 104 | &:after 105 | display: none 106 | // Forms in navbar 107 | .nav-collapse .navbar-form, 108 | .nav-collapse .navbar-search 109 | float: none 110 | padding: $baseLineHeight / 2 15px 111 | margin: $baseLineHeight / 2 0 112 | border-top: 1px solid $navbarBackground 113 | border-bottom: 1px solid $navbarBackground 114 | +ctb-box-shadow(#{inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1)}) 115 | .navbar-inverse .nav-collapse .navbar-form, 116 | .navbar-inverse .nav-collapse .navbar-search 117 | border-top-color: $navbarInverseBackground 118 | border-bottom-color: $navbarInverseBackground 119 | // Pull right (secondary) nav content 120 | .navbar .nav-collapse .nav.pull-right 121 | float: none 122 | margin-left: 0 123 | // Hide everything in the navbar save .brand and toggle button */ 124 | .nav-collapse, 125 | .nav-collapse.collapse 126 | overflow: hidden 127 | height: 0 128 | // Navbar button 129 | .navbar .btn-navbar 130 | display: block 131 | // STATIC NAVBAR 132 | // ------------- 133 | .navbar-static .navbar-inner 134 | padding-left: 10px 135 | padding-right: 10px 136 | 137 | // DEFAULT DESKTOP 138 | // --------------- 139 | 140 | @media (min-width: $navbarCollapseDesktopWidth) 141 | // Required to make the collapsing navbar work on regular desktops 142 | .nav-collapse.collapse 143 | height: auto !important 144 | overflow: visible !important 145 | -------------------------------------------------------------------------------- /stylesheets_sass/compass_twitter_bootstrap/_reset.sass: -------------------------------------------------------------------------------- 1 | // 2 | // Reset CSS 3 | // Adapted from http://github.com/necolas/normalize.css 4 | // -------------------------------------------------- 5 | 6 | // Display in IE6-9 and FF3 7 | // ------------------------- 8 | 9 | article, 10 | aside, 11 | details, 12 | figcaption, 13 | figure, 14 | footer, 15 | header, 16 | hgroup, 17 | nav, 18 | section 19 | display: block 20 | 21 | // Display block in IE6-9 and FF3 22 | // ------------------------- 23 | 24 | audio, 25 | canvas, 26 | video 27 | display: inline-block 28 | *display: inline 29 | *zoom: 1 30 | 31 | // Prevents modern browsers from displaying 'audio' without controls 32 | // ------------------------- 33 | 34 | audio:not([controls]) 35 | display: none 36 | 37 | // Base settings 38 | // ------------------------- 39 | 40 | html 41 | font-size: 100% 42 | -webkit-text-size-adjust: 100% 43 | -ms-text-size-adjust: 100% 44 | 45 | // Focus states 46 | a:focus 47 | +ctb-tab-focus 48 | 49 | // Hover & Active 50 | 51 | a:hover, 52 | a:active 53 | outline: 0 54 | 55 | // Prevents sub and sup affecting line-height in all browsers 56 | // ------------------------- 57 | 58 | sub, 59 | sup 60 | position: relative 61 | font-size: 75% 62 | line-height: 0 63 | vertical-align: baseline 64 | 65 | sup 66 | top: -0.5em 67 | 68 | sub 69 | bottom: -0.25em 70 | 71 | // Img border in a's and image quality 72 | // ------------------------- 73 | 74 | img 75 | /* Responsive images (ensure images don't scale beyond their parents) 76 | max-width: 100% 77 | /* Part 1: Set a maxium relative to the parent 78 | width: auto\9 79 | /* IE7-8 need help adjusting responsive images 80 | height: auto 81 | /* Part 2: Scale the height according to the width, otherwise you get stretching 82 | vertical-align: middle 83 | border: 0 84 | -ms-interpolation-mode: bicubic 85 | 86 | // Prevent max-width from affecting Google Maps 87 | 88 | #map_canvas img, 89 | .google-maps img 90 | max-width: none 91 | 92 | // Forms 93 | // ------------------------- 94 | 95 | // Font size in all browsers, margin changes, misc consistency 96 | 97 | button, 98 | input, 99 | select, 100 | textarea 101 | margin: 0 102 | font-size: 100% 103 | vertical-align: middle 104 | 105 | button, 106 | input 107 | *overflow: visible 108 | // Inner spacing ie IE6/7 109 | line-height: normal 110 | // FF3/4 have !important on line-height in UA stylesheet 111 | 112 | button::-moz-focus-inner, 113 | input::-moz-focus-inner 114 | // Inner padding and border oddities in FF3/4 115 | padding: 0 116 | border: 0 117 | 118 | button, 119 | html input[type="button"], 120 | input[type="reset"], 121 | input[type="submit"] 122 | -webkit-appearance: button 123 | // Corrects inability to style clickable `input` types in iOS. 124 | cursor: pointer 125 | // Improves usability and consistency of cursor style between image-type `input` and others. 126 | 127 | label, 128 | select, 129 | button, 130 | input[type="button"], 131 | input[type="reset"], 132 | input[type="submit"], 133 | input[type="radio"], 134 | input[type="checkbox"] 135 | cursor: pointer 136 | // Improves usability and consistency of cursor style between image-type `input` and others. 137 | 138 | input[type="search"] 139 | // Appearance in Safari/Chrome 140 | +ctb-box-sizing(content-box) 141 | -webkit-appearance: textfield 142 | 143 | input[type="search"]::-webkit-search-decoration, 144 | input[type="search"]::-webkit-search-cancel-button 145 | -webkit-appearance: none 146 | // Inner-padding issues in Chrome OSX, Safari 5 147 | 148 | textarea 149 | overflow: auto 150 | // Remove vertical scrollbar in IE6-9 151 | vertical-align: top 152 | // Readability and alignment cross-browser 153 | 154 | // Printing 155 | // ------------------------- 156 | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css 157 | 158 | @media print 159 | * 160 | text-shadow: none !important 161 | color: black !important 162 | // Black prints faster: h5bp.com/s 163 | background: transparent !important 164 | box-shadow: none !important 165 | a, 166 | a:visited 167 | text-decoration: underline 168 | a[href]:after 169 | content: " (" attr(href) ")" 170 | abbr[title]:after 171 | content: " (" attr(title) ")" 172 | // Don't show links for images, or javascript/internal links 173 | .ir a:after, 174 | a[href^="javascript:"]:after, 175 | a[href^="#"]:after 176 | content: "" 177 | pre, 178 | blockquote 179 | border: 1px solid #999999 180 | page-break-inside: avoid 181 | thead 182 | display: table-header-group 183 | // h5bp.com/t 184 | tr, 185 | img 186 | page-break-inside: avoid 187 | img 188 | max-width: 100% !important 189 | @page 190 | margin: 0.5cm 191 | 192 | p, 193 | h2, 194 | h3 195 | orphans: 3 196 | widows: 3 197 | h2, 198 | h3 199 | page-break-after: avoid 200 | -------------------------------------------------------------------------------- /stylesheets/compass_twitter_bootstrap/_responsive-767px-max.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Landscape phone to desktop/tablet 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (max-width: 767px) { 7 | 8 | // Padding to set content in a bit 9 | body { 10 | padding-left: 20px; 11 | padding-right: 20px; 12 | } 13 | // Negative indent the now static "fixed" navbar 14 | .navbar-fixed-top, 15 | .navbar-fixed-bottom, 16 | .navbar-static-top { 17 | margin-left: -20px; 18 | margin-right: -20px; 19 | } 20 | // Remove padding on container given explicit padding set on body 21 | .container-fluid { 22 | padding: 0; 23 | } 24 | 25 | // TYPOGRAPHY 26 | // ---------- 27 | // Reset horizontal dl 28 | .dl-horizontal { 29 | dt { 30 | float: none; 31 | clear: none; 32 | width: auto; 33 | text-align: left; 34 | } 35 | dd { 36 | margin-left: 0; 37 | } 38 | } 39 | 40 | // GRID & CONTAINERS 41 | // ----------------- 42 | // Remove width from containers 43 | .container { 44 | width: auto; 45 | } 46 | // Fluid rows 47 | .row-fluid { 48 | width: 100%; 49 | } 50 | // Undo negative margin on rows and thumbnails 51 | .row, 52 | .thumbnails { 53 | margin-left: 0; 54 | } 55 | .thumbnails > li { 56 | float: none; 57 | margin-left: 0; // Reset the default margin for all li elements when no .span* classes are present 58 | } 59 | // Make all grid-sized elements block level again 60 | [class*="span"], 61 | .uneditable-input[class*="span"], // Makes uneditable inputs full-width when using grid sizing 62 | .row-fluid [class*="span"] { 63 | float: none; 64 | display: block; 65 | width: 100%; 66 | margin-left: 0; 67 | @include ctb-box-sizing(border-box); 68 | } 69 | .span12, 70 | .row-fluid .span12 { 71 | width: 100%; 72 | @include ctb-box-sizing(border-box); 73 | } 74 | .row-fluid [class*="offset"]:first-child { 75 | margin-left: 0; 76 | } 77 | 78 | // FORM FIELDS 79 | // ----------- 80 | // Make span* classes full width 81 | .input-large, 82 | .input-xlarge, 83 | .input-xxlarge, 84 | input[class*="span"], 85 | select[class*="span"], 86 | textarea[class*="span"], 87 | .uneditable-input { 88 | @include ctb-input-block-level(); 89 | } 90 | // But don't let it screw up prepend/append inputs 91 | .input-prepend input, 92 | .input-append input, 93 | .input-prepend input[class*="span"], 94 | .input-append input[class*="span"] { 95 | display: inline-block; // redeclare so they don't wrap to new lines 96 | width: auto; 97 | } 98 | .controls-row [class*="span"] + [class*="span"] { 99 | margin-left: 0; 100 | } 101 | 102 | // Modals 103 | .modal { 104 | position: fixed; 105 | top: 20px; 106 | left: 20px; 107 | right: 20px; 108 | width: auto; 109 | margin: 0; 110 | &.fade { top: -100px; } 111 | &.fade.in { top: 20px; } 112 | } 113 | 114 | } 115 | 116 | 117 | 118 | // UP TO LANDSCAPE PHONE 119 | // --------------------- 120 | 121 | @media (max-width: 480px) { 122 | 123 | // Smooth out the collapsing/expanding nav 124 | .nav-collapse { 125 | -webkit-transform: translate3d(0, 0, 0); // activate the GPU 126 | } 127 | 128 | // Block level the page header small tag for readability 129 | .page-header h1 small { 130 | display: block; 131 | line-height: $baseLineHeight; 132 | } 133 | 134 | // Update checkboxes for iOS 135 | input[type="checkbox"], 136 | input[type="radio"] { 137 | border: 1px solid #ccc; 138 | } 139 | 140 | // Remove the horizontal form styles 141 | .form-horizontal { 142 | .control-label { 143 | float: none; 144 | width: auto; 145 | padding-top: 0; 146 | text-align: left; 147 | } 148 | // Move over all input controls and content 149 | .controls { 150 | margin-left: 0; 151 | } 152 | // Move the options list down to align with labels 153 | .control-list { 154 | padding-top: 0; // has to be padding because margin collaspes 155 | } 156 | // Move over buttons in .form-actions to align with .controls 157 | .form-actions { 158 | padding-left: 10px; 159 | padding-right: 10px; 160 | } 161 | } 162 | 163 | // Medias 164 | // Reset float and spacing to stack 165 | .media .pull-left, 166 | .media .pull-right { 167 | float: none; 168 | display: block; 169 | margin-bottom: 10px; 170 | } 171 | // Remove side margins since we stack instead of indent 172 | .media-object { 173 | margin-right: 0; 174 | margin-left: 0; 175 | } 176 | 177 | // Modals 178 | .modal { 179 | top: 10px; 180 | left: 10px; 181 | right: 10px; 182 | } 183 | .modal-header .close { 184 | padding: 10px; 185 | margin: -10px; 186 | } 187 | 188 | // Carousel 189 | .carousel-caption { 190 | position: static; 191 | } 192 | 193 | } 194 | -------------------------------------------------------------------------------- /vendor/assets/javascripts/bootstrap-dropdown.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-dropdown.js v2.3.2 3 | * http://getbootstrap.com/2.3.2/javascript.html#dropdowns 4 | * ============================================================ 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* DROPDOWN CLASS DEFINITION 27 | * ========================= */ 28 | 29 | var toggle = '[data-toggle=dropdown]' 30 | , Dropdown = function (element) { 31 | var $el = $(element).on('click.dropdown.data-api', this.toggle) 32 | $('html').on('click.dropdown.data-api', function () { 33 | $el.parent().removeClass('open') 34 | }) 35 | } 36 | 37 | Dropdown.prototype = { 38 | 39 | constructor: Dropdown 40 | 41 | , toggle: function (e) { 42 | var $this = $(this) 43 | , $parent 44 | , isActive 45 | 46 | if ($this.is('.disabled, :disabled')) return 47 | 48 | $parent = getParent($this) 49 | 50 | isActive = $parent.hasClass('open') 51 | 52 | clearMenus() 53 | 54 | if (!isActive) { 55 | if ('ontouchstart' in document.documentElement) { 56 | // if mobile we we use a backdrop because click events don't delegate 57 | $('