Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap-sass.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas McDonald <tom@conceptcoding.co.uk>2012-02-06 17:38:26 +0400
committerThomas McDonald <tom@conceptcoding.co.uk>2012-02-06 17:38:26 +0400
commit4ae4653ff6e272ff6f477aa9af0e5eeba11e4de7 (patch)
tree3c80522658cd4db2e04402cd28a32deac595fcf4
parent1e3fa24132af3178807dc3cdcc51360d5cc77dd3 (diff)
Update bootstrap-sass to 2.0.0v2.0.0
Now with support for Compass!
-rw-r--r--README.md71
-rw-r--r--bootstrap-sass.gemspec13
-rw-r--r--lib/bootstrap-sass.rb30
-rw-r--r--lib/bootstrap-sass/compass_extensions.rb10
-rw-r--r--lib/bootstrap-sass/config/sass_extentions.rb14
-rw-r--r--lib/bootstrap-sass/engine.rb9
-rw-r--r--templates/project/manifest.rb18
-rw-r--r--templates/project/styles.scss5
-rw-r--r--vendor/assets/images/glyphicons-halflings-white.pngbin0 -> 4352 bytes
-rw-r--r--vendor/assets/images/glyphicons-halflings.pngbin0 -> 4352 bytes
-rw-r--r--vendor/assets/javascripts/bootstrap-alert.js91
-rw-r--r--vendor/assets/javascripts/bootstrap-alerts.js124
-rw-r--r--vendor/assets/javascripts/bootstrap-button.js98
-rw-r--r--vendor/assets/javascripts/bootstrap-buttons.js64
-rw-r--r--vendor/assets/javascripts/bootstrap-carousel.js154
-rw-r--r--vendor/assets/javascripts/bootstrap-collapse.js136
-rw-r--r--vendor/assets/javascripts/bootstrap-dropdown.js79
-rw-r--r--vendor/assets/javascripts/bootstrap-modal.js177
-rw-r--r--vendor/assets/javascripts/bootstrap-popover.js71
-rw-r--r--vendor/assets/javascripts/bootstrap-scrollspy.js106
-rw-r--r--vendor/assets/javascripts/bootstrap-tab.js130
-rw-r--r--vendor/assets/javascripts/bootstrap-tabs.js80
-rw-r--r--vendor/assets/javascripts/bootstrap-tooltip.js270
-rw-r--r--vendor/assets/javascripts/bootstrap-transition.js51
-rw-r--r--vendor/assets/javascripts/bootstrap-twipsy.js321
-rw-r--r--vendor/assets/javascripts/bootstrap-typeahead.js271
-rw-r--r--vendor/assets/javascripts/bootstrap.js15
-rw-r--r--vendor/assets/stylesheets/_bootstrap-responsive.scss314
-rw-r--r--vendor/assets/stylesheets/_bootstrap.scss63
-rw-r--r--vendor/assets/stylesheets/bootstrap.css.scss25
-rw-r--r--vendor/assets/stylesheets/bootstrap/_accordion.scss28
-rw-r--r--vendor/assets/stylesheets/bootstrap/_alerts.scss62
-rw-r--r--vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss22
-rw-r--r--vendor/assets/stylesheets/bootstrap/_button-groups.scss136
-rw-r--r--vendor/assets/stylesheets/bootstrap/_buttons.scss149
-rw-r--r--vendor/assets/stylesheets/bootstrap/_carousel.scss116
-rw-r--r--vendor/assets/stylesheets/bootstrap/_close.scss18
-rw-r--r--vendor/assets/stylesheets/bootstrap/_code.scss43
-rw-r--r--vendor/assets/stylesheets/bootstrap/_component-animations.scss18
-rw-r--r--vendor/assets/stylesheets/bootstrap/_dropdowns.scss127
-rw-r--r--vendor/assets/stylesheets/bootstrap/_forms.scss458
-rw-r--r--vendor/assets/stylesheets/bootstrap/_grid.scss8
-rw-r--r--vendor/assets/stylesheets/bootstrap/_hero-unit.scss20
-rw-r--r--vendor/assets/stylesheets/bootstrap/_labels.scss16
-rw-r--r--vendor/assets/stylesheets/bootstrap/_layouts.scss17
-rw-r--r--vendor/assets/stylesheets/bootstrap/_mixins.scss479
-rw-r--r--vendor/assets/stylesheets/bootstrap/_modals.scss72
-rw-r--r--vendor/assets/stylesheets/bootstrap/_navbar.scss282
-rw-r--r--vendor/assets/stylesheets/bootstrap/_navs.scss320
-rw-r--r--vendor/assets/stylesheets/bootstrap/_pager.scss30
-rw-r--r--vendor/assets/stylesheets/bootstrap/_pagination.scss53
-rw-r--r--vendor/assets/stylesheets/bootstrap/_popovers.scss49
-rw-r--r--vendor/assets/stylesheets/bootstrap/_progress-bars.scss95
-rw-r--r--vendor/assets/stylesheets/bootstrap/_reset.scss105
-rw-r--r--vendor/assets/stylesheets/bootstrap/_scaffolding.scss29
-rw-r--r--vendor/assets/stylesheets/bootstrap/_sprites.scss156
-rw-r--r--vendor/assets/stylesheets/bootstrap/_tables.scss117
-rw-r--r--vendor/assets/stylesheets/bootstrap/_thumbnails.scss35
-rw-r--r--vendor/assets/stylesheets/bootstrap/_tooltip.scss35
-rw-r--r--vendor/assets/stylesheets/bootstrap/_type.scss209
-rw-r--r--vendor/assets/stylesheets/bootstrap/_utilities.scss23
-rw-r--r--vendor/assets/stylesheets/bootstrap/_variables.scss99
-rw-r--r--vendor/assets/stylesheets/bootstrap/_wells.scss17
-rw-r--r--vendor/assets/stylesheets/bootstrap/forms.css.scss427
-rw-r--r--vendor/assets/stylesheets/bootstrap/mixins.css.scss216
-rw-r--r--vendor/assets/stylesheets/bootstrap/patterns.css.scss994
-rw-r--r--vendor/assets/stylesheets/bootstrap/reset.css.scss142
-rw-r--r--vendor/assets/stylesheets/bootstrap/scaffolding.css.scss129
-rw-r--r--vendor/assets/stylesheets/bootstrap/tables.css.scss212
-rw-r--r--vendor/assets/stylesheets/bootstrap/type.css.scss186
-rw-r--r--vendor/assets/stylesheets/bootstrap/variables.css.scss51
71 files changed, 5387 insertions, 3223 deletions
diff --git a/README.md b/README.md
index 5079d25b..9c14099d 100644
--- a/README.md
+++ b/README.md
@@ -1,45 +1,78 @@
-# Bootstrap for Rails
+# Bootstrap for SASS
-`bootstrap-sass` is an SASS-powered version of [Twitter's Bootstrap](http://github.com/twitter/bootstrap), ready to drop right into your asset-pipeline powered Rails applications.
+`bootstrap-sass` is an SASS-powered version of [Twitter's Bootstrap](http://github.com/twitter/bootstrap), ready to drop right into your SASS powered applications.
Enjoy.
## Usage
-In your gemfile:
+### Rails
- gem 'bootstrap-sass', '~> 1.4.4'
+In your Gemfile:
-### CSS
+ gem 'sass-rails', '~> 3.1'
+ gem 'bootstrap-sass', '~> 2.0.0'
-In your SCSS file of choice:
+**Note**: previous versions of bootstrap-sass automatically required sass-rails. This is no longer the case, and you will *need* to require it in your Gemfile.
- @import "bootstrap"; /* Use this to get all of Bootstrap's @mixins and $variables */
+#### CSS
-Want to configure a variable? Thanks to bernado, this is now awesome *and* easy! Just define the variables you want to change *before* importing Bootstrap. SASS will respect your existing definition and won't overwrite it with the Bootstrap defaults.
+Import "bootstrap" in your SCSS file of choice to get all of Bootstrap's styles, mixins and variables! Don't use Sproket's `//= require` directives for SASS files, because they're horrible and will kill your cat.
- $gridColumns: 12;
- $gridColumnWidth: 60px;
- $gridGutterWidth: 20px;
@import "bootstrap";
-### Javascript
+Need to configure a variable or two? Simple define the value of the variable you want to change *before* importing Bootstrap. SASS will be awesome and respect your existing definition rather than overwriting it with the Bootstrap defaults. A list of customisable variables can be found in the [Bootstrap documentation](http://twitter.github.com/bootstrap/less.html#variables).
-In your Javascript manifest:
+ $primaryButtonBackground: #f00;
+ @import "bootstrap";
+
+#### Javascripts
+
+You can include the Bootstrap javascripts through two methods. In this case, Sproket's `//= require` directives are useful and will not cause feline death.
+
+We have a helper that includes all available javascripts:
// Loads all Bootstrap javascripts
//= require bootstrap
-
- // Alternatively, you can load individual modules
+
+You can also load individual modules, provided you sort out any related dependencies.
+
//= require bootstrap-scrollspy
//= require bootstrap-modal
//= require bootstrap-dropdown
Simples.
-## Versioning
-We try to stick to Bootstrap versioning wherever possible. The major and minor version numbers will always represent the Twitter Bootstrap version, but no guarantees are made for the tiny version number, since waiting for Bootstrap to update so I can push out a fix sucks.
+### Compass
+
+`bootstrap-sass` 2.0 now comes with support for Compass, meaning projects that don't use Rails can get in on the fun Bootstrap web.
+
+#### New project
+
+Install the gem and create a new project using the gem.
+
+ gem install bootstrap-sass
+ compass create compass-test -r bootstrap-sass --using bootstrap
+
+This will sort a few things out:
+
+* You'll get a starting `styles.scss` ready for your alterations
+* You'll get a compiled stylesheet compiled & ready to drop into your application
+* We'll also copy the Bootstrap javascripts & images into their respective folders for you, absolutely free of charge! How cool is that?
+
+#### Existing project
+
+Install the gem, add the require statement to the top of your configuration file, and install the extension.
+
+ gem install bootstrap-sass
+
+ # In config.rb
+ require 'bootstrap-sass'
+
+ compass install bootstrap
+
+You'll get the same benefits as those starting from scratch. Radical.
-## Branches
-Master will usually represent the latest release of `bootstrap-sass`. Other branches contain experimental code, or are a relatively close mirror of other Bootstrap branches.
+----
+As per the Bootstrap project we don't include the responsive styles by default. `@import "bootstrap-responsive";` to get them.
diff --git a/bootstrap-sass.gemspec b/bootstrap-sass.gemspec
index 52837525..e76d1689 100644
--- a/bootstrap-sass.gemspec
+++ b/bootstrap-sass.gemspec
@@ -1,18 +1,13 @@
Gem::Specification.new do |s|
s.name = "bootstrap-sass"
- s.version = '1.4.4'
+ s.version = '2.0.0'
s.authors = ["Thomas McDonald"]
s.email = 'tom@conceptcoding.co.uk'
s.summary = "Twitter's Bootstrap, converted to SASS and ready to drop into Rails"
s.homepage = "http://github.com/thomas-mcdonald/bootstrap-sass"
- s.add_dependency 'sass-rails', '~> 3.1'
+ s.add_development_dependency 'compass'
+ s.add_development_dependency 'sass-rails', '~> 3.1'
- s.files = Dir["vendor/**/*.css.scss"] + Dir["vendor/**/*.js"] + [
- "README.md",
- "LICENSE",
- "lib/bootstrap-sass.rb",
- "lib/bootstrap-sass/config/sass-ie_hex_str.rb"
- ]
+ s.files = Dir["vendor/**/*.{scss,js,png}"] + Dir["lib/**/*"] + Dir["templates/**/*"] + ["README.md", "LICENSE"]
end
-
diff --git a/lib/bootstrap-sass.rb b/lib/bootstrap-sass.rb
index f490f020..af202329 100644
--- a/lib/bootstrap-sass.rb
+++ b/lib/bootstrap-sass.rb
@@ -1,12 +1,30 @@
-require 'sass-rails'
-
module Bootstrap
- module Rails
- class Engine < ::Rails::Engine
- # Rails, will you please look in our vendor? kthx
+ class FrameworkNotFound < StandardError; end
- paths["config/initializers"] << 'lib/bootstrap-sass/config'
+ # Inspired by Kaminari
+ def self.load!
+ if rails?
+ require 'sass-rails' # See: https://github.com/thomas-mcdonald/bootstrap-sass/pull/4
+ require 'bootstrap-sass/engine'
+ elsif compass?
+ require 'bootstrap-sass/compass_extensions'
+ base = File.join(File.dirname(__FILE__), '..')
+ styles = File.join(base, 'vendor', 'assets', 'stylesheets')
+ templates = File.join(base, 'templates')
+ ::Compass::Frameworks.register('bootstrap', :stylesheets_directory => styles, :templates_directory => templates)
+ else
+ raise Bootstrap::FrameworkNotFound, "bootstrap-sass requires either Rails or Compass, neither of which are loaded"
end
end
+
+ private
+ def self.rails?
+ defined?(::Rails)
+ end
+
+ def self.compass?
+ defined?(::Compass)
+ end
end
+Bootstrap.load!
diff --git a/lib/bootstrap-sass/compass_extensions.rb b/lib/bootstrap-sass/compass_extensions.rb
new file mode 100644
index 00000000..a579b8d0
--- /dev/null
+++ b/lib/bootstrap-sass/compass_extensions.rb
@@ -0,0 +1,10 @@
+# This contains functions for use with a project *only* using Compass.
+
+module Sass::Script::Functions
+ # Define asset_url for Compass to allow use of sprites.
+ def asset_url(asset, type)
+ asset_sans_quotes = asset.value.gsub('"', '')
+ path = Sass::Script::String.new("/#{type}s/#{asset_sans_quotes}", :string)
+ Sass::Script::String.new("url(#{path})")
+ end
+end \ No newline at end of file
diff --git a/lib/bootstrap-sass/config/sass_extentions.rb b/lib/bootstrap-sass/config/sass_extentions.rb
new file mode 100644
index 00000000..51bb904f
--- /dev/null
+++ b/lib/bootstrap-sass/config/sass_extentions.rb
@@ -0,0 +1,14 @@
+require 'sass'
+
+module Sass::Script::Functions
+ # LARS: Snatched from compass - 2011-11-29 - used for gradients in IE6-9
+ # returns an IE hex string for a color with an alpha channel
+ # suitable for passing to IE filters.
+ def ie_hex_str(color)
+ assert_type color, :Color
+ alpha = (color.alpha * 255).round
+ alphastr = alpha.to_s(16).rjust(2, '0')
+ Sass::Script::String.new("##{alphastr}#{color.send(:hex_str)[1..-1]}".upcase)
+ end
+ declare :ie_hex_str, [:color]
+end \ No newline at end of file
diff --git a/lib/bootstrap-sass/engine.rb b/lib/bootstrap-sass/engine.rb
new file mode 100644
index 00000000..27c3e92e
--- /dev/null
+++ b/lib/bootstrap-sass/engine.rb
@@ -0,0 +1,9 @@
+module Bootstrap
+ module Rails
+ class Engine < ::Rails::Engine
+ # Rails, will you please look in our vendor? kthx
+ # also add our initializer.
+ paths["config/initializers"] << 'lib/bootstrap-sass/config'
+ end
+ end
+end \ No newline at end of file
diff --git a/templates/project/manifest.rb b/templates/project/manifest.rb
new file mode 100644
index 00000000..32095d8b
--- /dev/null
+++ b/templates/project/manifest.rb
@@ -0,0 +1,18 @@
+description "Bootstrap for SASS"
+
+# Stylesheet importing bootstrap
+stylesheet 'styles.scss'
+
+#
+# Other Bootstrap assets
+basedir = '../../vendor/assets'
+
+# Glyphicons sprites
+%w(glyphicons-halflings glyphicons-halflings-white).each do |file|
+ image "#{basedir}/images/#{file}.png", :to => "#{file}.png"
+end
+
+# Javascripts
+%w(alert button carousel collapse dropdown modal popover scrollspy tab tooltip transition typeahead).each do |file|
+ javascript "#{basedir}/javascripts/bootstrap-#{file}.js", :to => "bootstrap-#{file}.js"
+end \ No newline at end of file
diff --git a/templates/project/styles.scss b/templates/project/styles.scss
new file mode 100644
index 00000000..d055aeba
--- /dev/null
+++ b/templates/project/styles.scss
@@ -0,0 +1,5 @@
+// I gather this file is a starting point for the project.
+@import "bootstrap";
+
+// Include responsive Bootstrap styles
+// @import "bootstrap-responsive"; \ No newline at end of file
diff --git a/vendor/assets/images/glyphicons-halflings-white.png b/vendor/assets/images/glyphicons-halflings-white.png
new file mode 100644
index 00000000..a20760bf
--- /dev/null
+++ b/vendor/assets/images/glyphicons-halflings-white.png
Binary files differ
diff --git a/vendor/assets/images/glyphicons-halflings.png b/vendor/assets/images/glyphicons-halflings.png
new file mode 100644
index 00000000..92d4445d
--- /dev/null
+++ b/vendor/assets/images/glyphicons-halflings.png
Binary files differ
diff --git a/vendor/assets/javascripts/bootstrap-alert.js b/vendor/assets/javascripts/bootstrap-alert.js
new file mode 100644
index 00000000..09451711
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-alert.js
@@ -0,0 +1,91 @@
+/* ==========================================================
+ * bootstrap-alert.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* ALERT CLASS DEFINITION
+ * ====================== */
+
+ var dismiss = '[data-dismiss="alert"]'
+ , Alert = function ( el ) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.prototype = {
+
+ constructor: Alert
+
+ , close: function ( e ) {
+ var $this = $(this)
+ , selector = $this.attr('data-target')
+ , $parent
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ $parent = $(selector)
+ $parent.trigger('close')
+
+ e && e.preventDefault()
+
+ $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ $parent.remove()
+ $parent.trigger('closed')
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent.on($.support.transition.end, removeElement) :
+ removeElement()
+ }
+
+ }
+
+
+ /* ALERT PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.alert = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('alert')
+ if (!data) $this.data('alert', (data = new Alert(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.alert.Constructor = Alert
+
+
+ /* ALERT DATA-API
+ * ============== */
+
+ $(function () {
+ $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-alerts.js b/vendor/assets/javascripts/bootstrap-alerts.js
deleted file mode 100644
index fbbdc4f9..00000000
--- a/vendor/assets/javascripts/bootstrap-alerts.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/* ==========================================================
- * bootstrap-alerts.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#alerts
- * ==========================================================
- * Copyright 2011 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function( $ ){
-
- "use strict"
-
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(document).ready(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
- /* ALERT CLASS DEFINITION
- * ====================== */
-
- var Alert = function ( content, options ) {
- if (options == 'close') return this.close.call(content)
- this.settings = $.extend({}, $.fn.alert.defaults, options)
- this.$element = $(content)
- .delegate(this.settings.selector, 'click', this.close)
- }
-
- Alert.prototype = {
-
- close: function (e) {
- var $element = $(this)
- , className = 'alert-message'
-
- $element = $element.hasClass(className) ? $element : $element.parent()
-
- e && e.preventDefault()
- $element.removeClass('in')
-
- function removeElement () {
- $element.remove()
- }
-
- $.support.transition && $element.hasClass('fade') ?
- $element.bind(transitionEnd, removeElement) :
- removeElement()
- }
-
- }
-
-
- /* ALERT PLUGIN DEFINITION
- * ======================= */
-
- $.fn.alert = function ( options ) {
-
- if ( options === true ) {
- return this.data('alert')
- }
-
- return this.each(function () {
- var $this = $(this)
- , data
-
- if ( typeof options == 'string' ) {
-
- data = $this.data('alert')
-
- if (typeof data == 'object') {
- return data[options].call( $this )
- }
-
- }
-
- $(this).data('alert', new Alert( this, options ))
-
- })
- }
-
- $.fn.alert.defaults = {
- selector: '.close'
- }
-
- $(document).ready(function () {
- new Alert($('body'), {
- selector: '.alert-message[data-alert] .close'
- })
- })
-
-}( window.jQuery || window.ender );
diff --git a/vendor/assets/javascripts/bootstrap-button.js b/vendor/assets/javascripts/bootstrap-button.js
new file mode 100644
index 00000000..2461ffec
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-button.js
@@ -0,0 +1,98 @@
+/* ============================================================
+ * bootstrap-button.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+ * ============================== */
+
+ var Button = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.button.defaults, options)
+ }
+
+ Button.prototype = {
+
+ constructor: Button
+
+ , setState: function ( state ) {
+ var d = 'disabled'
+ , $el = this.$element
+ , data = $el.data()
+ , val = $el.is('input') ? 'val' : 'html'
+
+ state = state + 'Text'
+ data.resetText || $el.data('resetText', $el[val]())
+
+ $el[val](data[state] || this.options[state])
+
+ // push to event loop to allow forms to submit
+ setTimeout(function () {
+ state == 'loadingText' ?
+ $el.addClass(d).attr(d, d) :
+ $el.removeClass(d).removeAttr(d)
+ }, 0)
+ }
+
+ , toggle: function () {
+ var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+
+ $parent && $parent
+ .find('.active')
+ .removeClass('active')
+
+ this.$element.toggleClass('active')
+ }
+
+ }
+
+
+ /* BUTTON PLUGIN DEFINITION
+ * ======================== */
+
+ $.fn.button = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('button')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('button', (data = new Button(this, options)))
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ $.fn.button.defaults = {
+ loadingText: 'loading...'
+ }
+
+ $.fn.button.Constructor = Button
+
+
+ /* BUTTON DATA-API
+ * =============== */
+
+ $(function () {
+ $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
+ $(e.target).button('toggle')
+ })
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-buttons.js b/vendor/assets/javascripts/bootstrap-buttons.js
deleted file mode 100644
index 4a3853a7..00000000
--- a/vendor/assets/javascripts/bootstrap-buttons.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/* ============================================================
- * bootstrap-buttons.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#buttons
- * ============================================================
- * Copyright 2011 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-!function( $ ){
-
- "use strict"
-
- function setState(el, state) {
- var d = 'disabled'
- , $el = $(el)
- , data = $el.data()
-
- state = state + 'Text'
- data.resetText || $el.data('resetText', $el.html())
-
- $el.html( data[state] || $.fn.button.defaults[state] )
-
- setTimeout(function () {
- state == 'loadingText' ?
- $el.addClass(d).attr(d, d) :
- $el.removeClass(d).removeAttr(d)
- }, 0)
- }
-
- function toggle(el) {
- $(el).toggleClass('active')
- }
-
- $.fn.button = function(options) {
- return this.each(function () {
- if (options == 'toggle') {
- return toggle(this)
- }
- options && setState(this, options)
- })
- }
-
- $.fn.button.defaults = {
- loadingText: 'loading...'
- }
-
- $(function () {
- $('body').delegate('.btn[data-toggle]', 'click', function () {
- $(this).button('toggle')
- })
- })
-
-}( window.jQuery || window.ender );
diff --git a/vendor/assets/javascripts/bootstrap-carousel.js b/vendor/assets/javascripts/bootstrap-carousel.js
new file mode 100644
index 00000000..2c8c6dc5
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-carousel.js
@@ -0,0 +1,154 @@
+/* ==========================================================
+ * bootstrap-carousel.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* CAROUSEL CLASS DEFINITION
+ * ========================= */
+
+ var Carousel = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.carousel.defaults, options)
+ this.options.slide && this.slide(this.options.slide)
+ }
+
+ Carousel.prototype = {
+
+ cycle: function () {
+ this.interval = setInterval($.proxy(this.next, this), this.options.interval)
+ return this
+ }
+
+ , to: function (pos) {
+ var $active = this.$element.find('.active')
+ , children = $active.parent().children()
+ , activePos = children.index($active)
+ , that = this
+
+ if (pos > (children.length - 1) || pos < 0) return
+
+ if (this.sliding) {
+ return this.$element.one('slid', function () {
+ that.to(pos)
+ })
+ }
+
+ if (activePos == pos) {
+ return this.pause().cycle()
+ }
+
+ return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
+ }
+
+ , pause: function () {
+ clearInterval(this.interval)
+ return this
+ }
+
+ , next: function () {
+ if (this.sliding) return
+ return this.slide('next')
+ }
+
+ , prev: function () {
+ if (this.sliding) return
+ return this.slide('prev')
+ }
+
+ , slide: function (type, next) {
+ var $active = this.$element.find('.active')
+ , $next = next || $active[type]()
+ , isCycling = this.interval
+ , direction = type == 'next' ? 'left' : 'right'
+ , fallback = type == 'next' ? 'first' : 'last'
+ , that = this
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+ if (!$.support.transition && this.$element.hasClass('slide')) {
+ this.$element.trigger('slide')
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger('slid')
+ } else {
+ $next.addClass(type)
+ $next[0].offsetWidth // force reflow
+ $active.addClass(direction)
+ $next.addClass(direction)
+ this.$element.trigger('slide')
+ this.$element.one($.support.transition.end, function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () { that.$element.trigger('slid') }, 0)
+ })
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+ }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+ * ========================== */
+
+ $.fn.carousel = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('carousel')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+ if (typeof option == 'number') data.to(option)
+ else if (typeof option == 'string' || (option = options.slide)) data[option]()
+ else data.cycle()
+ })
+ }
+
+ $.fn.carousel.defaults = {
+ interval: 5000
+ }
+
+ $.fn.carousel.Constructor = Carousel
+
+
+ /* CAROUSEL DATA-API
+ * ================= */
+
+ $(function () {
+ $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
+ var $this = $(this), href
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
+ $target.carousel(options)
+ e.preventDefault()
+ })
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-collapse.js b/vendor/assets/javascripts/bootstrap-collapse.js
new file mode 100644
index 00000000..56cfd8e1
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-collapse.js
@@ -0,0 +1,136 @@
+/* =============================================================
+ * bootstrap-collapse.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ var Collapse = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+ if (this.options["parent"]) {
+ this.$parent = $(this.options["parent"])
+ }
+
+ this.options.toggle && this.toggle()
+ }
+
+ Collapse.prototype = {
+
+ constructor: Collapse
+
+ , dimension: function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ , show: function () {
+ var dimension = this.dimension()
+ , scroll = $.camelCase(['scroll', dimension].join('-'))
+ , actives = this.$parent && this.$parent.find('.in')
+ , hasData
+
+ if (actives && actives.length) {
+ hasData = actives.data('collapse')
+ actives.collapse('hide')
+ hasData || actives.data('collapse', null)
+ }
+
+ this.$element[dimension](0)
+ this.transition('addClass', 'show', 'shown')
+ this.$element[dimension](this.$element[0][scroll])
+
+ }
+
+ , hide: function () {
+ var dimension = this.dimension()
+ this.reset(this.$element[dimension]())
+ this.transition('removeClass', 'hide', 'hidden')
+ this.$element[dimension](0)
+ }
+
+ , reset: function ( size ) {
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ [dimension](size || 'auto')
+ [0].offsetWidth
+
+ this.$element.addClass('collapse')
+ }
+
+ , transition: function ( method, startEvent, completeEvent ) {
+ var that = this
+ , complete = function () {
+ if (startEvent == 'show') that.reset()
+ that.$element.trigger(completeEvent)
+ }
+
+ this.$element
+ .trigger(startEvent)
+ [method]('in')
+
+ $.support.transition && this.$element.hasClass('collapse') ?
+ this.$element.one($.support.transition.end, complete) :
+ complete()
+ }
+
+ , toggle: function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
+ * ============================== */
+
+ $.fn.collapse = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('collapse')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.collapse.defaults = {
+ toggle: true
+ }
+
+ $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+ * ==================== */
+
+ $(function () {
+ $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
+ var $this = $(this), href
+ , target = $this.attr('data-target')
+ || e.preventDefault()
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
+ $(target).collapse(option)
+ })
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-dropdown.js b/vendor/assets/javascripts/bootstrap-dropdown.js
index fda6da59..ed17e92b 100644
--- a/vendor/assets/javascripts/bootstrap-dropdown.js
+++ b/vendor/assets/javascripts/bootstrap-dropdown.js
@@ -1,8 +1,8 @@
/* ============================================================
- * bootstrap-dropdown.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#dropdown
+ * bootstrap-dropdown.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
- * Copyright 2011 Twitter, Inc.
+ * Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,34 +22,71 @@
"use strict"
+ /* DROPDOWN CLASS DEFINITION
+ * ========================= */
+
+ var toggle = '[data-toggle="dropdown"]'
+ , Dropdown = function ( element ) {
+ var $el = $(element).on('click.dropdown.data-api', this.toggle)
+ $('html').on('click.dropdown.data-api', function () {
+ $el.parent().removeClass('open')
+ })
+ }
+
+ Dropdown.prototype = {
+
+ constructor: Dropdown
+
+ , toggle: function ( e ) {
+ var $this = $(this)
+ , selector = $this.attr('data-target')
+ , $parent
+ , isActive
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ $parent = $(selector)
+ $parent.length || ($parent = $this.parent())
+
+ isActive = $parent.hasClass('open')
+
+ clearMenus()
+ !isActive && $parent.toggleClass('open')
+
+ return false
+ }
+
+ }
+
+ function clearMenus() {
+ $(toggle).parent().removeClass('open')
+ }
+
+
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
- $.fn.dropdown = function ( selector ) {
+ $.fn.dropdown = function ( option ) {
return this.each(function () {
- $(this).delegate(selector || d, 'click', function (e) {
- var li = $(this).parent('li')
- , isActive = li.hasClass('open')
-
- clearMenus()
- !isActive && li.toggleClass('open')
- return false
- })
+ var $this = $(this)
+ , data = $this.data('dropdown')
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
})
}
- /* APPLY TO STANDARD DROPDOWN ELEMENTS
- * =================================== */
+ $.fn.dropdown.Constructor = Dropdown
- var d = 'a.menu, .dropdown-toggle'
- function clearMenus() {
- $(d).parent('li').removeClass('open')
- }
+ /* APPLY TO STANDARD DROPDOWN ELEMENTS
+ * =================================== */
$(function () {
- $('html').bind("click", clearMenus)
- $('body').dropdown( '[data-dropdown] a.menu, [data-dropdown] .dropdown-toggle' )
+ $('html').on('click.dropdown.data-api', clearMenus)
+ $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
})
-}( window.jQuery || window.ender );
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-modal.js b/vendor/assets/javascripts/bootstrap-modal.js
index b328217f..bac0dee1 100644
--- a/vendor/assets/javascripts/bootstrap-modal.js
+++ b/vendor/assets/javascripts/bootstrap-modal.js
@@ -1,8 +1,8 @@
/* =========================================================
- * bootstrap-modal.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#modal
+ * bootstrap-modal.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#modals
* =========================================================
- * Copyright 2011 Twitter, Inc.
+ * Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,58 +22,30 @@
"use strict"
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(document).ready(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
-
- /* MODAL PUBLIC CLASS DEFINITION
- * ============================= */
+ /* MODAL CLASS DEFINITION
+ * ====================== */
var Modal = function ( content, options ) {
- this.settings = $.extend({}, $.fn.modal.defaults, options)
+ this.options = $.extend({}, $.fn.modal.defaults, options)
this.$element = $(content)
- .delegate('.close', 'click.modal', $.proxy(this.hide, this))
-
- if ( this.settings.show ) {
- this.show()
- }
-
- return this
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
}
Modal.prototype = {
- toggle: function () {
+ constructor: Modal
+
+ , toggle: function () {
return this[!this.isShown ? 'show' : 'hide']()
}
, show: function () {
var that = this
+
+ if (this.isShown) return
+
+ $('body').addClass('modal-open')
+
this.isShown = true
this.$element.trigger('show')
@@ -81,8 +53,9 @@
backdrop.call(this, function () {
var transition = $.support.transition && that.$element.hasClass('fade')
+ !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
+
that.$element
- .appendTo(document.body)
.show()
if (transition) {
@@ -92,24 +65,22 @@
that.$element.addClass('in')
transition ?
- that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
+ that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
that.$element.trigger('shown')
})
-
- return this
}
- , hide: function (e) {
+ , hide: function ( e ) {
e && e.preventDefault()
- if ( !this.isShown ) {
- return this
- }
+ if (!this.isShown) return
var that = this
this.isShown = false
+ $('body').removeClass('modal-open')
+
escape.call(this)
this.$element
@@ -119,8 +90,6 @@
$.support.transition && this.$element.hasClass('fade') ?
hideWithTransition.call(this) :
hideModal.call(this)
-
- return this
}
}
@@ -130,20 +99,19 @@
* ===================== */
function hideWithTransition() {
- // firefox drops transitionEnd events :{o
var that = this
, timeout = setTimeout(function () {
- that.$element.unbind(transitionEnd)
+ that.$element.off($.support.transition.end)
hideModal.call(that)
}, 500)
- this.$element.one(transitionEnd, function () {
+ this.$element.one($.support.transition.end, function () {
clearTimeout(timeout)
hideModal.call(that)
})
}
- function hideModal (that) {
+ function hideModal( that ) {
this.$element
.hide()
.trigger('hidden')
@@ -151,38 +119,37 @@
backdrop.call(this)
}
- function backdrop ( callback ) {
+ function backdrop( callback ) {
var that = this
, animate = this.$element.hasClass('fade') ? 'fade' : ''
- if ( this.isShown && this.settings.backdrop ) {
+
+ if (this.isShown && this.options.backdrop) {
var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body)
- if ( this.settings.backdrop != 'static' ) {
+ if (this.options.backdrop != 'static') {
this.$backdrop.click($.proxy(this.hide, this))
}
- if ( doAnimate ) {
- this.$backdrop[0].offsetWidth // force reflow
- }
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
this.$backdrop.addClass('in')
doAnimate ?
- this.$backdrop.one(transitionEnd, callback) :
+ this.$backdrop.one($.support.transition.end, callback) :
callback()
- } else if ( !this.isShown && this.$backdrop ) {
+ } else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade')?
- this.$backdrop.one(transitionEnd, $.proxy(removeBackdrop, this)) :
+ this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
removeBackdrop.call(this)
- } else if ( callback ) {
- callback()
+ } else if (callback) {
+ callback()
}
}
@@ -193,14 +160,12 @@
function escape() {
var that = this
- if ( this.isShown && this.settings.keyboard ) {
- $(document).bind('keyup.modal', function ( e ) {
- if ( e.which == 27 ) {
- that.hide()
- }
+ if (this.isShown && this.options.keyboard) {
+ $(document).on('keyup.dismiss.modal', function ( e ) {
+ e.which == 27 && that.hide()
})
- } else if ( !this.isShown ) {
- $(document).unbind('keyup.modal')
+ } else if (!this.isShown) {
+ $(document).off('keyup.dismiss.modal')
}
}
@@ -208,53 +173,37 @@
/* MODAL PLUGIN DEFINITION
* ======================= */
- $.fn.modal = function ( options ) {
- var modal = this.data('modal')
-
- if (!modal) {
-
- if (typeof options == 'string') {
- options = {
- show: /show|toggle/.test(options)
- }
- }
-
- return this.each(function () {
- $(this).data('modal', new Modal(this, options))
- })
- }
-
- if ( options === true ) {
- return modal
- }
-
- if ( typeof options == 'string' ) {
- modal[options]()
- } else if ( modal ) {
- modal.toggle()
- }
-
- return this
+ $.fn.modal = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('modal')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option]()
+ else data.show()
+ })
}
- $.fn.modal.Modal = Modal
-
$.fn.modal.defaults = {
- backdrop: false
- , keyboard: false
- , show: false
+ backdrop: true
+ , keyboard: true
}
+ $.fn.modal.Constructor = Modal
+
+
+ /* MODAL DATA-API
+ * ============== */
- /* MODAL DATA- IMPLEMENTATION
- * ========================== */
+ $(function () {
+ $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
+ var $this = $(this), href
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
- $(document).ready(function () {
- $('body').delegate('[data-controls-modal]', 'click', function (e) {
e.preventDefault()
- var $this = $(this).data('show', true)
- $('#' + $this.attr('data-controls-modal')).modal( $this.data() )
+ $target.modal(option)
})
})
-}( window.jQuery || window.ender );
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-popover.js b/vendor/assets/javascripts/bootstrap-popover.js
index 39fb575b..49520a80 100644
--- a/vendor/assets/javascripts/bootstrap-popover.js
+++ b/vendor/assets/javascripts/bootstrap-popover.js
@@ -1,8 +1,8 @@
/* ===========================================================
- * bootstrap-popover.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#popover
+ * bootstrap-popover.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
- * Copyright 2011 Twitter, Inc.
+ * Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,22 +23,25 @@
"use strict"
var Popover = function ( element, options ) {
- this.$element = $(element)
- this.options = options
- this.enabled = true
- this.fixTitle()
+ this.init('popover', element, options)
}
- /* NOTE: POPOVER EXTENDS BOOTSTRAP-TWIPSY.js
- ========================================= */
+ /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+ ========================================== */
- Popover.prototype = $.extend({}, $.fn.twipsy.Twipsy.prototype, {
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
- setContent: function () {
+ constructor: Popover
+
+ , setContent: function () {
var $tip = this.tip()
- $tip.find('.title')[this.options.html ? 'html' : 'text'](this.getTitle())
- $tip.find('.content > *')[this.options.html ? 'html' : 'text'](this.getContent())
- $tip[0].className = 'popover'
+ , title = this.getTitle()
+ , content = this.getContent()
+
+ $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
+ $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+
+ $tip.removeClass('fade top bottom left right in')
}
, hasContent: function () {
@@ -47,22 +50,20 @@
, getContent: function () {
var content
- , $e = this.$element
- , o = this.options
+ , $e = this.$element
+ , o = this.options
- if (typeof this.options.content == 'string') {
- content = $e.attr(this.options.content)
- } else if (typeof this.options.content == 'function') {
- content = this.options.content.call(this.$element[0])
- }
+ content = $e.attr('data-content')
+ || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
+
+ content = content.toString().replace(/(^\s*|\s*$)/, "")
return content
}
, tip: function() {
if (!this.$tip) {
- this.$tip = $('<div class="popover" />')
- .html(this.options.template)
+ this.$tip = $(this.options.template)
}
return this.$tip
}
@@ -73,18 +74,22 @@
/* POPOVER PLUGIN DEFINITION
* ======================= */
- $.fn.popover = function (options) {
- if (typeof options == 'object') options = $.extend({}, $.fn.popover.defaults, options)
- $.fn.twipsy.initWith.call(this, options, Popover, 'popover')
- return this
+ $.fn.popover = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('popover')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
}
- $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
+ $.fn.popover.Constructor = Popover
+
+ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
placement: 'right'
- , content: 'data-content'
- , template: '<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>'
+ , content: ''
+ , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
})
- $.fn.twipsy.rejectAttrOptions.push( 'content' )
-
-}( window.jQuery || window.ender );
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-scrollspy.js b/vendor/assets/javascripts/bootstrap-scrollspy.js
index 29f7dd57..28f84089 100644
--- a/vendor/assets/javascripts/bootstrap-scrollspy.js
+++ b/vendor/assets/javascripts/bootstrap-scrollspy.js
@@ -1,8 +1,8 @@
/* =============================================================
- * bootstrap-scrollspy.js v1.4.0
+ * bootstrap-scrollspy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
- * Copyright 2011 Twitter, Inc.
+ * Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,38 +17,46 @@
* limitations under the License.
* ============================================================== */
-
!function ( $ ) {
"use strict"
- var $window = $(window)
-
- function ScrollSpy( topbar, selector ) {
- var processScroll = $.proxy(this.processScroll, this)
- this.$topbar = $(topbar)
- this.selector = selector || 'li > a'
+ /* SCROLLSPY CLASS DEFINITION
+ * ========================== */
+
+ function ScrollSpy( element, options) {
+ var process = $.proxy(this.process, this)
+ , $element = $(element).is('body') ? $(window) : $(element)
+ , href
+ this.options = $.extend({}, $.fn.scrollspy.defaults, options)
+ this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+ this.selector = (this.options.target
+ || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ || '') + ' .nav li > a'
+ this.$body = $('body').on('click.scroll.data-api', this.selector, process)
this.refresh()
- this.$topbar.delegate(this.selector, 'click', processScroll)
- $window.scroll(processScroll)
- this.processScroll()
+ this.process()
}
ScrollSpy.prototype = {
- refresh: function () {
- this.targets = this.$topbar.find(this.selector).map(function () {
- var href = $(this).attr('href')
- return /^#\w/.test(href) && $(href).length ? href : null
- })
+ constructor: ScrollSpy
+
+ , refresh: function () {
+ this.targets = this.$body
+ .find(this.selector)
+ .map(function () {
+ var href = $(this).attr('href')
+ return /^#\w/.test(href) && $(href).length ? href : null
+ })
this.offsets = $.map(this.targets, function (id) {
- return $(id).offset().top
+ return $(id).position().top
})
}
- , processScroll: function () {
- var scrollTop = $window.scrollTop() + 10
+ , process: function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
, offsets = this.offsets
, targets = this.targets
, activeTarget = this.activeTarget
@@ -58,50 +66,60 @@
activeTarget != targets[i]
&& scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
- && this.activateButton( targets[i] )
+ && this.activate( targets[i] )
}
}
- , activateButton: function (target) {
+ , activate: function (target) {
+ var active
+
this.activeTarget = target
- this.$topbar
+ this.$body
.find(this.selector).parent('.active')
.removeClass('active')
- this.$topbar
+ active = this.$body
.find(this.selector + '[href="' + target + '"]')
.parent('li')
.addClass('active')
+
+ if ( active.parent('.dropdown-menu') ) {
+ active.closest('li.dropdown').addClass('active')
+ }
}
}
- /* SCROLLSPY PLUGIN DEFINITION
- * =========================== */
-
- $.fn.scrollSpy = function( options ) {
- var scrollspy = this.data('scrollspy')
- if (!scrollspy) {
- return this.each(function () {
- $(this).data('scrollspy', new ScrollSpy( this, options ))
- })
- }
+ /* SCROLLSPY PLUGIN DEFINITION
+ * =========================== */
- if ( options === true ) {
- return scrollspy
- }
+ $.fn.scrollspy = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('scrollspy')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
- if ( typeof options == 'string' ) {
- scrollspy[options]()
- }
+ $.fn.scrollspy.Constructor = ScrollSpy
- return this
+ $.fn.scrollspy.defaults = {
+ offset: 10
}
- $(document).ready(function () {
- $('body').scrollSpy('[data-scrollspy] li > a')
+
+ /* SCROLLSPY DATA-API
+ * ================== */
+
+ $(function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ $spy.scrollspy($spy.data())
+ })
})
-}( window.jQuery || window.ender );
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-tab.js b/vendor/assets/javascripts/bootstrap-tab.js
new file mode 100644
index 00000000..1397ca8a
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-tab.js
@@ -0,0 +1,130 @@
+/* ========================================================
+ * bootstrap-tab.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* TAB CLASS DEFINITION
+ * ==================== */
+
+ var Tab = function ( element ) {
+ this.element = $(element)
+ }
+
+ Tab.prototype = {
+
+ constructor: Tab
+
+ , show: function () {
+ var $this = this.element
+ , $ul = $this.closest('ul:not(.dropdown-menu)')
+ , selector = $this.attr('data-target')
+ , previous
+ , $target
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ if ( $this.parent('li').hasClass('active') ) return
+
+ previous = $ul.find('.active a').last()[0]
+
+ $this.trigger({
+ type: 'show'
+ , relatedTarget: previous
+ })
+
+ $target = $(selector)
+
+ this.activate($this.parent('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $this.trigger({
+ type: 'shown'
+ , relatedTarget: previous
+ })
+ })
+ }
+
+ , activate: function ( element, container, callback) {
+ var $active = container.find('> .active')
+ , transition = callback
+ && $.support.transition
+ && $active.hasClass('fade')
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+
+ element.addClass('active')
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if ( element.parent('.dropdown-menu') ) {
+ element.closest('li.dropdown').addClass('active')
+ }
+
+ callback && callback()
+ }
+
+ transition ?
+ $active.one($.support.transition.end, next) :
+ next()
+
+ $active.removeClass('in')
+ }
+ }
+
+
+ /* TAB PLUGIN DEFINITION
+ * ===================== */
+
+ $.fn.tab = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tab')
+ if (!data) $this.data('tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tab.Constructor = Tab
+
+
+ /* TAB DATA-API
+ * ============ */
+
+ $(function () {
+ $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+ e.preventDefault()
+ $(this).tab('show')
+ })
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-tabs.js b/vendor/assets/javascripts/bootstrap-tabs.js
deleted file mode 100644
index a3c7ee14..00000000
--- a/vendor/assets/javascripts/bootstrap-tabs.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/* ========================================================
- * bootstrap-tabs.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#tabs
- * ========================================================
- * Copyright 2011 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================== */
-
-
-!function( $ ){
-
- "use strict"
-
- function activate ( element, container ) {
- container
- .find('> .active')
- .removeClass('active')
- .find('> .dropdown-menu > .active')
- .removeClass('active')
-
- element.addClass('active')
-
- if ( element.parent('.dropdown-menu') ) {
- element.closest('li.dropdown').addClass('active')
- }
- }
-
- function tab( e ) {
- var $this = $(this)
- , $ul = $this.closest('ul:not(.dropdown-menu)')
- , href = $this.attr('href')
- , previous
- , $href
-
- if ( /^#\w+/.test(href) ) {
- e.preventDefault()
-
- if ( $this.parent('li').hasClass('active') ) {
- return
- }
-
- previous = $ul.find('.active a').last()[0]
- $href = $(href)
-
- activate($this.parent('li'), $ul)
- activate($href, $href.parent())
-
- $this.trigger({
- type: 'change'
- , relatedTarget: previous
- })
- }
- }
-
-
- /* TABS/PILLS PLUGIN DEFINITION
- * ============================ */
-
- $.fn.tabs = $.fn.pills = function ( selector ) {
- return this.each(function () {
- $(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
- })
- }
-
- $(document).ready(function () {
- $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
- })
-
-}( window.jQuery || window.ender );
diff --git a/vendor/assets/javascripts/bootstrap-tooltip.js b/vendor/assets/javascripts/bootstrap-tooltip.js
new file mode 100644
index 00000000..9e2bdc55
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-tooltip.js
@@ -0,0 +1,270 @@
+/* ===========================================================
+ * bootstrap-tooltip.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+!function( $ ) {
+
+ "use strict"
+
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+ * =============================== */
+
+ var Tooltip = function ( element, options ) {
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.prototype = {
+
+ constructor: Tooltip
+
+ , init: function ( type, element, options ) {
+ var eventIn
+ , eventOut
+
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+ this.enabled = true
+
+ if (this.options.trigger != 'manual') {
+ eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
+ eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
+ this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ , getOptions: function ( options ) {
+ options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay
+ , hide: options.delay
+ }
+ }
+
+ return options
+ }
+
+ , enter: function ( e ) {
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+ if (!self.options.delay || !self.options.delay.show) {
+ self.show()
+ } else {
+ self.hoverState = 'in'
+ setTimeout(function() {
+ if (self.hoverState == 'in') {
+ self.show()
+ }
+ }, self.options.delay.show)
+ }
+ }
+
+ , leave: function ( e ) {
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+ if (!self.options.delay || !self.options.delay.hide) {
+ self.hide()
+ } else {
+ self.hoverState = 'out'
+ setTimeout(function() {
+ if (self.hoverState == 'out') {
+ self.hide()
+ }
+ }, self.options.delay.hide)
+ }
+ }
+
+ , show: function () {
+ var $tip
+ , inside
+ , pos
+ , actualWidth
+ , actualHeight
+ , placement
+ , tp
+
+ if (this.hasContent() && this.enabled) {
+ $tip = this.tip()
+ this.setContent()
+
+ if (this.options.animation) {
+ $tip.addClass('fade')
+ }
+
+ placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ inside = /in/.test(placement)
+
+ $tip
+ .remove()
+ .css({ top: 0, left: 0, display: 'block' })
+ .appendTo(inside ? this.$element : document.body)
+
+ pos = this.getPosition(inside)
+
+ actualWidth = $tip[0].offsetWidth
+ actualHeight = $tip[0].offsetHeight
+
+ switch (inside ? placement.split(' ')[1] : placement) {
+ case 'bottom':
+ tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
+ break
+ case 'top':
+ tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
+ break
+ case 'left':
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
+ break
+ case 'right':
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
+ break
+ }
+
+ $tip
+ .css(tp)
+ .addClass(placement)
+ .addClass('in')
+ }
+ }
+
+ , setContent: function () {
+ var $tip = this.tip()
+ $tip.find('.tooltip-inner').html(this.getTitle())
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ , hide: function () {
+ var that = this
+ , $tip = this.tip()
+
+ $tip.removeClass('in')
+
+ function removeWithAnimation() {
+ var timeout = setTimeout(function () {
+ $tip.off($.support.transition.end).remove()
+ }, 500)
+
+ $tip.one($.support.transition.end, function () {
+ clearTimeout(timeout)
+ $tip.remove()
+ })
+ }
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ removeWithAnimation() :
+ $tip.remove()
+ }
+
+ , fixTitle: function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
+ }
+ }
+
+ , hasContent: function () {
+ return this.getTitle()
+ }
+
+ , getPosition: function (inside) {
+ return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
+ width: this.$element[0].offsetWidth
+ , height: this.$element[0].offsetHeight
+ })
+ }
+
+ , getTitle: function () {
+ var title
+ , $e = this.$element
+ , o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ title = title.toString().replace(/(^\s*|\s*$)/, "")
+
+ return title
+ }
+
+ , tip: function () {
+ return this.$tip = this.$tip || $(this.options.template)
+ }
+
+ , validate: function () {
+ if (!this.$element[0].parentNode) {
+ this.hide()
+ this.$element = null
+ this.options = null
+ }
+ }
+
+ , enable: function () {
+ this.enabled = true
+ }
+
+ , disable: function () {
+ this.enabled = false
+ }
+
+ , toggleEnabled: function () {
+ this.enabled = !this.enabled
+ }
+
+ , toggle: function () {
+ this[this.tip().hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+
+ /* TOOLTIP PLUGIN DEFINITION
+ * ========================= */
+
+ $.fn.tooltip = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tooltip')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tooltip.Constructor = Tooltip
+
+ $.fn.tooltip.defaults = {
+ animation: true
+ , delay: 0
+ , selector: false
+ , placement: 'top'
+ , trigger: 'hover'
+ , title: ''
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
+ }
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-transition.js b/vendor/assets/javascripts/bootstrap-transition.js
new file mode 100644
index 00000000..94f1dbdf
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-transition.js
@@ -0,0 +1,51 @@
+/* ===================================================
+ * bootstrap-transition.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * ===================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+!function( $ ) {
+
+ $(function () {
+
+ "use strict"
+
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+ * ======================================================= */
+
+ $.support.transition = (function () {
+ var thisBody = document.body || document.documentElement
+ , thisStyle = thisBody.style
+ , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
+
+ return support && {
+ end: (function () {
+ var transitionEnd = "TransitionEnd"
+ if ( $.browser.webkit ) {
+ transitionEnd = "webkitTransitionEnd"
+ } else if ( $.browser.mozilla ) {
+ transitionEnd = "transitionend"
+ } else if ( $.browser.opera ) {
+ transitionEnd = "oTransitionEnd"
+ }
+ return transitionEnd
+ }())
+ }
+ })()
+
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-twipsy.js b/vendor/assets/javascripts/bootstrap-twipsy.js
deleted file mode 100644
index ca409fd5..00000000
--- a/vendor/assets/javascripts/bootstrap-twipsy.js
+++ /dev/null
@@ -1,321 +0,0 @@
-/* ==========================================================
- * bootstrap-twipsy.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#twipsy
- * Adapted from the original jQuery.tipsy by Jason Frame
- * ==========================================================
- * Copyright 2011 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function( $ ) {
-
- "use strict"
-
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(document).ready(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
-
- /* TWIPSY PUBLIC CLASS DEFINITION
- * ============================== */
-
- var Twipsy = function ( element, options ) {
- this.$element = $(element)
- this.options = options
- this.enabled = true
- this.fixTitle()
- }
-
- Twipsy.prototype = {
-
- show: function() {
- var pos
- , actualWidth
- , actualHeight
- , placement
- , $tip
- , tp
-
- if (this.hasContent() && this.enabled) {
- $tip = this.tip()
- this.setContent()
-
- if (this.options.animate) {
- $tip.addClass('fade')
- }
-
- $tip
- .remove()
- .css({ top: 0, left: 0, display: 'block' })
- .prependTo(document.body)
-
- pos = $.extend({}, this.$element.offset(), {
- width: this.$element[0].offsetWidth
- , height: this.$element[0].offsetHeight
- })
-
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
-
- placement = maybeCall(this.options.placement, this, [ $tip[0], this.$element[0] ])
-
- switch (placement) {
- case 'below':
- tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
- break
- case 'above':
- tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
- break
- case 'left':
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset}
- break
- case 'right':
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset}
- break
- }
-
- $tip
- .css(tp)
- .addClass(placement)
- .addClass('in')
- }
- }
-
- , setContent: function () {
- var $tip = this.tip()
- $tip.find('.twipsy-inner')[this.options.html ? 'html' : 'text'](this.getTitle())
- $tip[0].className = 'twipsy'
- }
-
- , hide: function() {
- var that = this
- , $tip = this.tip()
-
- $tip.removeClass('in')
-
- function removeElement () {
- $tip.remove()
- }
-
- $.support.transition && this.$tip.hasClass('fade') ?
- $tip.bind(transitionEnd, removeElement) :
- removeElement()
- }
-
- , fixTitle: function() {
- var $e = this.$element
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
- $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
- }
- }
-
- , hasContent: function () {
- return this.getTitle()
- }
-
- , getTitle: function() {
- var title
- , $e = this.$element
- , o = this.options
-
- this.fixTitle()
-
- if (typeof o.title == 'string') {
- title = $e.attr(o.title == 'title' ? 'data-original-title' : o.title)
- } else if (typeof o.title == 'function') {
- title = o.title.call($e[0])
- }
-
- title = ('' + title).replace(/(^\s*|\s*$)/, "")
-
- return title || o.fallback
- }
-
- , tip: function() {
- return this.$tip = this.$tip || $('<div class="twipsy" />').html(this.options.template)
- }
-
- , validate: function() {
- if (!this.$element[0].parentNode) {
- this.hide()
- this.$element = null
- this.options = null
- }
- }
-
- , enable: function() {
- this.enabled = true
- }
-
- , disable: function() {
- this.enabled = false
- }
-
- , toggleEnabled: function() {
- this.enabled = !this.enabled
- }
-
- , toggle: function () {
- this[this.tip().hasClass('in') ? 'hide' : 'show']()
- }
-
- }
-
-
- /* TWIPSY PRIVATE METHODS
- * ====================== */
-
- function maybeCall ( thing, ctx, args ) {
- return typeof thing == 'function' ? thing.apply(ctx, args) : thing
- }
-
- /* TWIPSY PLUGIN DEFINITION
- * ======================== */
-
- $.fn.twipsy = function (options) {
- $.fn.twipsy.initWith.call(this, options, Twipsy, 'twipsy')
- return this
- }
-
- $.fn.twipsy.initWith = function (options, Constructor, name) {
- var twipsy
- , binder
- , eventIn
- , eventOut
-
- if (options === true) {
- return this.data(name)
- } else if (typeof options == 'string') {
- twipsy = this.data(name)
- if (twipsy) {
- twipsy[options]()
- }
- return this
- }
-
- options = $.extend({}, $.fn[name].defaults, options)
-
- function get(ele) {
- var twipsy = $.data(ele, name)
-
- if (!twipsy) {
- twipsy = new Constructor(ele, $.fn.twipsy.elementOptions(ele, options))
- $.data(ele, name, twipsy)
- }
-
- return twipsy
- }
-
- function enter() {
- var twipsy = get(this)
- twipsy.hoverState = 'in'
-
- if (options.delayIn == 0) {
- twipsy.show()
- } else {
- twipsy.fixTitle()
- setTimeout(function() {
- if (twipsy.hoverState == 'in') {
- twipsy.show()
- }
- }, options.delayIn)
- }
- }
-
- function leave() {
- var twipsy = get(this)
- twipsy.hoverState = 'out'
- if (options.delayOut == 0) {
- twipsy.hide()
- } else {
- setTimeout(function() {
- if (twipsy.hoverState == 'out') {
- twipsy.hide()
- }
- }, options.delayOut)
- }
- }
-
- if (!options.live) {
- this.each(function() {
- get(this)
- })
- }
-
- if (options.trigger != 'manual') {
- binder = options.live ? 'live' : 'bind'
- eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus'
- eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur'
- this[binder](eventIn, enter)[binder](eventOut, leave)
- }
-
- return this
- }
-
- $.fn.twipsy.Twipsy = Twipsy
-
- $.fn.twipsy.defaults = {
- animate: true
- , delayIn: 0
- , delayOut: 0
- , fallback: ''
- , placement: 'above'
- , html: false
- , live: false
- , offset: 0
- , title: 'title'
- , trigger: 'hover'
- , template: '<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>'
- }
-
- $.fn.twipsy.rejectAttrOptions = [ 'title' ]
-
- $.fn.twipsy.elementOptions = function(ele, options) {
- var data = $(ele).data()
- , rejects = $.fn.twipsy.rejectAttrOptions
- , i = rejects.length
-
- while (i--) {
- delete data[rejects[i]]
- }
-
- return $.extend({}, options, data)
- }
-
-}( window.jQuery || window.ender );
diff --git a/vendor/assets/javascripts/bootstrap-typeahead.js b/vendor/assets/javascripts/bootstrap-typeahead.js
new file mode 100644
index 00000000..d03d1441
--- /dev/null
+++ b/vendor/assets/javascripts/bootstrap-typeahead.js
@@ -0,0 +1,271 @@
+/* =============================================================
+ * bootstrap-typeahead.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ var Typeahead = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.typeahead.defaults, options)
+ this.matcher = this.options.matcher || this.matcher
+ this.sorter = this.options.sorter || this.sorter
+ this.highlighter = this.options.highlighter || this.highlighter
+ this.$menu = $(this.options.menu).appendTo('body')
+ this.source = this.options.source
+ this.shown = false
+ this.listen()
+ }
+
+ Typeahead.prototype = {
+
+ constructor: Typeahead
+
+ , select: function () {
+ var val = this.$menu.find('.active').attr('data-value')
+ this.$element.val(val)
+ return this.hide()
+ }
+
+ , show: function () {
+ var pos = $.extend({}, this.$element.offset(), {
+ height: this.$element[0].offsetHeight
+ })
+
+ this.$menu.css({
+ top: pos.top + pos.height
+ , left: pos.left
+ })
+
+ this.$menu.show()
+ this.shown = true
+ return this
+ }
+
+ , hide: function () {
+ this.$menu.hide()
+ this.shown = false
+ return this
+ }
+
+ , lookup: function (event) {
+ var that = this
+ , items
+ , q
+
+ this.query = this.$element.val()
+
+ if (!this.query) {
+ return this.shown ? this.hide() : this
+ }
+
+ items = $.grep(this.source, function (item) {
+ if (that.matcher(item)) return item
+ })
+
+ items = this.sorter(items)
+
+ if (!items.length) {
+ return this.shown ? this.hide() : this
+ }
+
+ return this.render(items.slice(0, this.options.items)).show()
+ }
+
+ , matcher: function (item) {
+ return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+ }
+
+ , sorter: function (items) {
+ var beginswith = []
+ , caseSensitive = []
+ , caseInsensitive = []
+ , item
+
+ while (item = items.shift()) {
+ if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+ else if (~item.indexOf(this.query)) caseSensitive.push(item)
+ else caseInsensitive.push(item)
+ }
+
+ return beginswith.concat(caseSensitive, caseInsensitive)
+ }
+
+ , highlighter: function (item) {
+ return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
+ return '<strong>' + match + '</strong>'
+ })
+ }
+
+ , render: function (items) {
+ var that = this
+
+ items = $(items).map(function (i, item) {
+ i = $(that.options.item).attr('data-value', item)
+ i.find('a').html(that.highlighter(item))
+ return i[0]
+ })
+
+ items.first().addClass('active')
+ this.$menu.html(items)
+ return this
+ }
+
+ , next: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , next = active.next()
+
+ if (!next.length) {
+ next = $(this.$menu.find('li')[0])
+ }
+
+ next.addClass('active')
+ }
+
+ , prev: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , prev = active.prev()
+
+ if (!prev.length) {
+ prev = this.$menu.find('li').last()
+ }
+
+ prev.addClass('active')
+ }
+
+ , listen: function () {
+ this.$element
+ .on('blur', $.proxy(this.blur, this))
+ .on('keypress', $.proxy(this.keypress, this))
+ .on('keyup', $.proxy(this.keyup, this))
+
+ if ($.browser.webkit || $.browser.msie) {
+ this.$element.on('keydown', $.proxy(this.keypress, this))
+ }
+
+ this.$menu
+ .on('click', $.proxy(this.click, this))
+ .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+ }
+
+ , keyup: function (e) {
+ e.stopPropagation()
+ e.preventDefault()
+
+ switch(e.keyCode) {
+ case 40: // down arrow
+ case 38: // up arrow
+ break
+
+ case 9: // tab
+ case 13: // enter
+ if (!this.shown) return
+ this.select()
+ break
+
+ case 27: // escape
+ this.hide()
+ break
+
+ default:
+ this.lookup()
+ }
+
+ }
+
+ , keypress: function (e) {
+ e.stopPropagation()
+ if (!this.shown) return
+
+ switch(e.keyCode) {
+ case 9: // tab
+ case 13: // enter
+ case 27: // escape
+ e.preventDefault()
+ break
+
+ case 38: // up arrow
+ e.preventDefault()
+ this.prev()
+ break
+
+ case 40: // down arrow
+ e.preventDefault()
+ this.next()
+ break
+ }
+ }
+
+ , blur: function (e) {
+ var that = this
+ e.stopPropagation()
+ e.preventDefault()
+ setTimeout(function () { that.hide() }, 150)
+ }
+
+ , click: function (e) {
+ e.stopPropagation()
+ e.preventDefault()
+ this.select()
+ }
+
+ , mouseenter: function (e) {
+ this.$menu.find('.active').removeClass('active')
+ $(e.currentTarget).addClass('active')
+ }
+
+ }
+
+
+ /* TYPEAHEAD PLUGIN DEFINITION
+ * =========================== */
+
+ $.fn.typeahead = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('typeahead')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.typeahead.defaults = {
+ source: []
+ , items: 8
+ , menu: '<ul class="typeahead dropdown-menu"></ul>'
+ , item: '<li><a href="#"></a></li>'
+ }
+
+ $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD DATA-API
+ * ================== */
+
+ $(function () {
+ $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+ var $this = $(this)
+ if ($this.data('typeahead')) return
+ e.preventDefault()
+ $this.typeahead($this.data())
+ })
+ })
+
+}( window.jQuery ) \ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap.js b/vendor/assets/javascripts/bootstrap.js
index 2b189c06..cdeec2f0 100644
--- a/vendor/assets/javascripts/bootstrap.js
+++ b/vendor/assets/javascripts/bootstrap.js
@@ -1,9 +1,12 @@
-//= require bootstrap-modal
-//= require bootstrap-buttons
+//= require bootstrap-transition
+//= require bootstrap-alert
+//= require bootstrap-button
+//= require bootstrap-carousel
+//= require bootstrap-collapse
//= require bootstrap-dropdown
+//= require bootstrap-modal
//= require bootstrap-scrollspy
-//= require bootstrap-tabs
-//= require bootstrap-twipsy
+//= require bootstrap-tab
+//= require bootstrap-tooltip
//= require bootstrap-popover
-//= require bootstrap-alerts
-
+//= require bootstrap-typeahead \ No newline at end of file
diff --git a/vendor/assets/stylesheets/_bootstrap-responsive.scss b/vendor/assets/stylesheets/_bootstrap-responsive.scss
new file mode 100644
index 00000000..a1333336
--- /dev/null
+++ b/vendor/assets/stylesheets/_bootstrap-responsive.scss
@@ -0,0 +1,314 @@
+/*!
+ * Bootstrap Responsive v2.0.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ * Converted to SASS by Thomas McDonald
+ */
+
+// Responsive.css.scss
+// For phone and tablet devices
+// -------------------------------------------------------------
+
+
+// REPEAT VARIABLES & MIXINS
+// -------------------------
+// Required since we compile the responsive stuff separately
+
+@import "bootstrap/variables"; // Modify this for custom colors, font-sizes, etc
+@import "bootstrap/mixins";
+
+
+// RESPONSIVE CLASSES
+// ------------------
+
+// Hide from screenreaders and browsers
+// Credit: HTML5 Boilerplate
+.hidden {
+ display: none;
+ visibility: hidden;
+}
+
+
+
+// UP TO LANDSCAPE PHONE
+// ---------------------
+
+@media (max-width: 480px) {
+
+ // Smooth out the collapsing/expanding nav
+ .nav-collapse {
+ -webkit-transform: translate3d(0, 0, 0); // activate the GPU
+ }
+
+ // Block level the page header small tag for readability
+ .page-header h1 small {
+ display: block;
+ line-height: $baseLineHeight;
+ }
+
+ // Make span* classes full width
+ input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input {
+ display: block;
+ width: 100%;
+ height: 28px; /* Make inputs at least the height of their button counterpart */
+ /* Makes inputs behave like true block-level elements */
+ -webkit-box-sizing: border-box; /* Older Webkit */
+ -moz-box-sizing: border-box; /* Older FF */
+ -ms-box-sizing: border-box; /* IE8 */
+ box-sizing: border-box; /* CSS3 spec*/
+ }
+ // But don't let it screw up prepend/append inputs
+ .input-prepend input[class*="span"], .input-append input[class*="span"] {
+ width: auto;
+ }
+
+ // Update checkboxes for iOS
+ input[type="checkbox"], input[type="radio"] {
+ border: 1px solid #ccc;
+ }
+
+ // Remove the horizontal form styles
+ .form-horizontal .control-group > label {
+ float: none;
+ width: auto;
+ padding-top: 0;
+ text-align: left;
+ }
+ // Move over all input controls and content
+ .form-horizontal .controls {
+ margin-left: 0;
+ }
+ // Move the options list down to align with labels
+ .form-horizontal .control-list {
+ padding-top: 0; // has to be padding because margin collaspes
+ }
+ // Move over buttons in .form-actions to align with .controls
+ .form-horizontal .form-actions {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+
+ // Modals
+ .modal {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ right: 10px;
+ width: auto;
+ margin: 0;
+ &.fade.in { top: auto; }
+ }
+ .modal-header .close {
+ padding: 10px;
+ margin: -10px;
+ }
+
+ // Carousel
+ .carousel-caption {
+ position: static;
+ }
+
+}
+
+
+
+// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
+// --------------------------------------------------
+
+@media (max-width: 768px) {
+ // GRID & CONTAINERS
+ // -----------------
+ // Remove width from containers
+ .container {
+ width: auto;
+ padding: 0 20px;
+ }
+ // Fluid rows
+ .row-fluid {
+ width: 100%;
+ }
+ // Undo negative margin on rows
+ .row {
+ margin-left: 0;
+ }
+ // Make all columns even
+ .row > [class*="span"], .row-fluid > [class*="span"] {
+ float: none;
+ display: block;
+ width: auto;
+ margin: 0;
+ }
+}
+
+
+
+// PORTRAIT TABLET TO DEFAULT DESKTOP
+// ----------------------------------
+
+@media (min-width: 768px) and (max-width: 980px) {
+
+ // Fixed grid
+ @include gridSystemGenerate(12, 42px, 20px);
+
+ // Fluid grid
+ @include fluidGridSystemGenerate(12, 5.801104972%, 2.762430939%);
+
+ // Input grid
+ @include inputGridSystemGenerate(12, 42px, 20px);
+
+}
+
+
+
+// TABLETS AND BELOW
+// -----------------
+@media (max-width: 980px) {
+
+ // UNFIX THE TOPBAR
+ // ----------------
+ // Remove any padding from the body
+ body {
+ padding-top: 0;
+ }
+ // Unfix the navbar
+ .navbar-fixed-top {
+ position: static;
+ margin-bottom: $baseLineHeight;
+ }
+ .navbar-fixed-top .navbar-inner {
+ padding: 5px;
+ }
+ .navbar .container {
+ width: auto;
+ padding: 0;
+ }
+ // Account for brand name
+ .navbar .brand {
+ padding-left: 10px;
+ padding-right: 10px;
+ margin: 0 0 0 -5px;
+ }
+ // Nav collapse clears brand
+ .navbar .nav-collapse {
+ clear: left;
+ }
+ // Block-level the nav
+ .navbar .nav {
+ float: none;
+ margin: 0 0 ($baseLineHeight / 2);
+ }
+ .navbar .nav > li {
+ float: none;
+ }
+ .navbar .nav > li > a {
+ margin-bottom: 2px;
+ }
+ .navbar .nav > .divider-vertical {
+ display: none;
+ }
+ // Nav and dropdown links in navbar
+ .navbar .nav > li > a, .navbar .dropdown-menu a {
+ padding: 6px 15px;
+ font-weight: bold;
+ color: $navbarLinkColor;
+ @include border-radius(3px);
+ }
+ .navbar .dropdown-menu li + li a {
+ margin-bottom: 2px;
+ }
+ .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover {
+ background-color: $navbarBackground;
+ }
+ // Dropdowns in the navbar
+ .navbar .dropdown-menu {
+ position: static;
+ top: auto;
+ left: auto;
+ float: none;
+ display: block;
+ max-width: none;
+ margin: 0 15px;
+ padding: 0;
+ background-color: transparent;
+ border: none;
+ @include border-radius(0);
+ @include box-shadow(none);
+ }
+ .navbar .dropdown-menu:before, .navbar .dropdown-menu:after {
+ display: none;
+ }
+ .navbar .dropdown-menu .divider {
+ display: none;
+ }
+ // Forms in navbar
+ .navbar-form, .navbar-search {
+ float: none;
+ padding: ($baseLineHeight / 2) 15px;
+ margin: ($baseLineHeight / 2) 0;
+ border-top: 1px solid $navbarBackground;
+ border-bottom: 1px solid $navbarBackground;
+ $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+ @include box-shadow($shadow);
+ }
+ // Pull right (secondary) nav content
+ .navbar .nav.pull-right {
+ float: none;
+ margin-left: 0;
+ }
+ // Static navbar
+ .navbar-static .navbar-inner {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ // Navbar button
+ .btn-navbar {
+ display: block;
+ }
+
+ // Hide everything in the navbar save .brand and toggle button */
+ .nav-collapse {
+ overflow: hidden;
+ height: 0;
+ }
+}
+
+
+
+// DEFAULT DESKTOP
+// ---------------
+
+@media (min-width: 980px) {
+ .nav-collapse.collapse {
+ height: auto !important;
+ }
+}
+
+
+
+// LARGE DESKTOP & UP
+// ------------------
+
+@media (min-width: 1200px) {
+
+ // Fixed grid
+ @include gridSystemGenerate(12, 70px, 30px);
+
+ // Fluid grid
+ @include fluidGridSystemGenerate(12, 5.982905983%, 2.564102564%);
+
+ // Input grid
+ @include inputGridSystemGenerate(12, 70px, 30px);
+
+ // Thumbnails
+ .thumbnails {
+ margin-left: -30px;
+ }
+ .thumbnails > li {
+ margin-left: 30px;
+ }
+
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/_bootstrap.scss b/vendor/assets/stylesheets/_bootstrap.scss
new file mode 100644
index 00000000..17d87cc7
--- /dev/null
+++ b/vendor/assets/stylesheets/_bootstrap.scss
@@ -0,0 +1,63 @@
+/*!
+ * Bootstrap 2.0.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ * Converted to SASS by Thomas McDonald
+ */
+
+// Core variables and mixins
+@import "bootstrap/variables"; // Modify this for custom colors, font-sizes, etc
+@import "bootstrap/mixins";
+
+// CSS Reset
+@import "bootstrap/reset";
+
+// Grid system and page structure
+@import "bootstrap/scaffolding";
+@import "bootstrap/grid";
+@import "bootstrap/layouts";
+
+// Base CSS
+@import "bootstrap/type";
+@import "bootstrap/code";
+@import "bootstrap/forms";
+@import "bootstrap/tables";
+
+// Components: common
+@import "bootstrap/sprites";
+@import "bootstrap/dropdowns";
+@import "bootstrap/wells";
+@import "bootstrap/component-animations";
+@import "bootstrap/close";
+
+// Components: Buttons & Alerts
+@import "bootstrap/buttons";
+@import "bootstrap/button-groups";
+@import "bootstrap/alerts"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
+
+// Components: Nav
+@import "bootstrap/navs";
+@import "bootstrap/navbar";
+@import "bootstrap/breadcrumbs";
+@import "bootstrap/pagination";
+@import "bootstrap/pager";
+
+// Components: Popovers
+@import "bootstrap/modals";
+@import "bootstrap/tooltip";
+@import "bootstrap/popovers";
+
+// Components: Misc
+@import "bootstrap/thumbnails";
+@import "bootstrap/labels";
+@import "bootstrap/progress-bars";
+@import "bootstrap/accordion";
+@import "bootstrap/carousel";
+@import "bootstrap/hero-unit";
+
+// Utility classes
+@import "bootstrap/utilities"; // Has to be last to override when necessary \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap.css.scss b/vendor/assets/stylesheets/bootstrap.css.scss
deleted file mode 100644
index 3a875839..00000000
--- a/vendor/assets/stylesheets/bootstrap.css.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-/*!
- * Bootstrap v1.4.0
- *
- * Copyright 2011 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- * Converted to SASS by Thomas McDonald
- *
- * Date: Friday 4 November, 2011
- */
-
-@import "bootstrap/reset";
-
-@import "bootstrap/variables";
-@import "bootstrap/mixins";
-
-@import "bootstrap/scaffolding";
-
-@import "bootstrap/type";
-@import "bootstrap/forms";
-@import "bootstrap/tables";
-@import "bootstrap/patterns";
-
diff --git a/vendor/assets/stylesheets/bootstrap/_accordion.scss b/vendor/assets/stylesheets/bootstrap/_accordion.scss
new file mode 100644
index 00000000..bb199439
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_accordion.scss
@@ -0,0 +1,28 @@
+// ACCORDION
+// ---------
+
+
+// Parent container
+.accordion {
+ margin-bottom: $baseLineHeight;
+}
+
+// Group == heading + body
+.accordion-group {
+ margin-bottom: 2px;
+ border: 1px solid #e5e5e5;
+ @include border-radius(4px);
+}
+.accordion-heading {
+ border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+ display: block;
+ padding: 8px 15px;
+}
+
+// Inner needs the styles because you can't animate properly with any styles on the element
+.accordion-inner {
+ padding: 9px 15px;
+ border-top: 1px solid #e5e5e5;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_alerts.scss b/vendor/assets/stylesheets/bootstrap/_alerts.scss
new file mode 100644
index 00000000..a219ab9a
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_alerts.scss
@@ -0,0 +1,62 @@
+// ALERT STYLES
+// ------------
+
+// Base alert styles
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: $baseLineHeight;
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
+ background-color: $warningBackground;
+ border: 1px solid $warningBorder;
+ @include border-radius(4px);
+}
+.alert, .alert-heading {
+ color: $warningText;
+}
+
+// Adjust close link position
+.alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: 18px;
+}
+
+// Alternate styles
+// ----------------
+
+.alert-success {
+ background-color: $successBackground;
+ border-color: $successBorder;
+}
+.alert-success, .alert-success .alert-heading {
+ color: $successText;
+}
+.alert-danger, .alert-error {
+ background-color: $errorBackground;
+ border-color: $errorBorder;
+}
+.alert-danger, .alert-error, .alert-danger .alert-heading, .alert-error .alert-heading {
+ color: $errorText;
+}
+.alert-info {
+ background-color: $infoBackground;
+ border-color: $infoBorder;
+}
+.alert-info, .alert-info .alert-heading {
+ color: $infoText;
+}
+
+
+// Block alerts
+// ------------------------
+.alert-block {
+ padding-top: 14px;
+ padding-bottom: 14px;
+}
+.alert-block > p, .alert-block > ul {
+ margin-bottom: 0;
+}
+.alert-block p + p {
+ margin-top: 5px;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss b/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss
new file mode 100644
index 00000000..982dedb3
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss
@@ -0,0 +1,22 @@
+// BREADCRUMBS
+// -----------
+
+.breadcrumb {
+ padding: 7px 14px;
+ margin: 0 0 $baseLineHeight;
+ @include gradient-vertical($white, #f5f5f5);
+ border: 1px solid #ddd;
+ @include border-radius(3px);
+ @include box-shadow(inset 0 1px 0 $white);
+ li {
+ display: inline;
+ text-shadow: 0 1px 0 $white;
+ }
+ .divider {
+ padding: 0 5px;
+ color: $grayLight;
+ }
+ .active a {
+ color: $grayDark;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_button-groups.scss b/vendor/assets/stylesheets/bootstrap/_button-groups.scss
new file mode 100644
index 00000000..55e3d63b
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_button-groups.scss
@@ -0,0 +1,136 @@
+// BUTTON GROUPS
+// -------------
+
+
+// Make the div behave like a button
+.btn-group {
+ position: relative;
+ @include clearfix(); // clears the floated buttons
+ @include ie7-restore-left-whitespace();
+}
+
+// Space out series of button groups
+.btn-group + .btn-group {
+ margin-left: 5px;
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+ margin-top: $baseLineHeight / 2;
+ margin-bottom: $baseLineHeight / 2;
+ .btn-group {
+ display: inline-block;
+ @include ie7-inline-block();
+ }
+}
+
+// Float them, remove border radius, then re-add to first and last elements
+.btn-group .btn {
+ position: relative;
+ float: left;
+ margin-left: -1px;
+ @include border-radius(0);
+}
+// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
+.btn-group .btn:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.btn-group .btn:last-child, .btn-group .dropdown-toggle {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+}
+// Reset corners for large buttons
+.btn-group .btn.large:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 6px;
+ -moz-border-radius-topleft: 6px;
+ border-top-left-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -moz-border-radius-bottomleft: 6px;
+ border-bottom-left-radius: 6px;
+}
+.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle {
+ -webkit-border-top-right-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ border-top-right-radius: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -moz-border-radius-bottomright: 6px;
+ border-bottom-right-radius: 6px;
+}
+
+// On hover/focus/active, bring the proper btn to front
+.btn-group .btn:hover, .btn-group .btn:focus, .btn-group .btn:active, .btn-group .btn.active {
+ z-index: 2;
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px;
+ $shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ @include box-shadow($shadow);
+ *padding-top: 5px;
+ *padding-bottom: 5px;
+}
+
+.btn-group.open {
+ // IE7's z-index only goes to the nearest positioned ancestor, which would
+ // make the menu appear below buttons that appeared later on the page
+ *z-index: $zindexDropdown;
+
+ // Reposition menu on open and round all corners
+ .dropdown-menu {
+ display: block;
+ margin-top: 1px;
+ @include border-radius(5px);
+ }
+
+ .dropdown-toggle {
+ background-image: none;
+ $shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+ @include box-shadow($shadow);
+ }
+}
+
+// Reposition the caret
+.btn .caret {
+ margin-top: 7px;
+ margin-left: 0;
+}
+.btn:hover .caret, .open.btn-group .caret {
+ @include opacity(100);
+}
+
+
+// Account for other colors
+.btn-primary, .btn-danger, .btn-info, .btn-success {
+ .caret {
+ border-top-color: $white;
+ @include opacity(75);
+ }
+}
+
+// Small button dropdowns
+.btn-small .caret {
+ margin-top: 4px;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_buttons.scss b/vendor/assets/stylesheets/bootstrap/_buttons.scss
new file mode 100644
index 00000000..b3e77bdb
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_buttons.scss
@@ -0,0 +1,149 @@
+// BUTTON STYLES
+// -------------
+
+
+// Base styles
+// --------------------------------------------------
+
+// Core
+.btn {
+ display: inline-block;
+ padding: 4px 10px 4px;
+ font-size: $baseFontSize;
+ line-height: $baseLineHeight;
+ color: $grayDark;
+ text-align: center;
+ text-shadow: 0 1px 1px rgba(255,255,255,.75);
+ @include gradient-vertical-three-colors($white, $white, 25%, darken($white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ @include border-radius(4px);
+ $shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ @include box-shadow($shadow);
+ cursor: pointer;
+
+ // Give IE7 some love
+ @include ie7-restore-left-whitespace();
+}
+
+// Hover state
+.btn:hover {
+ color: $grayDark;
+ text-decoration: none;
+ background-color: darken($white, 10%);
+ background-position: 0 -15px;
+
+ // transition is only when going to hover, otherwise the background
+ // behind the gradient (there for IE<=9 fallback) gets mismatched
+ @include transition(background-position .1s linear);
+}
+
+// Focus state for keyboard and accessibility
+.btn:focus {
+ @include tab-focus();
+}
+
+// Active state
+.btn.active, .btn:active {
+ background-image: none;
+ $shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+ @include box-shadow($shadow);
+ background-color: darken($white, 10%);
+ background-color: darken($white, 15%) \9;
+ color: rgba(0,0,0,.5);
+ outline: 0;
+}
+
+// Disabled state
+.btn.disabled, .btn[disabled] {
+ cursor: default;
+ background-image: none;
+ background-color: darken($white, 10%);
+ @include opacity(65);
+ @include box-shadow(none);
+}
+
+
+// Button Sizes
+// --------------------------------------------------
+
+// Large
+.btn-large {
+ padding: 9px 14px;
+ font-size: $baseFontSize + 2px;
+ line-height: normal;
+ @include border-radius(5px);
+}
+.btn-large .icon {
+ margin-top: 1px;
+}
+
+// Small
+.btn-small {
+ padding: 5px 9px;
+ font-size: $baseFontSize - 2px;
+ line-height: $baseLineHeight - 2px;
+}
+.btn-small .icon {
+ margin-top: -1px;
+}
+
+
+// Alternate buttons
+// --------------------------------------------------
+
+// Set text color
+// -------------------------
+.btn-primary, .btn-primary:hover, .btn-warning, .btn-warning:hover, .btn-danger, .btn-danger:hover, .btn-success, .btn-success:hover, .btn-info, .btn-info:hover {
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ color: $white
+}
+// Provide *some* extra contrast for those who can get it
+.btn-primary.active, .btn-warning.active, .btn-danger.active, .btn-success.active, .btn-info.active {
+ color: rgba(255,255,255,.75);
+}
+
+// Set the backgrounds
+// -------------------------
+.btn-primary {
+ @include buttonBackground($primaryButtonBackground, adjust-hue($primaryButtonBackground, 20));
+}
+// Warning appears are orange
+.btn-warning {
+ @include buttonBackground(lighten($orange, 15%), $orange);
+}
+// Danger and error appear as red
+.btn-danger {
+ @include buttonBackground(#ee5f5b, #bd362f);
+}
+// Success appears as green
+.btn-success {
+ @include buttonBackground(#62c462, #51a351);
+}
+// Info appears as a neutral blue
+.btn-info {
+ @include buttonBackground(#5bc0de, #2f96b4);
+}
+
+
+// Cross-browser Jank
+// --------------------------------------------------
+
+button.btn, input[type="submit"].btn {
+ &::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+ }
+
+ // IE7 has some default padding on button controls
+ *padding-top: 2px;
+ *padding-bottom: 2px;
+ &.large {
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+ }
+ &.small {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_carousel.scss b/vendor/assets/stylesheets/bootstrap/_carousel.scss
new file mode 100644
index 00000000..1170c072
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_carousel.scss
@@ -0,0 +1,116 @@
+// CAROUSEL
+// --------
+
+.carousel {
+ position: relative;
+ margin-bottom: $baseLineHeight;
+ line-height: 1;
+}
+
+.carousel-inner {
+ overflow: hidden;
+ width: 100%;
+ position: relative;
+}
+
+.carousel {
+
+ .item {
+ display: none;
+ position: relative;
+ @include transition(.6s ease-in-out left);
+ }
+
+ // Account for jankitude on images
+ .item > img {
+ display: block;
+ line-height: 1;
+ }
+
+ .active, .next, .prev { display: block; }
+
+ .active {
+ left: 0;
+ }
+
+ .next, .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ }
+
+ .next {
+ left: 100%;
+ }
+ .prev {
+ left: -100%;
+ }
+ .next.left, .prev.right {
+ left: 0;
+ }
+
+ .active.left {
+ left: -100%;
+ }
+ .active.right {
+ left: 100%;
+ }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+ position: absolute;
+ top: 40%;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ font-size: 60px;
+ font-weight: 100;
+ line-height: 30px;
+ color: $white;
+ text-align: center;
+ background: $grayDarker;
+ border: 3px solid $white;
+ @include border-radius(23px);
+ @include opacity(50);
+
+ // we can't have this transition here
+ // because webkit cancels the carousel
+ // animation if you trip this while
+ // in the middle of another animation
+ // ;_;
+ // @include transition(opacity .2s linear);
+
+ // Reposition the right one
+ &.right {
+ left: auto;
+ right: 15px;
+ }
+
+ // Hover state
+ &:hover {
+ color: $white;
+ text-decoration: none;
+ @include opacity(90);
+ }
+}
+
+// Caption for text below images
+// -----------------------------
+
+.carousel-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 10px 15px 5px;
+ background: $grayDark;
+ background: rgba(0,0,0,.75);
+}
+.carousel-caption h4, .carousel-caption p {
+ color: $white;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_close.scss b/vendor/assets/stylesheets/bootstrap/_close.scss
new file mode 100644
index 00000000..081d6746
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_close.scss
@@ -0,0 +1,18 @@
+// CLOSE ICONS
+// -----------
+
+.close {
+ float: right;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: $baseLineHeight;
+ color: $black;
+ text-shadow: 0 1px 0 rgba(255,255,255,1);
+ @include opacity(20);
+ &:hover {
+ color: $black;
+ text-decoration: none;
+ @include opacity(40);
+ cursor: pointer;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_code.scss b/vendor/assets/stylesheets/bootstrap/_code.scss
new file mode 100644
index 00000000..9db662dc
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_code.scss
@@ -0,0 +1,43 @@
+// Code.css.scss
+// Code typography styles for the <code> and <pre> elements
+// --------------------------------------------------------
+
+// Inline and block code styles
+code, pre {
+ padding: 0 3px 2px;
+ @include font-family-monospace();
+ font-size: $baseFontSize - 1;
+ color: $grayDark;
+ @include border-radius(3px);
+}
+code {
+ padding: 3px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+}
+pre {
+ display: block;
+ padding: ($baseLineHeight - 1) / 2;
+ margin: 0 0 $baseLineHeight / 2;
+ font-size: 12px;
+ line-height: $baseLineHeight;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc; // fallback for IE7-8
+ border: 1px solid rgba(0,0,0,.15);
+ @include border-radius(4px);
+ white-space: pre;
+ white-space: pre-wrap;
+ word-break: break-all;
+
+ // Make prettyprint styles more spaced out for readability
+ &.prettyprint {
+ margin-bottom: $baseLineHeight;
+ }
+
+ // Account for some code outputs that place code tags in pre tags
+ code {
+ padding: 0;
+ background-color: transparent;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_component-animations.scss b/vendor/assets/stylesheets/bootstrap/_component-animations.scss
new file mode 100644
index 00000000..186f121d
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_component-animations.scss
@@ -0,0 +1,18 @@
+// COMPONENT ANIMATIONS
+// --------------------
+
+.fade {
+ @include transition(opacity .15s linear);
+ opacity: 0;
+ &.in {
+ opacity: 1;
+ }
+}
+
+.collapse {
+ @include transition(height .35s ease);
+ position:relative;
+ overflow:hidden;
+ height: 0;
+ &.in { height: auto; }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss
new file mode 100644
index 00000000..1aa5e25c
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss
@@ -0,0 +1,127 @@
+// DROPDOWN MENUS
+// --------------
+
+// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
+.dropdown {
+ position: relative;
+}
+.dropdown-toggle {
+ // The caret makes the toggle a bit too tall in IE7
+ *margin-bottom: -3px;
+}
+.dropdown-toggle:active, .open .dropdown-toggle {
+ outline: 0;
+}
+// Dropdown arrow/caret
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ text-indent: -99999px;
+ // IE7 won't do the border trick if there's a text indent, but it doesn't
+ // do the content that text-indent is hiding, either, so we're ok.
+ *text-indent: 0;
+ vertical-align: top;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid $black;
+ @include opacity(30);
+ content: "\2193";
+}
+.dropdown .caret {
+ margin-top: 8px;
+ margin-left: 2px;
+}
+.dropdown:hover .caret, .open.dropdown .caret {
+ @include opacity(100);
+}
+// The dropdown menu (ul)
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: $zindexDropdown;
+ float: left;
+ display: none; // none by default, but block on "open" of the menu
+ min-width: 160px;
+ max-width: 220px;
+ _width: 160px;
+ padding: 4px 0;
+ margin: 0; // override default ul
+ list-style: none;
+ background-color: $white;
+ border-color: #ccc;
+ border-color: rgba(0,0,0,.2);
+ border-style: solid;
+ border-width: 1px;
+ @include border-radius(0 0 5px 5px);
+ @include box-shadow(0 5px 10px rgba(0,0,0,.2));
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
+ &.bottom-up {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 2px;
+ }
+
+ // Dividers (basically an hr) within the dropdown
+ .divider {
+ height: 1px;
+ margin: 5px 1px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid $white;
+
+ // IE7 needs a set width since we gave a height. Restricting just
+ // to IE7 to keep the 1px left/right space in other browsers.
+ // It is unclear where IE is getting the extra space that we need
+ // to negative-margin away, but so it goes.
+ *width: 100%;
+ *margin: -5px 0 5px;
+ }
+
+ // Links within the dropdown menu
+ a {
+ display: block;
+ padding: 3px 15px;
+ clear: both;
+ font-weight: normal;
+ line-height: 18px;
+ color: $gray;
+ white-space: nowrap;
+ }
+}
+
+// Hover state
+.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
+ color: $white;
+ text-decoration: none;
+ background-color: $linkColor;
+}
+
+// Open state for the dropdown
+.dropdown.open {
+ // IE7's z-index only goes to the nearest positioned ancestor, which would
+ // make the menu appear below buttons that appeared later on the page
+ *z-index: $zindexDropdown;
+
+ .dropdown-toggle {
+ color: $white;
+ background: #ccc;
+ background: rgba(0,0,0,.3);
+ }
+ .dropdown-menu {
+ display: block;
+ }
+}
+
+// Typeahead
+.typeahead {
+ margin-top: 2px; // give it some space to breathe
+ @include border-radius(4px);
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_forms.scss b/vendor/assets/stylesheets/bootstrap/_forms.scss
new file mode 100644
index 00000000..38c801c7
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_forms.scss
@@ -0,0 +1,458 @@
+// Forms.less
+// Base styles for various input types, form layouts, and states
+// -------------------------------------------------------------
+
+
+// GENERAL STYLES
+// --------------
+
+// Make all forms have space below them
+form {
+ margin: 0 0 $baseLineHeight;
+}
+
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+// Groups of fields with labels on top (legends)
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: $baseLineHeight * 1.5;
+ font-size: $baseFontSize * 1.5;
+ line-height: $baseLineHeight * 2;
+ color: $grayDark;
+ border: 0;
+ border-bottom: 1px solid #eee;
+}
+
+// Set font for forms
+label, input, button, select, textarea {
+ @include font-sans-serif($baseFontSize, normal, $baseLineHeight);
+}
+
+// Identify controls by their labels
+label {
+ display: block;
+ margin-bottom: 5px;
+ color: $grayDark;
+}
+
+// Inputs, Textareas, Selects
+input, textarea, select, .uneditable-input {
+ display: inline-block;
+ width: 210px;
+ height: $baseLineHeight;
+ padding: 4px;
+ margin-bottom: 9px;
+ font-size: $baseFontSize;
+ line-height: $baseLineHeight;
+ color: $gray;
+ border: 1px solid #ccc;
+ @include border-radius(3px);
+}
+.uneditable-textarea {
+ width: auto;
+ height: auto;
+}
+
+// Inputs within a label
+label input, label textarea, label select {
+ display: block;
+}
+
+// Mini reset for unique input types
+input[type="image"], input[type="checkbox"], input[type="radio"] {
+ width: auto;
+ height: auto;
+ padding: 0;
+ margin: 3px 0;
+ *margin-top: 0; /* IE7 */
+ line-height: normal;
+ border: 0;
+ cursor: pointer;
+ @include border-radius(0);
+}
+
+// Reset the file input to browser defaults
+input[type="file"] {
+ padding: initial;
+ line-height: initial;
+ border: initial;
+ background-color: $white;
+ background-color: initial;
+ @include box-shadow(none);
+}
+
+// Help out input buttons
+input[type="button"], input[type="reset"], input[type="submit"] {
+ width: auto;
+ height: auto;
+}
+
+// Set the height of select and file controls to match text inputs
+select, input[type="file"] {
+ height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
+ *margin-top: 4px; /* For IE7, add top margin to align select with labels */
+ line-height: 28px;
+}
+
+// Chrome on Linux and Mobile Safari need background-color
+select {
+ width: 220px; // default input width + 10px of padding that doesn't get applied
+ background-color: $white;
+}
+
+// Make multiple select elements height not fixed
+select[multiple], select[size] {
+ height: auto;
+}
+
+// Remove shadow from image inputs
+input[type="image"] {
+ @include box-shadow(none);
+}
+
+// Make textarea height behave
+textarea {
+ height: auto;
+}
+
+// Hidden inputs
+input[type="hidden"] {
+ display: none;
+}
+
+
+
+// CHECKBOXES & RADIOS
+// -------------------
+
+// Indent the labels to position radios/checkboxes as hanging
+.radio, .checkbox {
+ padding-left: 18px;
+}
+.radio input[type="radio"], .checkbox input[type="checkbox"] {
+ float: left;
+ margin-left: -18px;
+}
+
+// Move the options list down to align with labels
+.controls > .radio:first-child, .controls > .checkbox:first-child {
+ padding-top: 5px; // has to be padding because margin collaspes
+}
+
+// Radios and checkboxes on same line
+.radio.inline, .checkbox.inline {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
+ margin-left: 10px; // space out consecutive inline controls
+}
+// But don't forget to remove their padding on first-child
+.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {
+ padding-top: 0;
+}
+
+
+
+// FOCUS STATE
+// -----------
+
+input, textarea {
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
+ $transition: border linear .2s, box-shadow linear .2s;
+ @include transition($transition);
+}
+input:focus, textarea:focus {
+ border-color: rgba(82,168,236,.8);
+ $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+ @include box-shadow($shadow);
+ outline: 0;
+ outline: thin dotted \9; /* IE6-8 */
+}
+input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
+ @include box-shadow(none); // override for file inputs
+ @include tab-focus();
+}
+
+
+
+// INPUT SIZES
+// -----------
+
+// General classes for quick sizes
+.input-mini { width: 60px; }
+.input-small { width: 90px; }
+.input-medium { width: 150px; }
+.input-large { width: 210px; }
+.input-xlarge { width: 270px; }
+.input-xxlarge { width: 530px; }
+
+// Grid style input sizes
+input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input {
+ float: none;
+ margin-left: 0;
+}
+
+
+
+// GRID SIZING FOR INPUTS
+// ----------------------
+
+@include inputGridSystemGenerate($gridColumns, $gridColumnWidth, $gridGutterWidth);
+
+
+
+
+// DISABLED STATE
+// --------------
+
+// Disabled and read-only inputs
+input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] {
+ background-color: #f5f5f5;
+ border-color: #ddd;
+ cursor: not-allowed;
+}
+
+
+
+
+// FORM FIELD FEEDBACK STATES
+// --------------------------
+
+// Mixin for form field states
+@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
+ // Set the text color
+ > label, .help-block, .help-inline {
+ color: $textColor;
+ }
+ // Style inputs accordingly
+ input, select, textarea {
+ color: $textColor;
+ border-color: $borderColor;
+ &:focus {
+ border-color: darken($borderColor, 10%);
+ @include box-shadow(0 0 6px lighten($borderColor, 20%));
+ }
+ }
+ // Give a small background color for input-prepend/-append
+ .input-prepend .add-on, .input-append .add-on {
+ color: $textColor;
+ background-color: $backgroundColor;
+ border-color: $textColor;
+ }
+}
+// Warning
+.control-group.warning {
+ @include formFieldState($warningText, $warningText, $warningBackground);
+}
+// Error
+.control-group.error {
+ @include formFieldState($errorText, $errorText, $errorBackground);
+}
+// Success
+.control-group.success {
+ @include formFieldState($successText, $successText, $successBackground);
+}
+
+// HTML5 invalid states
+// Shares styles with the .control-group.error above
+input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid {
+ color: #b94a48;
+ border-color: #ee5f5b;
+ &:focus {
+ border-color: darken(#ee5f5b, 10%);
+ @include box-shadow(0 0 6px lighten(#ee5f5b, 20%));
+ }
+}
+
+
+
+// FORM ACTIONS
+// ------------
+
+.form-actions {
+ padding: ($baseLineHeight - 1) 20px $baseLineHeight;
+ margin-top: $baseLineHeight;
+ margin-bottom: $baseLineHeight;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+}
+
+// For text that needs to appear as an input but should not be an input
+.uneditable-input {
+ display: block;
+ background-color: $white;
+ border-color: #eee;
+ @include box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
+ cursor: not-allowed;
+}
+
+// Placeholder text gets special styles; can't be bundled together though for some reason
+@include placeholder($grayLight);
+
+
+
+// HELP TEXT
+// ---------
+
+.help-block {
+ margin-top: 5px;
+ margin-bottom: 0;
+ color: $grayLight;
+}
+
+.help-inline {
+ display: inline-block;
+ @include ie7-inline-block();
+ margin-bottom: 9px;
+ vertical-align: middle;
+ padding-left: 5px;
+}
+
+
+
+// INPUT GROUPS
+// ------------
+
+// Allow us to put symbols and text within the input field for a cleaner look
+.input-prepend, .input-append {
+ margin-bottom: 5px;
+ @include clearfix(); // Clear the float to prevent wrapping
+ input, .uneditable-input {
+ @include border-radius(0 3px 3px 0);
+ &:focus {
+ position: relative;
+ z-index: 2;
+ }
+ }
+ .uneditable-input {
+ border-left-color: #ccc;
+ }
+ .add-on {
+ float: left;
+ display: block;
+ width: auto;
+ min-width: 16px;
+ height: $baseLineHeight;
+ margin-right: -1px;
+ padding: 4px 5px;
+ font-weight: normal;
+ line-height: $baseLineHeight;
+ color: $grayLight;
+ text-align: center;
+ text-shadow: 0 1px 0 $white;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ @include border-radius(3px 0 0 3px);
+ }
+ .active {
+ background-color: lighten($green, 30);
+ border-color: $green;
+ }
+}
+.input-prepend {
+ .add-on {
+ *margin-top: 1px; /* IE6-7 */
+ }
+}
+.input-append {
+ input, .uneditable-input {
+ float: left;
+ @include border-radius(3px 0 0 3px);
+ }
+ .uneditable-input {
+ border-right-color: #ccc;
+ }
+ .add-on {
+ margin-right: 0;
+ margin-left: -1px;
+ @include border-radius(0 3px 3px 0);
+ }
+ input:first-child {
+ // In IE7, having a hasLayout container (from clearfix's zoom:1) can make the first input
+ // inherit the sum of its ancestors' margins.
+ *margin-left: -160px;
+
+ &+.add-on {
+ *margin-left: -21px;
+ }
+ }
+}
+
+
+
+// SEARCH FORM
+// -----------
+
+.search-query {
+ padding-left: 14px;
+ padding-right: 14px;
+ margin-bottom: 0; // remove the default margin on all inputs
+ @include border-radius(14px);
+}
+
+
+
+// HORIZONTAL & VERTICAL FORMS
+// ---------------------------
+
+// Common properties
+// -----------------
+
+.form-search, .form-inline, .form-horizontal {
+ input, textarea, select, .help-inline, .uneditable-input {
+ display: inline-block;
+ margin-bottom: 0;
+ }
+}
+.form-search label, .form-inline label, .form-search .input-append, .form-inline .input-append, .form-search .input-prepend, .form-inline .input-prepend {
+ display: inline-block;
+}
+// Make the prepend and append add-on vertical-align: middle;
+.form-search .input-append .add-on, .form-inline .input-prepend .add-on, .form-search .input-append .add-on, .form-inline .input-prepend .add-on {
+ vertical-align: middle;
+}
+
+// Margin to space out fieldsets
+.control-group {
+ margin-bottom: $baseLineHeight / 2;
+}
+
+// Horizontal-specific styles
+// --------------------------
+
+.form-horizontal {
+ // Legend collapses margin, so we're relegated to padding
+ legend + .control-group {
+ margin-top: $baseLineHeight;
+ -webkit-margin-top-collapse: separate;
+ }
+ // Increase spacing between groups
+ .control-group {
+ margin-bottom: $baseLineHeight;
+ @include clearfix();
+ }
+ // Float the labels left
+ .control-group > label {
+ float: left;
+ width: 140px;
+ padding-top: 5px;
+ text-align: right;
+ }
+ // Move over all input controls and content
+ .controls {
+ margin-left: 160px;
+ }
+ // Move over buttons in .form-actions to align with .controls
+ .form-actions {
+ padding-left: 160px;
+ }
+}
diff --git a/vendor/assets/stylesheets/bootstrap/_grid.scss b/vendor/assets/stylesheets/bootstrap/_grid.scss
new file mode 100644
index 00000000..d29b7aa5
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_grid.scss
@@ -0,0 +1,8 @@
+// GRID SYSTEM
+// -----------
+
+// Fixed (940px)
+@include gridSystemGenerate($gridColumns, $gridColumnWidth, $gridGutterWidth);
+
+// Fluid (940px)
+@include fluidGridSystemGenerate($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth); \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_hero-unit.scss b/vendor/assets/stylesheets/bootstrap/_hero-unit.scss
new file mode 100644
index 00000000..7184ffb1
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_hero-unit.scss
@@ -0,0 +1,20 @@
+// HERO UNIT
+// ---------
+
+.hero-unit {
+ padding: 60px;
+ margin-bottom: 30px;
+ background-color: #f5f5f5;
+ @include border-radius(6px);
+ h1 {
+ margin-bottom: 0;
+ font-size: 60px;
+ line-height: 1;
+ letter-spacing: -1px;
+ }
+ p {
+ font-size: 18px;
+ font-weight: 200;
+ line-height: $baseLineHeight * 1.5;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_labels.scss b/vendor/assets/stylesheets/bootstrap/_labels.scss
new file mode 100644
index 00000000..2b4396ce
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_labels.scss
@@ -0,0 +1,16 @@
+// LABELS
+// ------
+
+.label {
+ padding: 1px 3px 2px;
+ font-size: $baseFontSize * .75;
+ font-weight: bold;
+ color: $white;
+ text-transform: uppercase;
+ background-color: $grayLight;
+ @include border-radius(3px);
+}
+.label-important { background-color: $errorText; }
+.label-warning { background-color: $orange; }
+.label-success { background-color: $successText; }
+.label-info { background-color: $infoText; } \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_layouts.scss b/vendor/assets/stylesheets/bootstrap/_layouts.scss
new file mode 100644
index 00000000..c600522d
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_layouts.scss
@@ -0,0 +1,17 @@
+//
+// Layouts
+// Fixed-width and fluid (with sidebar) layouts
+// --------------------------------------------
+
+
+// Container (centered, fixed-width layouts)
+.container {
+ @include container-fixed();
+}
+
+// Fluid layouts (left aligned, with sidebar, min- & max-width content)
+.container-fluid {
+ padding-left: $gridGutterWidth;
+ padding-right: $gridGutterWidth;
+ @include clearfix();
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_mixins.scss b/vendor/assets/stylesheets/bootstrap/_mixins.scss
new file mode 100644
index 00000000..76e7969a
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_mixins.scss
@@ -0,0 +1,479 @@
+// Mixins.less
+// Snippets of reusable CSS to develop faster and keep code readable
+// -----------------------------------------------------------------
+
+
+// UTILITY MIXINS
+// --------------------------------------------------
+
+// Clearfix
+// --------
+// For clearing floats like a boss h5bp.com/q
+@mixin clearfix() {
+ *zoom: 1;
+ &:before,
+ &:after {
+ display: table;
+ content: "";
+ }
+ &:after {
+ clear: both;
+ }
+}
+
+// Webkit-style focus
+// ------------------
+@mixin tab-focus() {
+ // Default
+ outline: thin dotted;
+ // Webkit
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+// Center-align a block level element
+// ----------------------------------
+@mixin center-block() {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+// IE7 inline-block
+// ----------------
+@mixin ie7-inline-block() {
+ *display: inline; /* IE7 inline-block hack */
+ *zoom: 1;
+}
+
+// IE7 likes to collapse whitespace on either side of the inline-block elements.
+// Ems because we're attempting to match the width of a space character. Left
+// version is for form buttons, which typically come after other elements, and
+// right version is for icons, which come before. Applying both is ok, but it will
+// mean that space between those elements will be .6em (~2 space characters) in IE7,
+// instead of the 1 space in other browsers.
+@mixin ie7-restore-left-whitespace() {
+ *margin-left: .3em;
+
+ &:first-child {
+ *margin-left: 0;
+ }
+}
+
+@mixin ie7-restore-right-whitespace() {
+ *margin-right: .3em;
+
+ &:last-child {
+ *margin-left: 0;
+ }
+}
+
+// Sizing shortcuts
+// -------------------------
+@mixin size($height: 5px, $width: 5px) {
+ width: $width;
+ height: $height;
+}
+@mixin square($size: 5px) {
+ @include size($size, $size);
+}
+
+// Placeholder text
+// -------------------------
+@mixin placeholder($color: $placeholderText) {
+ :-moz-placeholder {
+ color: $color;
+ }
+ ::-webkit-input-placeholder {
+ color: $color;
+ }
+}
+
+
+
+// FONTS
+// --------------------------------------------------
+@mixin font-family-serif() {
+ font-family: Georgia, "Times New Roman", Times, serif;
+}
+@mixin font-family-sans-serif() {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+@mixin font-family-monospace() {
+ font-family: Menlo, Monaco, "Courier New", monospace;
+}
+@mixin font-shorthand($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
+ font-size: $size;
+ font-weight: $weight;
+ line-height: $lineHeight;
+}
+@mixin font-serif($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
+ @include font-family-serif();
+ @include font-shorthand($size, $weight, $lineHeight);
+}
+@mixin font-sans-serif($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
+ @include font-family-sans-serif();
+ @include font-shorthand($size, $weight, $lineHeight);
+}
+@mixin font-monospace($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
+ @include font-family-monospace();
+ @include font-shorthand($size, $weight, $lineHeight);
+}
+
+
+
+// GRID SYSTEM
+// --------------------------------------------------
+
+// Site container
+// -------------------------
+@mixin container-fixed() {
+ width: $gridRowWidth;
+ margin-left: auto;
+ margin-right: auto;
+ @include clearfix();
+}
+
+// Le grid system
+// -------------------------
+
+// Setup the mixins to be used
+@mixin gridSystemColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $columns) {
+ width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
+}
+@mixin gridSystemOffset($gridColumnWidth, $gridGutterWidth, $columns) {
+ margin-left: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1)) + ($gridGutterWidth * 2);
+}
+@mixin gridSystemGridColumn($gridGutterWidth) {
+ float: left;
+ margin-left: $gridGutterWidth;
+}
+// Take these values and mixins, and make 'em do their thang
+@mixin gridSystemGenerate($gridColumns, $gridColumnWidth, $gridGutterWidth) {
+ // Row surrounds the columns
+ .row {
+ margin-left: $gridGutterWidth * -1;
+ @include clearfix();
+ }
+ // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
+ [class*="span"] {
+ @include gridSystemGridColumn($gridGutterWidth);
+ }
+ // Default columns
+ @for $i from 1 through $gridColumns {
+ .span#{$i} { @include gridSystemColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $i) }
+ }
+ .container { @include gridSystemColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $gridColumns) }
+
+ // Offset column options
+ @for $i from 1 through $gridColumns - 1 {
+ .offset#{$i} { @include gridSystemOffset($gridColumnWidth, $gridGutterWidth, $i) }
+ }
+}
+
+// Fluid grid system
+// -------------------------
+@mixin fluidGridSystemColumns($fluidGridGutterWidth, $fluidGridColumnWidth, $columns) {
+ width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1));
+}
+@mixin fluidGridSystemGridColumn($fluidGridGutterWidth) {
+ float: left;
+ margin-left: $fluidGridGutterWidth;
+}
+// Take these values and mixins, and make 'em do their thang
+@mixin fluidGridSystemGenerate($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
+ // Row surrounds the columns
+ .row-fluid {
+ width: 100%;
+ @include clearfix();
+
+ // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
+ > [class*="span"] {
+ @include fluidGridSystemGridColumn($fluidGridGutterWidth);
+ }
+ > [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ // Default columns
+ @for $i from 1 through $gridColumns {
+ .span#{$i} { @include fluidGridSystemColumns($fluidGridGutterWidth, $fluidGridColumnWidth, $i); }
+ }
+ }
+}
+
+
+
+// Input grid system
+// -------------------------
+@mixin inputGridSystemInputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $columns) {
+ width: (($gridColumnWidth) * $columns) + ($gridGutterWidth * ($columns - 1)) - 10;
+}
+@mixin inputGridSystemGenerate($gridColumns, $gridColumnWidth, $gridGutterWidth) {
+ input, textarea, .uneditable-input {
+ @for $i from 1 through $gridColumns {
+ &.span#{$i} { @include inputGridSystemInputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $i); }
+ }
+ }
+}
+
+
+
+// CSS3 PROPERTIES
+// --------------------------------------------------
+
+// Border Radius
+@mixin border-radius($radius: 5px) {
+ -webkit-border-radius: $radius;
+ -moz-border-radius: $radius;
+ border-radius: $radius;
+}
+
+// Drop shadows
+@mixin box-shadow($shadow: 0 1px 3px rgba(0,0,0,.25)) {
+ -webkit-box-shadow: $shadow;
+ -moz-box-shadow: $shadow;
+ box-shadow: $shadow;
+}
+
+// Transitions
+@mixin transition($transition) {
+ -webkit-transition: $transition;
+ -moz-transition: $transition;
+ -ms-transition: $transition;
+ -o-transition: $transition;
+ transition: $transition;
+}
+
+// Transformations
+@mixin rotate($degrees) {
+ -webkit-transform: rotate($degrees);
+ -moz-transform: rotate($degrees);
+ -ms-transform: rotate($degrees);
+ -o-transform: rotate($degrees);
+ transform: rotate($degrees);
+}
+@mixin scale($ratio) {
+ -webkit-transform: scale($ratio);
+ -moz-transform: scale($ratio);
+ -ms-transform: scale($ratio);
+ -o-transform: scale($ratio);
+ transform: scale($ratio);
+}
+@mixin translate($x: 0, $y: 0) {
+ -webkit-transform: translate($x, $y);
+ -moz-transform: translate($x, $y);
+ -ms-transform: translate($x, $y);
+ -o-transform: translate($x, $y);
+ transform: translate($x, $y);
+}
+
+// Removed duplicate mixin # TM.
+
+@mixin skew($x: 0, $y: 0) {
+ -webkit-transform: skew($x, $y);
+ -moz-transform: skew($x, $y);
+ -ms-transform: skew($x, $y);
+ -o-transform: skew($x, $y);
+ transform: skew($x, $y);
+}
+
+// Background clipping
+// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
+@mixin background-clip($clip) {
+ -webkit-background-clip: $clip;
+ -moz-background-clip: $clip;
+ background-clip: $clip;
+}
+
+// Background sizing
+@mixin background-size($size){
+ -webkit-background-size: $size;
+ -moz-background-size: $size;
+ -o-background-size: $size;
+ background-size: $size;
+}
+
+
+// Box sizing
+@mixin box-sizing($boxmodel) {
+ -webkit-box-sizing: $boxmodel;
+ -moz-box-sizing: $boxmodel;
+ box-sizing: $boxmodel;
+}
+
+// User select
+// For selecting text on the page
+@mixin user-select($select) {
+ -webkit-user-select: $select;
+ -moz-user-select: $select;
+ -o-user-select: $select;
+ user-select: $select;
+}
+
+// Resize anything
+@mixin resizable($direction: both) {
+ resize: $direction; // Options: horizontal, vertical, both
+ overflow: auto; // Safari fix
+}
+
+// CSS3 Content Columns
+@mixin content-columns($columnCount, $columnGap: $gridColumnGutter) {
+ -webkit-column-count: $columnCount;
+ -moz-column-count: $columnCount;
+ column-count: $columnCount;
+ -webkit-column-gap: $columnGap;
+ -moz-column-gap: $columnGap;
+ column-gap: $columnGap;
+}
+
+// Opacity
+@mixin opacity($opacity: 100) {
+ opacity: $opacity / 100;
+ filter: alpha(opacity=$opacity);
+}
+
+
+
+// BACKGROUNDS
+// --------------------------------------------------
+
+// Add an alphatransparency value to any background or border color (via Elyse Holladay)
+@mixin translucent-background($color: $white, $alpha: 1) {
+ background-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
+}
+@mixin translucent-border($color: $white, $alpha: 1) {
+ border-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
+ @include background-clip(padding-box);
+}
+
+// Gradient Bar Colors for buttons and alerts
+@mixin gradientBar($primaryColor, $secondaryColor) {
+ @include gradient-vertical($primaryColor, $secondaryColor);
+ border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
+ border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
+}
+
+// Gradients
+@mixin gradient-horizontal($startColor: #555, $endColor: #333) {
+ background-color: $endColor;
+ background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
+ background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
+ background-image: linear-gradient(left, $startColor, $endColor); // Le standard
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
+}
+@mixin gradient-vertical($startColor: #555, $endColor: #333) {
+ background-color: mix($startColor, $endColor, 60%);
+ background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
+ background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
+ background-image: linear-gradient(top, $startColor, $endColor); // The standard
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down
+}
+@mixin gradient-directional($startColor: #555, $endColor: #333, $deg: 45deg) {
+ background-color: $endColor;
+ background-repeat: repeat-x;
+ background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
+ background-image: -ms-linear-gradient($deg, $startColor, $endColor); // IE10
+ background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
+ background-image: linear-gradient($deg, $startColor, $endColor); // The standard
+}
+@mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
+ background-color: mix($midColor, $endColor, 80%);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
+ background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
+ background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
+ background-image: -ms-linear-gradient($startColor, $midColor $colorStop, $endColor);
+ background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
+ background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
+}
+@mixin gradient-radial($innerColor: #555, $outerColor: #333) {
+ background-color: $outerColor;
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor));
+ background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor);
+ background-image: -moz-radial-gradient(circle, $innerColor, $outerColor);
+ background-image: -ms-radial-gradient(circle, $innerColor, $outerColor);
+ background-repeat: no-repeat;
+ // Opera cannot do radial gradients yet
+}
+@mixin gradient-striped($color, $angle: -45deg) {
+ background-color: $color;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0));
+}
+// Reset filters for IE
+@mixin reset-filter() {
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+
+
+// Mixin for generating button backgrounds
+// ---------------------------------------
+@mixin buttonBackground($startColor, $endColor) {
+ // gradientBar will set the background to a pleasing blend of these, to support IE<=9
+ @include gradientBar($startColor, $endColor);
+ @include reset-filter();
+
+ // in these cases the gradient won't cover the background, so we override
+ &:hover, &:active, &.active, &.disabled, &[disabled] {
+ background-color: $endColor;
+ }
+
+ // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
+ &:active, &.active {
+ background-color: darken($endColor, 10%) \9;
+ }
+}
+
+
+// COMPONENT MIXINS
+// --------------------------------------------------
+
+// POPOVER ARROWS
+// -------------------------
+// For tipsies and popovers
+@mixin popoverArrowTop($arrowWidth: 5px) {
+ bottom: 0;
+ left: 50%;
+ margin-left: -$arrowWidth;
+ border-left: $arrowWidth solid transparent;
+ border-right: $arrowWidth solid transparent;
+ border-top: $arrowWidth solid $black;
+}
+@mixin popoverArrowLeft($arrowWidth: 5px) {
+ top: 50%;
+ right: 0;
+ margin-top: -$arrowWidth;
+ border-top: $arrowWidth solid transparent;
+ border-bottom: $arrowWidth solid transparent;
+ border-left: $arrowWidth solid $black;
+}
+@mixin popoverArrowBottom($arrowWidth: 5px) {
+ top: 0;
+ left: 50%;
+ margin-left: -$arrowWidth;
+ border-left: $arrowWidth solid transparent;
+ border-right: $arrowWidth solid transparent;
+ border-bottom: $arrowWidth solid $black;
+}
+@mixin popoverArrowRight($arrowWidth: 5px) {
+ top: 50%;
+ left: 0;
+ margin-top: -$arrowWidth;
+ border-top: $arrowWidth solid transparent;
+ border-bottom: $arrowWidth solid transparent;
+ border-right: $arrowWidth solid $black;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_modals.scss b/vendor/assets/stylesheets/bootstrap/_modals.scss
new file mode 100644
index 00000000..fb21d26d
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_modals.scss
@@ -0,0 +1,72 @@
+// MODALS
+// ------
+
+.modal-open {
+ .dropdown-menu { z-index: $zindexDropdown + $zindexModal; }
+ .dropdown.open { *z-index: $zindexDropdown + $zindexModal; }
+ .popover { z-index: $zindexPopover + $zindexModal; }
+ .tooltip { z-index: $zindexTooltip + $zindexModal; }
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: $zindexModalBackdrop;
+ background-color: $black;
+ // Fade for backdrop
+ &.fade { opacity: 0; }
+}
+
+.modal-backdrop, .modal-backdrop.fade.in {
+ @include opacity(80);
+}
+
+.modal {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ z-index: $zindexModal;
+ max-height: 500px;
+ overflow: auto;
+ width: 560px;
+ margin: -250px 0 0 -280px;
+ background-color: $white;
+ border: 1px solid #999;
+ border: 1px solid rgba(0,0,0,.3);
+ *border: 1px solid #999; /* IE6-7 */
+ @include border-radius(6px);
+ @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
+ @include background-clip(padding-box);
+ &.fade {
+ $transition: opacity .3s linear, top .3s ease-out;
+ @include transition($transition);
+ top: -25%;
+ }
+ &.fade.in { top: 50%; }
+}
+.modal-header {
+ padding: 9px 15px;
+ border-bottom: 1px solid #eee;
+ // Close icon
+ .close { margin-top: 2px; }
+}
+.modal-body {
+ padding: 15px;
+}
+.modal-footer {
+ padding: 14px 15px 15px;
+ margin-bottom: 0;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ @include border-radius(0 0 6px 6px);
+ @include box-shadow(inset 0 1px 0 $white);
+ @include clearfix();
+ .btn {
+ float: right;
+ margin-left: 5px;
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_navbar.scss b/vendor/assets/stylesheets/bootstrap/_navbar.scss
new file mode 100644
index 00000000..cca39dd7
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_navbar.scss
@@ -0,0 +1,282 @@
+// NAVBAR (FIXED AND STATIC)
+// -------------------------
+
+
+// COMMON STYLES
+// -------------
+
+.navbar {
+ overflow: visible;
+ margin-bottom: $baseLineHeight;
+}
+
+// Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present
+.navbar-inner {
+ padding-left: 20px;
+ padding-right: 20px;
+ @include gradient-vertical($navbarBackgroundHighlight, $navbarBackground);
+ @include border-radius(4px);
+ $shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
+ @include box-shadow($shadow);
+}
+
+// Navbar button for toggling navbar items in responsive layouts
+.btn-navbar {
+ display: none;
+ float: right;
+ padding: 7px 10px;
+ margin-left: 5px;
+ margin-right: 5px;
+ @include buttonBackground($navbarBackgroundHighlight, $navbarBackground);
+ $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
+ @include box-shadow($shadow);
+}
+.btn-navbar .icon-bar {
+ display: block;
+ width: 18px;
+ height: 2px;
+ background-color: #f5f5f5;
+ @include border-radius(1px);
+ @include box-shadow(0 1px 0 rgba(0,0,0,.25));
+}
+.btn-navbar .icon-bar + .icon-bar {
+ margin-top: 3px;
+}
+// Override the default collapsed state
+.nav-collapse.collapse {
+ height: auto;
+}
+
+
+// Brand, links, text, and buttons
+.navbar {
+ // Hover and active states
+ .brand:hover {
+ text-decoration: none;
+ }
+ // Website or project name
+ .brand {
+ float: left;
+ display: block;
+ padding: 8px 20px 12px;
+ margin-left: -20px; // negative indent to left-align the text down the page
+ font-size: 20px;
+ font-weight: 200;
+ line-height: 1;
+ color: $white;
+ }
+ // Plain text in topbar
+ .navbar-text {
+ margin-bottom: 0;
+ line-height: 40px;
+ color: $navbarText;
+ a:hover {
+ color: $white;
+ background-color: transparent;
+ }
+ }
+ // Buttons in navbar
+ .btn, .btn-group {
+ margin-top: 5px; // make buttons vertically centered in navbar
+ }
+ .btn-group .btn {
+ margin-top: 0;
+ }
+}
+
+// Navbar forms
+.navbar-form {
+ margin-bottom: 0; // remove default bottom margin
+ @include clearfix();
+ input, select {
+ display: inline-block;
+ margin-top: 5px;
+ margin-bottom: 0;
+ }
+ .radio, .checkbox {
+ margin-top: 5px;
+ }
+ input[type="image"], input[type="checkbox"], input[type="radio"] {
+ margin-top: 3px;
+ }
+}
+
+// Navbar search
+.navbar-search {
+ position: relative;
+ float: left;
+ margin-top: 6px;
+ margin-bottom: 0;
+ .search-query {
+ padding: 4px 9px;
+ @include font-sans-serif(13px, normal, 1);
+ color: $white;
+ color: rgba(255,255,255,.75);
+ background: #666;
+ background: rgba(255,255,255,.3);
+ border: 1px solid #111;
+ $shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
+ @include box-shadow($shadow);
+ @include transition(none);
+
+ // Placeholder text gets special styles; can't be bundled together though for some reason
+ @include placeholder($grayLighter);
+
+ // Hover states
+ &:hover {
+ color: $white;
+ background-color: $grayLight;
+ background-color: rgba(255,255,255,.5);
+ }
+ // Focus states (we use .focused since IE8 and down doesn't support :focus)
+ &:focus, &.focused {
+ padding: 5px 10px;
+ color: $grayDark;
+ text-shadow: 0 1px 0 $white;
+ background-color: $white;
+ border: 0;
+ @include box-shadow(0 0 3px rgba(0,0,0,.15));
+ outline: 0;
+ }
+ }
+}
+
+
+// FIXED NAVBAR
+// ------------
+
+.navbar-fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: $zindexFixedNavbar;
+}
+.navbar-fixed-top .navbar-inner {
+ padding-left: 0;
+ padding-right: 0;
+ @include border-radius(0);
+}
+
+
+// NAVIGATION
+// ----------
+
+.navbar .nav {
+ position: relative;
+ left: 0;
+ display: block;
+ float: left;
+ margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+ float: right; // redeclare due to specificity
+}
+.navbar .nav > li {
+ display: block;
+ float: left;
+}
+
+// Links
+.navbar .nav > li > a {
+ float: none;
+ padding: 10px 10px 11px;
+ line-height: 19px;
+ color: $navbarLinkColor;
+ text-decoration: none;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+}
+// Hover
+.navbar .nav > li > a:hover {
+ background-color: transparent;
+ color: $navbarLinkColorHover;
+ text-decoration: none;
+}
+
+// Active nav items
+.navbar .nav .active > a, .navbar .nav .active > a:hover {
+ color: $navbarLinkColorHover;
+ text-decoration: none;
+ background-color: $navbarBackground;
+ background-color: rgba(0,0,0,.5);
+}
+
+// Dividers (basically a vertical hr)
+.navbar .divider-vertical {
+ height: $navbarHeight;
+ width: 1px;
+ margin: 0 9px;
+ overflow: hidden;
+ background-color: $navbarBackground;
+ border-right: 1px solid $navbarBackgroundHighlight;
+}
+
+// Secondary (floated right) nav in topbar
+.navbar .nav.pull-right {
+ margin-left: 10px;
+ margin-right: 0;
+}
+
+
+
+// Dropdown menus
+// --------------
+
+// Menu position and menu carets
+.navbar .dropdown-menu {
+ margin-top: 1px;
+ @include border-radius(4px);
+ &:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0,0,0,.2);
+ position: absolute;
+ top: -7px;
+ left: 9px;
+ }
+ &:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid $white;
+ position: absolute;
+ top: -6px;
+ left: 10px;
+ }
+}
+
+// Dropdown toggle caret
+.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
+ border-top-color: $white;
+}
+.navbar .nav .active .caret {
+ @include opacity(100);
+}
+
+// Remove background color from open dropdown
+.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
+ background-color: transparent;
+}
+
+// Dropdown link on hover
+.navbar .nav .active > .dropdown-toggle:hover {
+ color: $white;
+}
+
+// Right aligned menus need alt position
+.navbar .nav.pull-right .dropdown-menu {
+ left: auto;
+ right: 0;
+ &:before {
+ left: auto;
+ right: 12px;
+ }
+ &:after {
+ left: auto;
+ right: 13px;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_navs.scss b/vendor/assets/stylesheets/bootstrap/_navs.scss
new file mode 100644
index 00000000..734dc105
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_navs.scss
@@ -0,0 +1,320 @@
+// NAVIGATIONS
+// -----------
+
+
+
+// BASE CLASS
+// ----------
+
+.nav {
+ margin-left: 0;
+ margin-bottom: $baseLineHeight;
+ list-style: none;
+}
+
+// Make links block level
+.nav > li > a {
+ display: block;
+}
+.nav > li > a:hover {
+ text-decoration: none;
+ background-color: $grayLighter;
+}
+
+
+
+// NAV LIST
+// --------
+
+.nav-list {
+ padding-left: 14px;
+ padding-right: 14px;
+ margin-bottom: 0;
+}
+.nav-list > li > a, .nav-list .nav-header {
+ display: block;
+ padding: 3px 15px;
+ margin-left: -15px;
+ margin-right: -15px;
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
+}
+.nav-list .nav-header {
+ font-size: 11px;
+ font-weight: bold;
+ line-height: $baseLineHeight;
+ color: $grayLight;
+ text-transform: uppercase;
+}
+.nav-list > li + .nav-header {
+ margin-top: 9px;
+}
+.nav-list .active > a {
+ color: $white;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
+ background-color: $linkColor;
+}
+.nav-list .icon {
+ margin-right: 2px;
+}
+
+
+
+// TABS AND PILLS
+// -------------
+
+// Common styles
+.nav-tabs, .nav-pills {
+ @include clearfix();
+}
+.nav-tabs > li, .nav-pills > li {
+ float: left;
+}
+.nav-tabs > li > a, .nav-pills > li > a {
+ padding-right: 12px;
+ padding-left: 12px;
+ margin-right: 2px;
+ line-height: 14px; // keeps the overall height an even number
+}
+
+// TABS
+// ----
+
+// Give the tabs something to sit on
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+
+// Make the list-items overlay the bottom border
+.nav-tabs > li {
+ margin-bottom: -1px;
+}
+
+// Actual tabs (as links)
+.nav-tabs > li > a {
+ padding-top: 9px;
+ padding-bottom: 9px;
+ border: 1px solid transparent;
+ @include border-radius(4px 4px 0 0);
+ &:hover {
+ border-color: $grayLighter $grayLighter #ddd;
+ }
+}
+// Active state, and it's :hover to override normal :hover
+.nav-tabs > .active > a, .nav-tabs > .active > a:hover {
+ color: $gray;
+ background-color: $white;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+ cursor: default;
+}
+
+// PILLS
+// -----
+
+// Links rendered as pills
+.nav-pills > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ @include border-radius(5px);
+}
+
+// Active state
+.nav-pills .active > a, .nav-pills .active > a:hover {
+ color: $white;
+ background-color: $linkColor;
+}
+
+
+
+// STACKED NAV
+// -----------
+
+// Stacked tabs and pills
+.nav-stacked > li {
+ float: none;
+}
+.nav-stacked > li > a {
+ margin-right: 0; // no need for the gap between nav items
+}
+
+// Tabs
+.nav-tabs.nav-stacked {
+ border-bottom: 0;
+}
+.nav-tabs.nav-stacked > li > a {
+ border: 1px solid #ddd;
+ @include border-radius(0);
+}
+.nav-tabs.nav-stacked > li:first-child > a {
+ @include border-radius(4px 4px 0 0);
+}
+.nav-tabs.nav-stacked > li:last-child > a {
+ @include border-radius(0 0 4px 4px);
+}
+.nav-tabs.nav-stacked > li > a:hover {
+ border-color: #ddd;
+ z-index: 2;
+}
+
+// Pills
+.nav-pills.nav-stacked > li > a {
+ margin-bottom: 3px;
+}
+.nav-pills.nav-stacked > li:last-child > a {
+ margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
+}
+
+
+
+// DROPDOWNS
+// ---------
+
+// Position the menu
+.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu {
+ margin-top: 1px;
+ border-width: 1px;
+}
+.nav-pills .dropdown-menu {
+ @include border-radius(4px);
+}
+
+// Default dropdown links
+// -------------------------
+// Make carets use linkColor to start
+.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret {
+ border-top-color: $linkColor;
+ margin-top: 6px;
+}
+.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {
+ border-top-color: $linkColorHover;
+}
+
+// Active dropdown links
+// -------------------------
+.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {
+ border-top-color: $grayDark;
+}
+
+// Active:hover dropdown links
+// -------------------------
+.nav > .dropdown.active > a:hover {
+ color: $black;
+ cursor: pointer;
+}
+
+// Open dropdowns
+// -------------------------
+.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover {
+ color: $white;
+ background-color: $grayLight;
+ border-color: $grayLight;
+}
+.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
+ border-top-color: $white;
+ @include opacity(100);
+}
+
+// Dropdowns in stacked tabs
+.tabs-stacked .open > a:hover {
+ border-color: $grayLight;
+}
+
+
+
+// TABBABLE
+// --------
+
+
+// COMMON STYLES
+// -------------
+
+// Clear any floats
+.tabbable {
+ @include clearfix();
+}
+
+// Remove border on bottom, left, right
+.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {
+ border-bottom: 0;
+}
+
+// Show/hide tabbable areas
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+ display: none;
+}
+.tab-content > .active, .pill-content > .active {
+ display: block;
+}
+
+
+// BOTTOM
+// ------
+
+.tabs-below .nav-tabs {
+ border-top: 1px solid #ddd;
+}
+.tabs-below .nav-tabs > li {
+ margin-top: -1px;
+ margin-bottom: 0;
+}
+.tabs-below .nav-tabs > li > a {
+ @include border-radius(0 0 4px 4px);
+ &:hover {
+ border-bottom-color: transparent;
+ border-top-color: #ddd;
+ }
+}
+.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover {
+ border-color: transparent #ddd #ddd #ddd;
+}
+
+// LEFT & RIGHT
+// ------------
+
+// Common styles
+.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li {
+ float: none;
+}
+.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a {
+ min-width: 74px;
+ margin-right: 0;
+ margin-bottom: 3px;
+}
+
+// Tabs on the left
+.tabs-left .nav-tabs {
+ float: left;
+ margin-right: 19px;
+ border-right: 1px solid #ddd;
+}
+.tabs-left .nav-tabs > li > a {
+ margin-right: -1px;
+ @include border-radius(4px 0 0 4px);
+}
+.tabs-left .nav-tabs > li > a:hover {
+ border-color: $grayLighter #ddd $grayLighter $grayLighter;
+}
+.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover {
+ border-color: #ddd transparent #ddd #ddd;
+ *border-right-color: $white;
+}
+
+// Tabs on the right
+.tabs-right .nav-tabs {
+ float: right;
+ margin-left: 19px;
+ border-left: 1px solid #ddd;
+}
+.tabs-right .nav-tabs > li > a {
+ margin-left: -1px;
+ @include border-radius(0 4px 4px 0);
+}
+.tabs-right .nav-tabs > li > a:hover {
+ border-color: $grayLighter $grayLighter $grayLighter #ddd;
+}
+.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover {
+ border-color: #ddd #ddd #ddd transparent;
+ *border-left-color: $white;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_pager.scss b/vendor/assets/stylesheets/bootstrap/_pager.scss
new file mode 100644
index 00000000..ee6afefb
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_pager.scss
@@ -0,0 +1,30 @@
+// PAGER
+// -----
+
+.pager {
+ margin-left: 0;
+ margin-bottom: $baseLineHeight;
+ list-style: none;
+ text-align: center;
+ @include clearfix();
+}
+.pager li {
+ display: inline;
+}
+.pager a {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ @include border-radius(15px);
+}
+.pager a:hover {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.pager .next a {
+ float: right;
+}
+.pager .previous a {
+ float: left;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_pagination.scss b/vendor/assets/stylesheets/bootstrap/_pagination.scss
new file mode 100644
index 00000000..105c710c
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_pagination.scss
@@ -0,0 +1,53 @@
+// PAGINATION
+// ----------
+
+.pagination {
+ height: $baseLineHeight * 2;
+ margin: $baseLineHeight 0;
+ }
+.pagination ul {
+ display: inline-block;
+ @include ie7-inline-block();
+ margin-left: 0;
+ margin-bottom: 0;
+ @include border-radius(3px);
+ @include box-shadow(0 1px 2px rgba(0,0,0,.05));
+}
+.pagination li {
+ display: inline;
+}
+.pagination a {
+ float: left;
+ padding: 0 14px;
+ line-height: ($baseLineHeight * 2) - 2;
+ text-decoration: none;
+ border: 1px solid #ddd;
+ border-left-width: 0;
+}
+.pagination a:hover, .pagination .active a {
+ background-color: #f5f5f5;
+}
+.pagination .active a {
+ color: $grayLight;
+ cursor: default;
+}
+.pagination .disabled a, .pagination .disabled a:hover {
+ color: $grayLight;
+ background-color: transparent;
+ cursor: default;
+}
+.pagination li:first-child a {
+ border-left-width: 1px;
+ @include border-radius(3px 0 0 3px);
+}
+.pagination li:last-child a {
+ @include border-radius(0 3px 3px 0);
+}
+
+// Centered
+.pagination-centered {
+ text-align: center;
+}
+.pagination-right {
+ text-align: right;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_popovers.scss b/vendor/assets/stylesheets/bootstrap/_popovers.scss
new file mode 100644
index 00000000..a0b200ec
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_popovers.scss
@@ -0,0 +1,49 @@
+// POPOVERS
+// --------
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: $zindexPopover;
+ display: none;
+ padding: 5px;
+ &.top { margin-top: -5px; }
+ &.right { margin-left: 5px; }
+ &.bottom { margin-top: 5px; }
+ &.left { margin-left: -5px; }
+ &.top .arrow { @include popoverArrowTop(); }
+ &.right .arrow { @include popoverArrowRight(); }
+ &.bottom .arrow { @include popoverArrowBottom(); }
+ &.left .arrow { @include popoverArrowLeft(); }
+ .arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ }
+}
+.popover-inner {
+ padding: 3px;
+ width: 280px;
+ overflow: hidden;
+ background: $black; // has to be full background declaration for IE fallback
+ background: rgba(0,0,0,.8);
+ @include border-radius(6px);
+ @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
+}
+.popover-title {
+ padding: 9px 15px;
+ line-height: 1;
+ background-color: #f5f5f5;
+ border-bottom:1px solid #eee;
+ @include border-radius(3px 3px 0 0);
+}
+.popover-content {
+ padding: 14px;
+ background-color: $white;
+ @include border-radius(0 0 3px 3px);
+ @include background-clip(padding-box);
+ p, ul, ol {
+ margin-bottom: 0;
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_progress-bars.scss b/vendor/assets/stylesheets/bootstrap/_progress-bars.scss
new file mode 100644
index 00000000..567a1a59
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_progress-bars.scss
@@ -0,0 +1,95 @@
+// PROGRESS BARS
+// -------------
+
+
+// ANIMATIONS
+// ----------
+
+// Webkit
+@-webkit-keyframes progress-bar-stripes {
+ from { background-position: 0 0; }
+ to { background-position: 40px 0; }
+}
+
+// Firefox
+@-moz-keyframes progress-bar-stripes {
+ from { background-position: 0 0; }
+ to { background-position: 40px 0; }
+}
+
+// Spec
+@keyframes progress-bar-stripes {
+ from { background-position: 0 0; }
+ to { background-position: 40px 0; }
+}
+
+
+
+// THE BARS
+// --------
+
+// Outer container
+.progress {
+ overflow: hidden;
+ height: 18px;
+ margin-bottom: 18px;
+ @include gradient-vertical(#f5f5f5, #f9f9f9);
+ @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
+ @include border-radius(4px);
+}
+
+// Bar of progress
+.progress .bar {
+ width: 0%;
+ height: 18px;
+ color: $white;
+ font-size: 12px;
+ text-align: center;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ @include gradient-vertical(#149bdf, #0480be);
+ @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
+ @include box-sizing(border-box);
+ @include transition(width .6s ease);
+}
+
+// Striped bars
+.progress-striped .bar {
+ @include gradient-striped(#62c462);
+ @include background-size(40px 40px);
+}
+
+// Call animation for the active one
+.progress.active .bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -moz-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+
+
+
+// COLORS
+// ------
+
+// Danger (red)
+.progress-danger .bar {
+ @include gradient-vertical(#ee5f5b, #c43c35);
+}
+.progress-danger.progress-striped .bar {
+ @include gradient-striped(#ee5f5b);
+}
+
+// Success (green)
+.progress-success .bar {
+ @include gradient-vertical(#62c462, #57a957);
+}
+.progress-success.progress-striped .bar {
+ @include gradient-striped(#62c462);
+}
+
+// Info (teal)
+.progress-info .bar {
+ @include gradient-vertical(#5bc0de, #339bb9);
+}
+.progress-info.progress-striped .bar {
+ @include gradient-striped(#5bc0de);
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_reset.scss b/vendor/assets/stylesheets/bootstrap/_reset.scss
new file mode 100644
index 00000000..f1d0c6a2
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_reset.scss
@@ -0,0 +1,105 @@
+// Reset.css.scss
+// Adapted from Normalize.css http://github.com/necolas/normalize.css
+// ------------------------------------------------------------------------
+
+// Display in IE6-9 and FF3
+// -------------------------
+
+article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
+ display: block;
+}
+
+// Display block in IE6-9 and FF3
+// -------------------------
+
+audio, canvas, video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+// Prevents modern browsers from displaying 'audio' without controls
+// -------------------------
+
+audio:not([controls]) {
+ display: none;
+}
+
+// Base settings
+// -------------------------
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+// Focus states
+a:focus {
+ @include tab-focus();
+}
+// Hover & Active
+a:hover, a:active {
+ outline: 0;
+}
+
+// Prevents sub and sup affecting line-height in all browsers
+// -------------------------
+
+sub, sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+
+// Img border in a's and image quality
+// -------------------------
+
+img {
+ max-width: 100%;
+ height: auto;
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+}
+
+// Forms
+// -------------------------
+
+// Font size in all browsers, margin changes, misc consistency
+button, input, select, textarea {
+ margin: 0;
+ font-size: 100%;
+ vertical-align: middle;
+}
+button, input {
+ *overflow: visible; // Inner spacing ie IE6/7
+ line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
+}
+button::-moz-focus-inner, input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
+ padding: 0;
+ border: 0;
+}
+button, input[type="button"], input[type="reset"], input[type="submit"] {
+ cursor: pointer; // Cursors on all buttons applied consistently
+ -webkit-appearance: button; // Style clicable inputs in iOS
+}
+input[type="search"] { // Appearance in Safari/Chrome
+ -webkit-appearance: textfield;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
+}
+textarea {
+ overflow: auto; // Remove vertical scrollbar in IE6-9
+ vertical-align: top; // Readability and alignment cross-browser
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_scaffolding.scss b/vendor/assets/stylesheets/bootstrap/_scaffolding.scss
new file mode 100644
index 00000000..a4ce99e2
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_scaffolding.scss
@@ -0,0 +1,29 @@
+// Scaffolding
+// Basic and global styles for generating a grid system, structural layout, and page templates
+// -------------------------------------------------------------------------------------------
+
+
+// STRUCTURAL LAYOUT
+// -----------------
+
+body {
+ margin: 0;
+ font-family: $baseFontFamily;
+ font-size: $baseFontSize;
+ line-height: $baseLineHeight;
+ color: $textColor;
+ background-color: $white;
+}
+
+
+// LINKS
+// -----
+
+a {
+ color: $linkColor;
+ text-decoration: none;
+}
+a:hover {
+ color: $linkColorHover;
+ text-decoration: underline;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_sprites.scss b/vendor/assets/stylesheets/bootstrap/_sprites.scss
new file mode 100644
index 00000000..d7a43287
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_sprites.scss
@@ -0,0 +1,156 @@
+// SPRITES
+// Glyphs and icons for buttons, nav, and more
+// -------------------------------------------
+
+
+// ICONS
+// -----
+
+// All icons receive the styles of the <i> tag with a base class
+// of .i and are then given a unique class to add width, height,
+// and background-position. Your resulting HTML will look like
+// <i class="i icon-inbox"></i>.
+
+// For the white version of the icons, just add the .icon-white class:
+// <i class="i icon-inbox icon-white"></i>
+
+[class^="icon-"] {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ vertical-align: text-top;
+ background-image: asset-url("glyphicons-halflings.png", image);
+ background-position: 14px 14px;
+ background-repeat: no-repeat;
+
+ @include ie7-restore-right-whitespace();
+}
+.icon-white {
+ background-image: asset-url("glyphicons-halflings-white.png", image);
+}
+
+.icon-glass { background-position: 0 0; }
+.icon-music { background-position: -24px 0; }
+.icon-search { background-position: -48px 0; }
+.icon-envelope { background-position: -72px 0; }
+.icon-heart { background-position: -96px 0; }
+.icon-star { background-position: -120px 0; }
+.icon-star-empty { background-position: -144px 0; }
+.icon-user { background-position: -168px 0; }
+.icon-film { background-position: -192px 0; }
+.icon-th-large { background-position: -216px 0; }
+.icon-th { background-position: -240px 0; }
+.icon-th-list { background-position: -264px 0; }
+.icon-ok { background-position: -288px 0; }
+.icon-remove { background-position: -312px 0; }
+.icon-zoom-in { background-position: -336px 0; }
+.icon-zoom-out { background-position: -360px 0; }
+.icon-off { background-position: -384px 0; }
+.icon-signal { background-position: -408px 0; }
+.icon-cog { background-position: -432px 0; }
+.icon-trash { background-position: -456px 0; }
+
+.icon-home { background-position: 0 -24px; }
+.icon-file { background-position: -24px -24px; }
+.icon-time { background-position: -48px -24px; }
+.icon-road { background-position: -72px -24px; }
+.icon-download-alt { background-position: -96px -24px; }
+.icon-download { background-position: -120px -24px; }
+.icon-upload { background-position: -144px -24px; }
+.icon-inbox { background-position: -168px -24px; }
+.icon-play-circle { background-position: -192px -24px; }
+.icon-repeat { background-position: -216px -24px; }
+.icon-refresh { background-position: -240px -24px; }
+.icon-list-alt { background-position: -264px -24px; }
+.icon-lock { background-position: -287px -24px; } // 1px off
+.icon-flag { background-position: -312px -24px; }
+.icon-headphones { background-position: -336px -24px; }
+.icon-volume-off { background-position: -360px -24px; }
+.icon-volume-down { background-position: -384px -24px; }
+.icon-volume-up { background-position: -408px -24px; }
+.icon-qrcode { background-position: -432px -24px; }
+.icon-barcode { background-position: -456px -24px; }
+
+.icon-tag { background-position: 0 -48px; }
+.icon-tags { background-position: -25px -48px; } // 1px off
+.icon-book { background-position: -48px -48px; }
+.icon-bookmark { background-position: -72px -48px; }
+.icon-print { background-position: -96px -48px; }
+.icon-camera { background-position: -120px -48px; }
+.icon-font { background-position: -144px -48px; }
+.icon-bold { background-position: -167px -48px; } // 1px off
+.icon-italic { background-position: -192px -48px; }
+.icon-text-height { background-position: -216px -48px; }
+.icon-text-width { background-position: -240px -48px; }
+.icon-align-left { background-position: -264px -48px; }
+.icon-align-center { background-position: -288px -48px; }
+.icon-align-right { background-position: -312px -48px; }
+.icon-align-justify { background-position: -336px -48px; }
+.icon-list { background-position: -360px -48px; }
+.icon-indent-left { background-position: -384px -48px; }
+.icon-indent-right { background-position: -408px -48px; }
+.icon-facetime-video { background-position: -432px -48px; }
+.icon-picture { background-position: -456px -48px; }
+
+.icon-pencil { background-position: 0 -72px; }
+.icon-map-marker { background-position: -24px -72px; }
+.icon-adjust { background-position: -48px -72px; }
+.icon-tint { background-position: -72px -72px; }
+.icon-edit { background-position: -96px -72px; }
+.icon-share { background-position: -120px -72px; }
+.icon-check { background-position: -144px -72px; }
+.icon-move { background-position: -168px -72px; }
+.icon-step-backward { background-position: -192px -72px; }
+.icon-fast-backward { background-position: -216px -72px; }
+.icon-backward { background-position: -240px -72px; }
+.icon-play { background-position: -264px -72px; }
+.icon-pause { background-position: -288px -72px; }
+.icon-stop { background-position: -312px -72px; }
+.icon-forward { background-position: -336px -72px; }
+.icon-fast-forward { background-position: -360px -72px; }
+.icon-step-forward { background-position: -384px -72px; }
+.icon-eject { background-position: -408px -72px; }
+.icon-chevron-left { background-position: -432px -72px; }
+.icon-chevron-right { background-position: -456px -72px; }
+
+.icon-plus-sign { background-position: 0 -96px; }
+.icon-minus-sign { background-position: -24px -96px; }
+.icon-remove-sign { background-position: -48px -96px; }
+.icon-ok-sign { background-position: -72px -96px; }
+.icon-question-sign { background-position: -96px -96px; }
+.icon-info-sign { background-position: -120px -96px; }
+.icon-screenshot { background-position: -144px -96px; }
+.icon-remove-circle { background-position: -168px -96px; }
+.icon-ok-circle { background-position: -192px -96px; }
+.icon-ban-circle { background-position: -216px -96px; }
+.icon-arrow-left { background-position: -240px -96px; }
+.icon-arrow-right { background-position: -264px -96px; }
+.icon-arrow-up { background-position: -289px -96px; } // 1px off
+.icon-arrow-down { background-position: -312px -96px; }
+.icon-share-alt { background-position: -336px -96px; }
+.icon-resize-full { background-position: -360px -96px; }
+.icon-resize-small { background-position: -384px -96px; }
+.icon-plus { background-position: -408px -96px; }
+.icon-minus { background-position: -433px -96px; }
+.icon-asterisk { background-position: -456px -96px; }
+
+.icon-exclamation-sign { background-position: 0 -120px; }
+.icon-gift { background-position: -24px -120px; }
+.icon-leaf { background-position: -48px -120px; }
+.icon-fire { background-position: -72px -120px; }
+.icon-eye-open { background-position: -96px -120px; }
+.icon-eye-close { background-position: -120px -120px; }
+.icon-warning-sign { background-position: -144px -120px; }
+.icon-plane { background-position: -168px -120px; }
+.icon-calendar { background-position: -192px -120px; }
+.icon-random { background-position: -216px -120px; }
+.icon-comment { background-position: -240px -120px; }
+.icon-magnet { background-position: -264px -120px; }
+.icon-chevron-up { background-position: -288px -120px; }
+.icon-chevron-down { background-position: -313px -119px; } // 1px off
+.icon-retweet { background-position: -336px -120px; }
+.icon-shopping-cart { background-position: -360px -120px; }
+.icon-folder-close { background-position: -384px -120px; }
+.icon-folder-open { background-position: -408px -120px; }
+.icon-resize-vertical { background-position: -432px -119px; }
+.icon-resize-horizontal { background-position: -456px -118px; }
diff --git a/vendor/assets/stylesheets/bootstrap/_tables.scss b/vendor/assets/stylesheets/bootstrap/_tables.scss
new file mode 100644
index 00000000..ef8b3b09
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_tables.scss
@@ -0,0 +1,117 @@
+//
+// Tables.less
+// Tables for, you guessed it, tabular data
+// ----------------------------------------
+
+
+// BASE TABLES
+// -----------------
+
+table {
+ max-width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+// BASELINE STYLES
+// ---------------
+
+.table {
+ width: 100%;
+ margin-bottom: $baseLineHeight;
+ // Cells
+ th, td {
+ padding: 8px;
+ line-height: $baseLineHeight;
+ text-align: left;
+ border-top: 1px solid #ddd;
+ }
+ th {
+ font-weight: bold;
+ vertical-align: bottom;
+ }
+ td {
+ vertical-align: top;
+ }
+ // Remove top border from thead by default
+ thead:first-child tr th, thead:first-child tr td {
+ border-top: 0;
+ }
+ // Account for multiple tbody instances
+ tbody + tbody {
+ border-top: 2px solid #ddd;
+ }
+}
+
+
+
+// CONDENSED TABLE W/ HALF PADDING
+// -------------------------------
+
+.table-condensed {
+ th, td {
+ padding: 4px 5px;
+ }
+}
+
+
+// BORDERED VERSION
+// ----------------
+
+.table-bordered {
+ border: 1px solid #ddd;
+ border-collapse: separate; // Done so we can round those corners!
+ *border-collapse: collapsed; // IE7 can't round corners anyway
+ @include border-radius(4px);
+ th + th, td + td, th + td, td + th {
+ border-left: 1px solid #ddd;
+ }
+ // Prevent a double border
+ thead:first-child tr:first-child th, tbody:first-child tr:first-child th, tbody:first-child tr:first-child td {
+ border-top: 0;
+ }
+ // For first th or td in the first row in the first thead or tbody
+ thead:first-child tr:first-child th:first-child, tbody:first-child tr:first-child td:first-child {
+ @include border-radius(4px 0 0 0);
+ }
+ thead:first-child tr:first-child th:last-child, tbody:first-child tr:first-child td:last-child {
+ @include border-radius(0 4px 0 0);
+ }
+ // For first th or td in the first row in the first thead or tbody
+ thead:last-child tr:last-child th:first-child, tbody:last-child tr:last-child td:first-child {
+ @include border-radius(0 0 0 4px);
+ }
+ thead:last-child tr:last-child th:last-child, tbody:last-child tr:last-child td:last-child {
+ @include border-radius(0 0 4px 0);
+ }
+}
+
+
+// ZEBRA-STRIPING
+// --------------
+
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+.table-striped {
+ tbody {
+ tr:nth-child(odd) td, tr:nth-child(odd) th {
+ background-color: #f9f9f9;
+ }
+ }
+}
+
+
+
+// TABLE CELL SIZING
+// -----------------
+
+// Change the columns
+@mixin tableColumns($columnSpan: 1) {
+ float: none;
+ width: (($gridColumnWidth) * $columnSpan) + ($gridGutterWidth * ($columnSpan - 1)) - 16;
+ margin-left: 0;
+}
+table {
+ @for $i from 1 through $gridColumns {
+ .span#{$i} { @include tableColumns($i); }
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_thumbnails.scss b/vendor/assets/stylesheets/bootstrap/_thumbnails.scss
new file mode 100644
index 00000000..69a10a8b
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_thumbnails.scss
@@ -0,0 +1,35 @@
+// THUMBNAILS
+// ----------
+
+.thumbnails {
+ margin-left: -20px;
+ list-style: none;
+ @include clearfix();
+}
+.thumbnails > li {
+ float: left;
+ margin: 0 0 $baseLineHeight 20px;
+}
+.thumbnail {
+ display: block;
+ padding: 4px;
+ line-height: 1;
+ border: 1px solid #ddd;
+ @include border-radius(4px);
+ @include box-shadow(0 1px 1px rgba(0,0,0,.075));
+}
+// Add a hover state for linked versions only
+a.thumbnail:hover {
+ border-color: $linkColor;
+ @include box-shadow(0 1px 4px rgba(0,105,214,.25));
+}
+// Images and captions
+.thumbnail > img {
+ display: block;
+ max-width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+.thumbnail .caption {
+ padding: 9px;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_tooltip.scss b/vendor/assets/stylesheets/bootstrap/_tooltip.scss
new file mode 100644
index 00000000..ebed1ed0
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_tooltip.scss
@@ -0,0 +1,35 @@
+// TOOLTIP
+// ------=
+
+.tooltip {
+ position: absolute;
+ z-index: $zindexTooltip;
+ display: block;
+ visibility: visible;
+ padding: 5px;
+ font-size: 11px;
+ @include opacity(0);
+ &.in { @include opacity(80); }
+ &.top { margin-top: -2px; }
+ &.right { margin-left: 2px; }
+ &.bottom { margin-top: 2px; }
+ &.left { margin-left: -2px; }
+ &.top .tooltip-arrow { @include popoverArrowTop(); }
+ &.left .tooltip-arrow { @include popoverArrowLeft(); }
+ &.bottom .tooltip-arrow { @include popoverArrowBottom(); }
+ &.right .tooltip-arrow { @include popoverArrowRight(); }
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: $white;
+ text-align: center;
+ text-decoration: none;
+ background-color: $black;
+ @include border-radius(4px);
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_type.scss b/vendor/assets/stylesheets/bootstrap/_type.scss
new file mode 100644
index 00000000..49831d2f
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_type.scss
@@ -0,0 +1,209 @@
+// Typography.less
+// Headings, body text, lists, code, and more for a versatile and durable typography system
+// ----------------------------------------------------------------------------------------
+
+
+// BODY TEXT
+// ---------
+
+p {
+ margin: 0 0 $baseLineHeight / 2;
+ font-family: $baseFontFamily;
+ font-size: $baseFontSize;
+ line-height: $baseLineHeight;
+ small {
+ font-size: $baseFontSize - 2;
+ color: $grayLight;
+ }
+}
+.lead {
+ margin-bottom: $baseLineHeight;
+ font-size: 20px;
+ font-weight: 200;
+ line-height: $baseLineHeight * 1.5;
+}
+
+// HEADINGS
+// --------
+
+h1, h2, h3, h4, h5, h6 {
+ margin: 0;
+ font-weight: bold;
+ color: $grayDark;
+ text-rendering: optimizelegibility; // Fix the character spacing for headings
+ small {
+ font-weight: normal;
+ color: $grayLight;
+ }
+}
+h1 {
+ font-size: 30px;
+ line-height: $baseLineHeight * 2;
+ small {
+ font-size: 18px;
+ }
+}
+h2 {
+ font-size: 24px;
+ line-height: $baseLineHeight * 2;
+ small {
+ font-size: 18px;
+ }
+}
+h3 {
+ line-height: $baseLineHeight * 1.5;
+ font-size: 18px;
+ small {
+ font-size: 14px;
+ }
+}
+h4, h5, h6 {
+ line-height: $baseLineHeight;
+}
+h4 {
+ font-size: 14px;
+ small {
+ font-size: 12px;
+ }
+}
+h5 {
+ font-size: 12px;
+}
+h6 {
+ font-size: 11px;
+ color: $grayLight;
+ text-transform: uppercase;
+}
+
+// Page header
+.page-header {
+ padding-bottom: $baseLineHeight - 1;
+ margin: $baseLineHeight 0;
+ border-bottom: 1px solid $grayLighter;
+}
+.page-header h1 {
+ line-height: 1;
+}
+
+
+
+// LISTS
+// -----
+
+// Unordered and Ordered lists
+ul, ol {
+ padding: 0;
+ margin: 0 0 $baseLineHeight / 2 25px;
+}
+ul ul, ul ol, ol ol, ol ul {
+ margin-bottom: 0;
+}
+ul {
+ list-style: disc;
+}
+ol {
+ list-style: decimal;
+}
+li {
+ line-height: $baseLineHeight;
+}
+ul.unstyled {
+ margin-left: 0;
+ list-style: none;
+}
+
+// Description Lists
+dl {
+ margin-bottom: $baseLineHeight;
+}
+dt, dd {
+ line-height: $baseLineHeight;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: $baseLineHeight / 2;
+}
+
+// MISC
+// ----
+
+// Horizontal rules
+hr {
+ margin: $baseLineHeight 0;
+ border: 0;
+ border-top: 1px solid #e5e5e5;
+ border-bottom: 1px solid $white;
+}
+
+// Emphasis
+strong {
+ font-weight: bold;
+}
+em {
+ font-style: italic;
+}
+.muted {
+ color: $grayLight;
+}
+
+// Abbreviations and acronyms
+abbr {
+ font-size: 90%;
+ text-transform: uppercase;
+ border-bottom: 1px dotted #ddd;
+ cursor: help;
+}
+
+// Blockquotes
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 $baseLineHeight;
+ border-left: 5px solid $grayLighter;
+ p {
+ margin-bottom: 0;
+ @include font-shorthand(16px,300,$baseLineHeight * 1.25);
+ }
+ small {
+ display: block;
+ line-height: $baseLineHeight;
+ color: $grayLight;
+ &:before {
+ content: '\2014 \00A0';
+ }
+ }
+
+ // Float right with text-align: right
+ &.pull-right {
+ float: right;
+ padding-left: 0;
+ padding-right: 15px;
+ border-left: 0;
+ border-right: 5px solid $grayLighter;
+ p, small {
+ text-align: right;
+ }
+ }
+}
+
+// Quotes
+q:before, q:after, blockquote:before, blockquote:after {
+ content: "";
+}
+
+// Addresses
+address {
+ display: block;
+ margin-bottom: $baseLineHeight;
+ line-height: $baseLineHeight;
+ font-style: normal;
+}
+
+// Misc
+small {
+ font-size: 100%;
+}
+cite {
+ font-style: normal;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_utilities.scss b/vendor/assets/stylesheets/bootstrap/_utilities.scss
new file mode 100644
index 00000000..2171f61a
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_utilities.scss
@@ -0,0 +1,23 @@
+// UTILITY CLASSES
+// ---------------
+
+// Quick floats
+.pull-right {
+ float: right;
+}
+.pull-left {
+ float: left;
+}
+
+// Toggling content
+.hide {
+ display: none;
+}
+.show {
+ display: block;
+}
+
+// Visibility
+.invisible {
+ visibility: hidden;
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_variables.scss b/vendor/assets/stylesheets/bootstrap/_variables.scss
new file mode 100644
index 00000000..787e5999
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_variables.scss
@@ -0,0 +1,99 @@
+// Variables.less
+// Variables to customize the look and feel of Bootstrap
+// -----------------------------------------------------
+
+
+
+// GLOBAL VALUES
+// --------------------------------------------------
+
+// Links
+$linkColor: #08c !default;
+$linkColorHover: darken($linkColor, 15%) !default;
+
+// Grays
+$black: #000 !default;
+$grayDarker: #222 !default;
+$grayDark: #333 !default;
+$gray: #555 !default;
+$grayLight: #999 !default;
+$grayLighter: #eee !default;
+$white: #fff !default;
+
+// Accent colors
+$blue: #049cdb !default;
+$blueDark: #0064cd !default;
+$green: #46a546 !default;
+$red: #9d261d !default;
+$yellow: #ffc40d !default;
+$orange: #f89406 !default;
+$pink: #c3325f !default;
+$purple: #7a43b6 !default;
+
+// Typography
+$baseFontSize: 13px !default;
+$baseFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
+$baseLineHeight: 18px !default;
+$textColor: $grayDark !default;
+
+// Buttons
+$primaryButtonBackground: $linkColor !default;
+
+
+
+// COMPONENT VARIABLES
+// --------------------------------------------------
+
+// Z-index master list
+// Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
+$zindexDropdown: 1000;
+$zindexPopover: 1010;
+$zindexTooltip: 1020;
+$zindexFixedNavbar: 1030;
+$zindexModalBackdrop: 1040;
+$zindexModal: 1050;
+
+// Input placeholder text color
+$placeholderText: $grayLight !default;
+
+// Navbar
+$navbarHeight: 40px !default;
+$navbarBackground: $grayDarker !default;
+$navbarBackgroundHighlight: $grayDark !default;
+
+$navbarText: $grayLight !default;
+$navbarLinkColor: $grayLight !default;
+$navbarLinkColorHover: $white !default;
+
+// Form states and alerts
+$warningText: #c09853 !default;
+$warningBackground: #fcf8e3 !default;
+$warningBorder: darken(adjust-hue($warningBackground, -10), 3%) !default;
+
+$errorText: #b94a48 !default;
+$errorBackground: #f2dede !default;
+$errorBorder: darken(adjust-hue($errorBackground, -10), 3%) !default;
+
+$successText: #468847 !default;
+$successBackground: #dff0d8 !default;
+$successBorder: darken(adjust-hue($successBackground, -10), 5%) !default;
+
+$infoText: #3a87ad !default;
+$infoBackground: #d9edf7 !default;
+$infoBorder: darken(adjust-hue($infoBackground, -10), 7%) !default;
+
+
+
+// GRID
+// --------------------------------------------------
+
+// Default 940px grid
+$gridColumns: 12 !default;
+$gridColumnWidth: 60px !default;
+$gridGutterWidth: 20px !default;
+$gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1));
+
+// Fluid grid
+$fluidGridColumnWidth: 6.382978723% !default;
+$fluidGridGutterWidth: 2.127659574% !default; \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/_wells.scss b/vendor/assets/stylesheets/bootstrap/_wells.scss
new file mode 100644
index 00000000..4347b89b
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap/_wells.scss
@@ -0,0 +1,17 @@
+// WELLS
+// -----
+
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #eee;
+ border: 1px solid rgba(0,0,0,.05);
+ @include border-radius(4px);
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+ blockquote {
+ border-color: #ddd;
+ border-color: rgba(0,0,0,.15);
+ }
+} \ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap/forms.css.scss b/vendor/assets/stylesheets/bootstrap/forms.css.scss
deleted file mode 100644
index beded046..00000000
--- a/vendor/assets/stylesheets/bootstrap/forms.css.scss
+++ /dev/null
@@ -1,427 +0,0 @@
-/* forms.css.scss
- * Base styles for various input types, form layouts, and states
- * ------------------------------------------------------------- */
-
-// FORM STYLES
-// -----------
-
-form {
- margin-bottom: $baseline;
-}
-
-// Groups of fields with labels on top (legends)
-fieldset {
- margin-bottom: $baseline;
- padding-top: $baseline;
- legend {
- display: block;
- padding-left: 150px;
- font-size: $basefont * 1.5;
- line-height: 1;
- color: $grayDark;
- *padding: 0 0 5px 145px; /* IE6-7 */
- *line-height: 1.5; /* IE6-7 */
- }
-}
-
-// Parent element that clears floats and wraps labels and fields together
-form .clearfix {
- margin-bottom: $baseline;
- @include clearfix()
-}
-
-// Set font for forms
-label, input, select, textarea {
- @include sans-serif-font(normal,13px,normal);
-}
-
-// Float labels left
-label {
- padding-top: 6px;
- font-size: $basefont;
- line-height: $baseline;
- float: left;
- width: 130px;
- text-align: right;
- color: $grayDark;
-}
-
-// Shift over the inside div to align all label's relevant content
-form .input {
- margin-left: 150px;
-}
-
-// Checkboxs and radio buttons
-input[type=checkbox], input[type=radio] {
- cursor: pointer;
-}
-
-// Inputs, Textareas, Selects
-input, textarea, select, .uneditable-input {
- display: inline-block;
- width: 210px;
- height: $baseline;
- padding: 4px;
- font-size: $basefont;
- line-height: $baseline;
- color: $gray;
- border: 1px solid #ccc;
- @include border-radius(3px);
-}
-
-// remove padding from select
-select {
- padding: initial;
-}
-
-// mini reset for non-html5 file types
-input[type=checkbox], input[type=radio] {
- width: auto;
- height: auto;
- padding: 0;
- margin: 3px 0;
- *margin-top: 0; /* IE6-7 */
- line-height: normal;
- border: none;
-}
-
-input[type=file] {
- background-color: $white;
- padding: initial;
- border: initial;
- line-height: initial;
- @include box-shadow(none);
-}
-
-input[type=button], input[type=reset], input[type=submit] {
- width: auto;
- height: auto;
-}
-
-select, input[type=file] {
- height: $baseline * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size
- *height: auto; // reset for IE7. bah.
- line-height: $baseline * 1.5;
- *margin-top: 4px; /* For IE7, add top margin to align select with labels */
-}
-
-// Make multiple select elements height not fixed
-select[multiple] {
- height: inherit;
- background-color: $white; // Fixes Chromium bug of unreadable items
-}
-
-textarea {
- height: auto;
-}
-
-// For text that needs to appear as an input but should not be an input
-.uneditable-input {
- background-color: $white;
- display: block;
- border-color: #eee;
- @include box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
- cursor: not-allowed;
-}
-
-// Placeholder text gets special styles; can't be bundled together though for some reason
-:-moz-placeholder {
- color: $grayLight;
-}
-::-webkit-input-placeholder {
- color: $grayLight;
-}
-
-// Focus states
-input, textarea {
- $transition: border linear .2s, box-shadow linear .2s;
- @include transition($transition);
- @include box-shadow(inset 0 1px 3px rgba(0,0,0,.1));
-}
-input:focus, textarea:focus {
- outline: 0;
- border-color: rgba(82,168,236,.8);
- $shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
- @include box-shadow($shadow);
-}
-input[type=file]:focus, input[type=checkbox]:focus, select:focus {
- @include box-shadow(none); // override for file inputs
- outline: 1px dotted #666; // Selet elements don't get box-shadow styles, so instead we do outline
-}
-
-// FORM FIELD FEEDBACK STATES
-// --------------------------
-@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
- // Set the text color
- > label, .help-block, .help-inline {
- color: $textColor;
- }
- input, textarea {
- color: $textColor;
- border-color: $borderColor;
- &:focus {
- border-color: darken($borderColor, 10%);
- @include box-shadow(0 0 6px lighten($borderColor, 10%));
- }
- }
- // Give a small background color for input-prepend/-append
- .input-prepend .add-on, .input-append .add-on {
- color: $textColor;
- background-color: $backgroundColor;
- border-color: $borderColor;
- }
-}
-// Error
-form .clearfix.error {
- @include formFieldState(#b94a48, #ee5f5b, lighten(#ee5f5b, 30%));
-}
-// Warning
-form .clearfix.warning {
- @include formFieldState(#c09853, #ccae64, lighten(#ccae64, 5%));
-}
-// Success
-form .clearfix.success {
- @include formFieldState(#468847, #57a957, lighten(#57a957, 30%));
-}
-
-// Form element sizes
-// TODO v2: remove duplication here and just stick to .input-[size] in light of adding .spanN sizes
-.input-mini, input.mini, textarea.mini, select.mini {
- width: 60px;
-}
-.input-small, input.small, textarea.small, select.small {
- width: 90px;
-}
-.input-medium, input.medium, textarea.medium, select.medium {
- width: 150px;
-}
-.input-large, input.large, textarea.large, select.large {
- width: 210px;
-}
-.input-xlarge, input.xlarge, textarea.xlarge, select.xlarge {
- width: 270px;
-}
-.input-xxlarge, input.xxlarge, textarea.xxlarge, select.xxlarge {
- width: 530px;
-}
-textarea.xxlarge {
- overflow-y: auto;
-}
-
-// Grid style input sizes
-// This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border
-@mixin formColumns($columnSpan: 1) {
- display: inline-block;
- float: none;
- width: ($gridColumnWidth * $columnSpan) + ($gridGutterWidth * ($columnSpan - 1)) - 10;
- margin-left: 0;
-}
-input, textarea {
- // Default columns
- &.span1 { @include formColumns(1); }
- &.span2 { @include formColumns(2); }
- &.span3 { @include formColumns(3); }
- &.span4 { @include formColumns(4); }
- &.span5 { @include formColumns(5); }
- &.span6 { @include formColumns(6); }
- &.span7 { @include formColumns(7); }
- &.span8 { @include formColumns(8); }
- &.span9 { @include formColumns(9); }
- &.span10 { @include formColumns(10); }
- &.span11 { @include formColumns(11); }
- &.span12 { @include formColumns(12); }
- &.span13 { @include formColumns(13); }
- &.span14 { @include formColumns(14); }
- &.span15 { @include formColumns(15); }
- &.span16 { @include formColumns(16); }
-}
-
-// Disabled and read-only inputs
-input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] {
- background-color: #f5f5f5;
- border-color: #ddd;
- cursor: not-allowed;
-}
-
-// Actions (the buttons)
-.actions {
- background: #f5f5f5;
- margin-top: $baseline;
- margin-bottom: $baseline;
- padding: ($baseline - 1) 20px $baseline 150px;
- border-top: 1px solid #ddd;
- @include border-radius(0 0 3px 3px);
- .secondary-action {
- float: right;
- a {
- line-height: 30px;
- &:hover {
- text-decoration: underline;
- }
- }
- }
-}
-
-// Help Text
-.help-inline, .help-block {
- font-size: $basefont;
- line-height: $baseline;
- color: $grayLight;
-}
-.help-inline {
- padding-left: 5px;
- *position: relative; /* IE6-7 */
- *top: -5px; /* IE6-7 */
-}
-
-// Big blocks of help text
-.help-block {
- display: block;
- max-width: 600px;
-}
-
-// Inline Fields (input fields that appear as inline objects
-.inline-inputs {
- color: $gray;
- span {
- padding: 0 2px 0 1px;
- }
-}
-
-// Allow us to put symbols and text within the input field for a cleaner look
-.input-prepend, .input-append {
- input {
- @include border-radius(0 3px 3px 0);
- }
- .add-on {
- position: relative;
- background: #f5f5f5;
- border: 1px solid #ccc;
- z-index: 2;
- float: left;
- display: block;
- width: auto;
- min-width: 16px;
- height: 18px;
- padding: 4px 4px 4px 5px;
- margin-right: -1px;
- font-weight: normal;
- line-height: 18px;
- color: $grayLight;
- text-align: center;
- text-shadow: 0 1px 0 $white;
- @include border-radius(3px 0 0 3px);
- }
- .active {
- background: lighten($green, 30);
- border-color: $green;
- }
-}
-.input-prepend {
- .add-on {
- *margin-top: 1px; /* IE6-7 */
- }
-}
-.input-append {
- input {
- float: left;
- @include border-radius(3px 0 0 3px);
- }
- .add-on {
- @include border-radius(0 3px 3px 0);
- margin-right: 0;
- margin-left: -1px;
- }
-}
-
-// Stacked options for forms (radio buttons or checkboxes)
-.inputs-list {
- margin: 0 0 5px;
- width: 100%;
- li {
- display: block;
- padding: 0;
- width: 100%;
- }
- label {
- display: block;
- float: none;
- width: auto;
- padding: 0;
- margin-left: 20px;
- line-height: $baseline;
- text-align: left;
- white-space: normal;
- strong {
- color: $gray;
- }
- small {
- font-size: $basefont - 2;
- font-weight: normal;
- }
- }
- .inputs-list {
- margin-left: 25px;
- margin-bottom: 10px;
- padding-top: 0;
- }
- &:first-child {
- padding-top: 6px;
- }
- li + li {
- padding-top: 2px;
- }
- input[type=radio], input[type=checkbox] {
- margin-bottom: 0;
- margin-left: -20px;
- float: left;
- }
-}
-
-// Stacked forms
-.form-stacked {
- padding-left: 20px;
- fieldset {
- padding-top: $baseline / 2;
- }
- legend {
- padding-left: 0;
- }
- label {
- display: block;
- float: none;
- width: auto;
- font-weight: bold;
- text-align: left;
- line-height: 20px;
- padding-top: 0;
- }
- .clearfix {
- margin-bottom: $baseline / 2;
- div.input {
- margin-left: 0;
- }
- }
- .inputs-list {
- margin-bottom: 0;
- li {
- padding-top: 0;
- label {
- font-weight: normal;
- padding-top: 0;
- }
- }
- }
- div.clearfix.error {
- padding-top: 10px;
- padding-bottom: 10px;
- padding-left: 10px;
- margin-top: 0;
- margin-left: -10px;
- }
- .actions {
- margin-left: -20px;
- padding-left: 20px;
- }
-}
-
diff --git a/vendor/assets/stylesheets/bootstrap/mixins.css.scss b/vendor/assets/stylesheets/bootstrap/mixins.css.scss
deleted file mode 100644
index 054b2dee..00000000
--- a/vendor/assets/stylesheets/bootstrap/mixins.css.scss
+++ /dev/null
@@ -1,216 +0,0 @@
-/* mixins.css.scss
- * Snippets of reusable CSS to develop faster and keep code readable
- * ----------------------------------------------------------------- */
-
-
-// Clearfix for clearing floats like a boss h5bp.com/q
-@mixin clearfix() {
- zoom: 1;
- &:before,
- &:after {
- display: table;
- content: "";
- zoom: 1;
- }
- &:after {
- clear: both;
- }
-}
-
-// Center-align a block level element
-@mixin center-block() {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-// Sizing shortcuts
-@mixin size($height: 5px, $width: 5px) {
- height: $height;
- width: $width;
-}
-@mixin square($size: 5px) {
- @include size($size, $size);
-}
-
-// Input placeholder text
-@mixin placeholder($color: $grayLight) {
- :-moz-placeholder {
- color: $color;
- }
- ::-webkit-input-placeholder {
- color: $color;
- }
-}
-
-// Font Stacks
-@mixin shorthand-font($weight: normal, $size: 14px, $lineHeight: 20px) {
- font-size: $size;
- font-weight: $weight;
- line-height: $lineHeight;
-}
-@mixin sans-serif-font($weight: normal, $size: 14px, $lineHeight: 20px) {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: $size;
- font-weight: $weight;
- line-height: $lineHeight;
-}
-@mixin serif-font($weight: normal, $size: 14px, $lineHeight: 20px) {
- font-family: "Georgia", Times New Roman, Times, serif;
- font-size: $size;
- font-weight: $weight;
- line-height: $lineHeight;
-}
-@mixin monospace-font($weight: normal, $size: 12px, $lineHeight: 20px) {
- font-family: "Monaco", Courier New, monospace;
- font-size: $size;
- font-weight: $weight;
- line-height: $lineHeight;
-}
-
-// Grid System
-@mixin fixed-container() {
- width: $siteWidth;
- margin-left: auto;
- margin-right: auto;
- @include clearfix();
-}
-@mixin columns($columnSpan: 1) {
- width: ($gridColumnWidth * $columnSpan) + ($gridGutterWidth * ($columnSpan - 1));
-}
-@mixin offset($columnOffset: 1) {
- margin-left: ($gridColumnWidth * $columnOffset) + ($gridGutterWidth * ($columnOffset - 1)) + $extraSpace;
-}
-// Necessary grid styles for every column to make them appear next to each other horizontally
-@mixin gridColumn() {
- display: inline;
- float: left;
- margin-left: $gridGutterWidth;
-}
-// makeColumn can be used to mark any element (e.g., .content-primary) as a column without changing markup to .span something
-@mixin makeColumn($columnSpan: 1) {
- @include gridColumn();
- @include columns($columnSpan);
-}
-
-// Border Radius
-@mixin border-radius($radius: 5px) {
- -webkit-border-radius: $radius;
- -moz-border-radius: $radius;
- border-radius: $radius;
-}
-
-// Drop shadows
-@mixin box-shadow($shadow: 0 1px 3px rgba(0,0,0,.25)) {
- -webkit-box-shadow: $shadow;
- -moz-box-shadow: $shadow;
- box-shadow: $shadow;
-}
-
-// Transitions
-@mixin transition($transition) {
- -webkit-transition: $transition;
- -moz-transition: $transition;
- -ms-transition: $transition;
- -o-transition: $transition;
- transition: $transition;
-}
-
-// Background clipping
-@mixin background-clip($clip) {
- -webkit-background-clip: $clip;
- -moz-background-clip: $clip;
- background-clip: $clip;
-}
-
-// CSS3 Content Columns
-@mixin content-columns($columnCount, $columnGap: 20px) {
- -webkit-column-count: $columnCount;
- -moz-column-count: $columnCount;
- column-count: $columnCount;
- -webkit-column-gap: $columnGap;
- -moz-column-gap: $columnGap;
- column-gap: $columnGap;
-}
-
-@mixin resizable($direction: both) {
- resize: $direction; // Options are horizontal, vertical, both
- overflow: auto; // Safari fix
-}
-
-// Add an alphatransparency value to any background or border color (via Elyse Holladay)
-@mixin background-translucent($color: $white, $alpha: 1) {
- background-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
-}
-@mixin border-translucent($color: $white, $alpha: 1) {
- border-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
- background-clip: padding-box;
-}
-
-// Gradient Bar Colors for buttons and allerts
-@mixin gradientBar($primaryColor, $secondaryColor) {
- @include vertical-gradient($primaryColor, $secondaryColor);
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
- border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
- border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
-}
-
-// Gradients
-@mixin horizontal-gradient($startColor: #555, $endColor: #333) {
- background-color: $endColor;
- background-repeat: repeat-x;
- background-image: -khtml-gradient(linear, left top, right top, from($startColor), to($endColor)); // Konqueror
- background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
- background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
- background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
- background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
- background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
- background-image: linear-gradient(left, $startColor, $endColor); // Le standard
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie_hex_str($startColor)}', endColorstr='#{ie_hex_str($endColor)}', GradientType=1); // IE9 and down
-}
-@mixin vertical-gradient($startColor: #555, $endColor: #333) {
- background-color: $endColor;
- background-repeat: repeat-x;
- background-image: -khtml-gradient(linear, left top, left bottom, from($startColor), to($endColor)); // Konqueror
- background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
- background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
- background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
- background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
- background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
- background-image: linear-gradient(top, $startColor, $endColor); // The standard
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie_hex_str($startColor)}', endColorstr='#{ie_hex_str($endColor)}', GradientType=0); // IE9 and down
-}
-@mixin directional-gradient($startColor: #555, $endColor: #333, $deg: 45deg) {
- background-color: $endColor;
- background-repeat: repeat-x;
- background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
- background-image: -ms-linear-gradient($deg, $startColor, $endColor); // IE10
- background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
- background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
- background-image: linear-gradient($deg, $startColor, $endColor); // The standard
-}
-@mixin vertical-three-colors-gradient($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
- background-color: $endColor;
- background-repeat: no-repeat;
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
- background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
- background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
- background-image: -ms-linear-gradient($startColor, $midColor $colorStop, $endColor);
- background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
- background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie_hex_str($startColor)}', endColorstr='#{ie_hex_str($endColor)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
-}
-
-// Reset filters for IE
-@mixin reset-filter() {
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false)
-}
-
-// Opacity
-@mixin opacity($opacity: 100) {
- filter: alpha(opacity=#{$opacity});
- -khtml-opacity: $opacity / 100;
- -moz-opacity: $opacity / 100;
- opacity: $opacity / 100;
-}
-
diff --git a/vendor/assets/stylesheets/bootstrap/patterns.css.scss b/vendor/assets/stylesheets/bootstrap/patterns.css.scss
deleted file mode 100644
index bba559af..00000000
--- a/vendor/assets/stylesheets/bootstrap/patterns.css.scss
+++ /dev/null
@@ -1,994 +0,0 @@
-/* patters.css.scss
- * Repeatable UI elements outside the base styles provided from the scaffolding
- * ---------------------------------------------------------------------------- */
-
-
-// TOPBAR
-// ------
-
-// Topbar for Branding and Nav
-.topbar {
- height: 40px;
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 10000;
- overflow: visible;
-
- // Links get text shadow
- a {
- color: $grayLight;
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
- }
-
- // Hover and active states
- // h3 for backwards compatibility
- h3 a:hover, .brand:hover, ul .active > a {
- background-color: #333;
- background-color: rgba(255,255,255,.05);
- color: $white;
- text-decoration: none;
- }
-
- // Website name
- // h3 left for backwards compatibility
- h3 {
- position: relative;
- }
- h3 a, .brand {
- float: left;
- display: block;
- padding: 8px 20px 12px;
- margin-left: -20px; // negative indent to left-align the text down the page
- color: $white;
- font-size: 20px;
- font-weight: 200;
- line-height: 1;
- }
-
- // Plain text in topbar
- p {
- margin: 0;
- line-height: 40px;
- a:hover {
- background-color: transparent;
- color: $white;
- }
- }
-
- // Search Form
- form {
- float: left;
- margin: 5px 0 0 0;
- position: relative;
- @include opacity(100);
- }
- // Todo: remove from v2.0 when ready, added for legacy
- form.pull-right {
- float: right;
- }
- input {
- background-color: #444;
- background-color: rgba(255,255,255,.3);
- @include sans-serif-font(13px, normal, 1);
- padding: 4px 9px;
- color: $white;
- color: rgba(255,255,255,.75);
- border: 1px solid #111;
- @include border-radius(4px);
- $shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
- @include box-shadow($shadow);
- @include transition(none);
-
- // Placeholder text gets special styles; can't be bundled together though for some reason
- &:-moz-placeholder {
- color: $grayLighter;
- }
- &::-webkit-input-placeholder {
- color: $grayLighter;
- }
- // Hover states
- &:hover {
- background-color: $grayLight;
- background-color: rgba(255,255,255,.5);
- color: $white;
- }
- // Focus states (we use .focused since IE8 and down doesn't support :focus)
- &:focus, &.focused {
- outline: 0;
- background-color: $white;
- color: $grayDark;
- text-shadow: 0 1px 0 $white;
- border: 0;
- padding: 5px 10px;
- @include box-shadow(0 0 3px rgba(0,0,0,.15));
- }
- }
-}
-
-// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
-// For backwards compatibility, include .topbar .fill
-.topbar-inner, .topbar .fill {
- background-color: #222;
- @include vertical-gradient(#333333, #222222);
- $shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
- @include box-shadow($shadow);
-}
-
-// NAVIGATION
-// ----------
-
-// Topbar Nav
-// ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
-// For backwards compatibility, leave in .topbar div > ul
-.topbar div > ul, .nav {
- display: block;
- float: left;
- margin: 0 10px 0 0;
- position: relative;
- left: 0;
- > li {
- display: block;
- float: left;
- }
- a {
- display: block;
- float: none;
- padding: 10px 10px 11px;
- line-height: 19px;
- text-decoration: none;
- &:hover {
- color: $white;
- text-decoration: none;
- }
- }
- .active > a {
- background-color: #222;
- background-color: rgba(0,0,0,.5);
- }
-
- // Secondary (floated right) nav in topbar
- &.secondary-nav {
- float: right;
- margin-left: 10px;
- margin-right: 0;
- // backwards compatibility
- .menu-dropdown, .dropdown-menu {
- right: 0;
- border: 0;
- }
- }
- // Dropdowns within the .nav
- // a.menu:hover and li.open .menu for backwards compatibility
- a.menu:hover, li.open .menu, .dropdown-toggle:hover, .dropdown.open .dropdown-toggle {
- background: #444;
- background: rgba(255,255,255,.05);
- }
- // .menu-dropdown for backwards compatibility
- .menu-dropdown, .dropdown-menu {
- background-color: #333;
- // a.menu for backwards compatibility
- a.menu, .dropdown-toggle {
- color: $white;
- &.open {
- background: #444;
- background: rgba(255,255,255,.05);
- }
- }
- li a {
- color: #999;
- text-shadow: 0 1px 0 rgba(0,0,0,.5);
- &:hover {
- @include vertical-gradient(#292929,#191919);
- color: $white;
- }
- }
- .active a {
- color: $white;
- }
- .divider {
- background-color: #222;
- border-color: #444;
- }
- }
-}
-
-// For backwards compatibility with new dropdowns, redeclare dropdown link padding
-.topbar ul .menu-dropdown li a, .topbar ul .dropdown-menu li a {
- padding: 4px 15px;
-}
-
-// Dropdown Menus
-// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
-// li.menu for backwards compatibility
-li.menu, .dropdown {
- position: relative;
-}
-// The link that is clicked to toggle the dropdown
-// a.menu for backwards compatibility
-a.menu:after, .dropdown-toggle:after {
- width: 0;
- height: 0;
- display: inline-block;
- content: "&darr;";
- text-indent: -99999px;
- vertical-align: top;
- margin-top: 8px;
- margin-left: 4px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid $white;
- @include opacity(50);
-}
-// The dropdown menu (ul)
-// .menu-dropdown for backwards compatibility
-.menu-dropdown, .dropdown-menu {
- background-color: $white;
- float: left;
- display: none; // None by default, but block on "open" of the menu
- position: absolute;
- top: 40px;
- z-index: 900;
- min-width: 160px;
- max-width: 220px;
- _width: 160px;
- margin-left: 0; // override default ul styles
- margin-right: 0;
- padding: 6px 0;
- zoom: 1; // do we need this?
- border-color: #999;
- border-color: rgba(0,0,0,.2);
- border-style: solid;
- border-width: 0 1px 1px;
- @include border-radius(0 0 6px 6px);
- @include box-shadow(0 2px 4px rgba(0,0,0,.2));
- @include background-clip(padding-box);
-
- // Unfloat any li's to make them stack
- li {
- float: none;
- display: block;
- background-color: none;
- }
- // Dividers (basically an hr) within the dropdown
- .divider {
- height: 1px;
- margin: 5px 0;
- overflow: hidden;
- background-color: #eee;
- border-bottom: 1px solid $white;
- }
-}
-
-.topbar .dropdown-menu, .dropdown-menu {
- // Links within the dropdown menu
- a {
- display: block;
- padding: 4px 15px;
- clear: both;
- font-weight: normal;
- line-height: 18px;
- color: $gray;
- text-shadow: 0 1px 0 $white;
- // Hover state
- &:hover, &.hover {
- @include vertical-gradient(#eeeeee, #dddddd);
- color: $grayDark;
- text-decoration: none;
- $shadow: inset 0 1px 0 rgba(0,0,0,.025), inset 0 -1px rgba(0,0,0,.025);
- @include box-shadow($shadow);
- }
- }
-}
-
-// Open state for the dropdown
-// .open for backwards compatibility
-.open, .dropdown.open {
- // .menu for backwards compatibility
- .menu, .dropdown-toggle {
- color: $white;
- background: #ccc;
- background: rgba(0,0,0,.3);
- }
- // .menu-dropdown for backwards compatibility
- .menu-dropdown, .dropdown-menu {
- display: block;
- }
-}
-
-// TABS AND PILLS
-// --------------
-
-// Common styles
-.tabs, .pills {
- margin: 0 0 $baseline;
- padding: 0;
- list-style: none;
- @include clearfix();
- > li {
- float: left;
- > a {
- display: block;
- }
- }
-}
-
-// Tabs
-.tabs {
- border-color: #ddd;
- border-style: solid;
- border-width: 0 0 1px;
- > li {
- position: relative; // For the dropdowns mostly
- margin-bottom: -1px;
- > a {
- padding: 0 15px;
- margin-right: 2px;
- line-height: ($baseline * 2) - 2;
- border: 1px solid transparent;
- @include border-radius(4px 4px 0 0);
- &:hover {
- text-decoration: none;
- background-color: #eee;
- border-color: #eee #eee #ddd;
- }
- }
- }
- .active > a, .active > a:hover {
- color: $gray;
- background-color: $white;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
- cursor: default;
- }
-}
-
-// Dropdowns in tabs
-.tabs {
- // first one for backwards compatibility
- .menu-dropdown, .dropdown-menu {
- top: 35px;
- border-width: 1px;
- @include border-radius(0 6px 6px 6px);
- }
- // first one for backwards compatibility
- a.menu:after, .dropdown-toggle:after {
- border-top-color: #999;
- margin-top: 15px;
- margin-left: 5px;
- }
- // first one for backwards compatibility
- li.open.menu .menu, .open.dropdown .dropdown-toggle {
- border-color: #999;
- }
- // first one for backwards compatibility
- li.open a.menu:after, .dropdown.open .dropdown-toggle:after {
- border-top-color: #555;
- }
-}
-
-// Pills
-.pills {
- a {
- margin: 5px 3px 5px 0;
- padding: 0 15px;
- line-height: 30px;
- text-shadow: 0 1px 1px $white;
- @include border-radius(15px);
- &:hover {
- color: $white;
- text-decoration: none;
- text-shadow: 0 1px 1px rgba(0,0,0,.25);
- background-color: $linkColorHover;
- }
- }
- .active a {
- color: $white;
- text-shadow: 0 1px 1px rgba(0,0,0,.25);
- background-color: $linkColor;
- }
-}
-
-// Stacked pills
-.pills-vertical > li {
- float: none;
-}
-
-// Tabbable areas
-.tab-content, .pill-content {
-}
-.tab-content > .tab-pane, .pill-content > .pill-pane, .tab-content > div, .pill-content > div {
- display: none;
-}
-.tab-content > .active, .pill-content > .active {
- display: block;
-}
-
-// BREADCRUMBS
-// -----------
-
-.breadcrumb {
- padding: 7px 14px;
- margin: 0 0 $baseline;
- @include vertical-gradient(#ffffff, #f5f5f5);
- border: 1px solid #ddd;
- @include border-radius(3px);
- @include box-shadow(inset 0 1px 0 $white);
- li {
- display: inline;
- text-shadow: 0 1px 0 $white;
- }
- .divider {
- padding: 0 5px;
- color: $grayLight;
- }
- .active a {
- color: $grayDark;
- }
-}
-
-
-// PAGE HEADERS
-// ------------
-
-.hero-unit {
- background-color: #f5f5f5;
- margin-bottom: 30px;
- padding: 60px;
- @include border-radius(6px);
- h1 {
- margin-bottom: 0;
- font-size: 60px;
- line-height: 1;
- letter-spacing: -1px;
- }
- p {
- font-size: 18px;
- font-weight: 200;
- line-height: $baseline * 1.5;
- }
-}
-footer {
- margin-top: $baseline - 1;
- padding-top: $baseline - 1;
- border-top: 1px solid #eee;
-}
-
-
-// PAGE HEADERS
-// ------------
-
-.page-header {
- margin-bottom: $baseline - 1;
- border-bottom: 1px solid #ddd;
- @include box-shadow(0 1px 0 rgba(255,255,255,.5));
- h1 {
- margin-bottom: ($baseline / 2) - 1px;
- }
-}
-
-
-// BUTTON STYLES
-// -------------
-
-// Shared colors for buttons and alerts
-.btn, .alert-message {
- // Set text color
- &.danger, &.danger:hover, &.error, &.error:hover, &.success, &.success:hover, &.info, &.info:hover {
- color: $white
- }
- // Sets the close button to the middle of message
- .close {
- font-family: Arial, sans-serif;
- line-height: 18px;
- }
- // Danger and error appear as red
- &.danger, &.error {
- @include gradientBar(#ee5f5b, #c43c35);
- }
- // Success appears as green
- &.success {
- @include gradientBar(#62c462, #57a957);
- }
- // Info appears as a neutral blue
- &.info {
- @include gradientBar(#5bc0de, #339bb9);
- }
-}
-
-// Base .btn styles
-.btn {
- // Button Base
- cursor: pointer;
- display: inline-block;
- // Hackity hackity hack. Filter doesn't support named colours which SASS outputs in if it can, so alter the colour slightly.
- @include vertical-three-colors-gradient(#fffffe, #fffffe, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
- padding: 5px 14px 6px;
- text-shadow: 0 1px 1px rgba(255,255,255,.75);
- color: #333;
- font-size: $basefont;
- line-height: normal;
- border: 1px solid #ccc;
- border-bottom-color: #bbb;
- @include border-radius(4px);
- $shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
- @include box-shadow($shadow);
-
- &:hover {
- background-position: 0 -15px;
- color: #333;
- text-decoration: none;
- }
-
- // Focus state for keyboard and accessibility
- &:focus {
- outline: 1px dotted #666;
- }
-
- // Primary Button Type
- &.primary {
- color: $white;
- @include gradientBar($blue, $blueDark)
- }
-
- // Transitions
- @include transition(.1s linear all);
-
- // Active and Disabled states
- &:active, &.active {
- $shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
- @include box-shadow($shadow);
- }
- &.disabled {
- cursor: default;
- background-image: none;
- @include reset-filter();
- @include opacity(65);
- @include box-shadow(none);
- }
- &[disabled] {
- // disabled pseudo can't be included with .disabled
- // def because IE8 and below will drop it ;_;
- cursor: default;
- background-image: none;
- @include reset-filter();
- @include opacity(65);
- @include box-shadow(none);
- }
-
- // Button Sizes
- &.large {
- font-size: $basefont + 2px;
- line-height: normal;
- padding: 9px 14px 9px;
- @include border-radius(6px);
- }
- &.small {
- padding: 7px 9px 7px;
- font-size: $basefont - 2px;
- }
-}
-// Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
-:root .alert-message, :root .btn {
- border-radius: 0 \0;
-}
-
-// Help Firefox not be a jerk about adding extra padding to buttons
-button.btn, input[type=submit].btn {
- &::-moz-focus-inner {
- padding: 0;
- border: 0;
- }
-}
-
-
-// CLOSE ICONS
-// -----------
-.close {
- float: right;
- color: $black;
- font-size: 20px;
- font-weight: bold;
- line-height: $baseline * .75;
- text-shadow: 0 1px 0 rgba(255,255,255,1);
- @include opacity(25);
- &:hover {
- color: $black;
- text-decoration: none;
- @include opacity(40);
- }
-}
-
-
-// ERROR STYLES
-// ------------
-
-// Base alert styles
-.alert-message {
- position: relative;
- padding: 7px 15px;
- margin-bottom: $baseline;
- color: $grayDark;
- @include gradientBar(#fceec1, #eedc94); // warning by default
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
- border-width: 1px;
- border-style: solid;
- @include border-radius(4px);
- @include box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
-
- // Adjust close icon
- .close {
- margin-top: 1px;
- *margin-top: 0; // IE7.
- }
-
- // Make links same color as text and stand out more
- a {
- font-weight: bold;
- color: $grayDark;
- }
- &.danger p a, &.error p a, &.success p a, &.info p a {
- color: $grayDark;
- }
-
- // Remove extra margin from content
- h5 {
- line-height: $baseline;
- }
- p {
- margin-bottom: 0;
- }
- div {
- margin-top: 5px;
- margin-bottom: 2px;
- line-height: 28px;
- }
- .btn {
- // Provide actions with buttons
- @include box-shadow(0 1px 0 rgba(255,255,255,.25));
- }
-
- &.block-message {
- background-image: none;
- background-color: lighten(#fceec1, 5%);
- @include reset-filter();
- padding: 14px;
- border-color: #fceec1;
- @include box-shadow(none);
- ul, p {
- margin-right: 30px;
- }
- ul {
- margin-bottom: 0;
- }
- li {
- color: $grayDark;
- }
- .alert-actions {
- margin-top: 5px;
- }
- &.error, &.success, &.info {
- color: $grayDark;
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
- }
- &.error {
- background-color: lighten(#f56a66, 25%);
- border-color: lighten(#f56a66, 20%);
- }
- &.success {
- background-color: lighten(#62c462, 30%);
- border-color: lighten(#62c462, 25%);
- }
- &.info {
- background-color: lighten(#6bd0ee, 25%);
- border-color: lighten(#6bd0ee, 20%);
- }
- }
-}
-
-
-// PAGINATION
-// ----------
-
-.pagination {
- height: $baseline * 2;
- margin: $baseline 0;
- ul {
- float: left;
- margin: 0;
- border: 1px solid #ddd;
- border: 1px solid rgba(0,0,0,.15);
- @include border-radius(3px);
- @include box-shadow(0 1px 2px rgba(0,0,0,.05));
- }
- li {
- display: inline;
- }
- a {
- float: left;
- padding: 0 14px;
- line-height: ($baseline * 2) - 2;
- border-right: 1px solid;
- border-right-color: #ddd;
- border-right-color: rgba(0,0,0,.15);
- *border-right-color: #ddd; /* IE6-7 */
- text-decoration: none;
- }
- a:hover, .active a {
- background-color: lighten($blue, 45%);
- }
- .disabled a, .disabled a:hover {
- background-color: transparent;
- color: $grayLight;
- }
- .next a {
- border: 0;
- }
-}
-
-
-// WELLS
-// -----
-
-.well {
- background-color: #f5f5f5;
- margin-bottom: 20px;
- padding: 19px;
- min-height: 20px;
- border: 1px solid #eee;
- border: 1px solid rgba(0,0,0,.05);
- @include border-radius(4px);
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
- blockquote {
- border-color: #ddd;
- border-color: rgba(0,0,0,.15);
- }
-}
-
-
-// MODALS
-// ------
-
-.modal-backdrop {
- background-color: $black;
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 10000;
- // Fade for backdrop
- &.fade { opacity: 0; }
-}
-
-.modal-backdrop, .modal-backdrop.fade.in {
- @include opacity(80);
-}
-
-.modal {
- position: fixed;
- top: 50%;
- left: 50%;
- z-index: 11000;
- width: 560px;
- margin: -250px 0 0 -280px;
- background-color: $white;
- border: 1px solid #999;
- border: 1px solid rgba(0,0,0,.3);
- *border: 1px solid #999; /* IE6-7 */
- @include border-radius(6px);
- @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
- @include background-clip(padding-box);
- .close { margin-top: 7px; }
- &.fade {
- $trans: opacity .3s linear, top .3s ease-out;
- @include transition($trans);
- top: -25%;
- }
- &.fade.in { top: 50%; }
-}
-.modal-header {
- border-bottom: 1px solid #eee;
- padding: 5px 15px;
-}
-.modal-body {
- padding: 15px;
-}
-.modal-body form {
- margin-bottom: 0;
-}
-.modal-footer {
- background-color: #f5f5f5;
- padding: 14px 15px 15px;
- border-top: 1px solid #ddd;
- @include border-radius(0 0 6px 6px);
- @include box-shadow(inset 0 1px 0 $white);
- @include clearfix();
- margin-bottom: 0;
- .btn {
- float: right;
- margin-left: 5px;
- }
-}
-
-// Fix the stacking of these components when in modals
-.modal .popover, .modal .twipsy {
- z-index: 12000;
-}
-
-// POPOVER ARROWS
-// --------------
-
-@mixin above-arrow($arrowWidth: 5px) {
- bottom: 0;
- left: 50%;
- margin-left: -$arrowWidth;
- border-left: $arrowWidth solid transparent;
- border-right: $arrowWidth solid transparent;
- border-top: $arrowWidth solid $black;
-}
-@mixin left-arrow($arrowWidth: 5px) {
- top: 50%;
- right: 0;
- margin-top: -$arrowWidth;
- border-top: $arrowWidth solid transparent;
- border-bottom: $arrowWidth solid transparent;
- border-left: $arrowWidth solid $black;
-}
-@mixin below-arrow($arrowWidth: 5px) {
- top: 0;
- left: 50%;
- margin-left: -$arrowWidth;
- border-left: $arrowWidth solid transparent;
- border-right: $arrowWidth solid transparent;
- border-bottom: $arrowWidth solid $black;
-}
-@mixin right-arrow($arrowWidth: 5px) {
- top: 50%;
- left: 0;
- margin-top: -$arrowWidth;
- border-top: $arrowWidth solid transparent;
- border-bottom: $arrowWidth solid transparent;
- border-right: $arrowWidth solid $black;
-}
-
-// TWIPSY
-// ------
-
-.twipsy {
- display: block;
- position: absolute;
- visibility: visible;
- padding: 5px;
- font-size: 11px;
- z-index: 1000;
- @include opacity(80);
- &.fade.in {
- @include opacity(80);
- }
- &.above .twipsy-arrow { @include above-arrow(); }
- &.left .twipsy-arrow { @include left-arrow(); }
- &.below .twipsy-arrow { @include below-arrow(); }
- &.right .twipsy-arrow { @include right-arrow(); }
-}
-.twipsy-inner {
- padding: 3px 8px;
- background-color: $black;
- color: white;
- text-align: center;
- max-width: 200px;
- text-decoration: none;
- @include border-radius(4px);
-}
-.twipsy-arrow {
- position: absolute;
- width: 0;
- height: 0;
-}
-
-
-// POPOVERS
-// --------
-
-.popover {
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1000;
- padding: 5px;
- display: none;
- &.above .arrow { @include above-arrow(); }
- &.right .arrow { @include right-arrow(); }
- &.below .arrow { @include below-arrow(); }
- &.left .arrow { @include left-arrow(); }
- .arrow {
- position: absolute;
- width: 0;
- height: 0;
- }
- .inner {
- background: $black;
- background: rgba(0,0,0,.8);
- padding: 3px;
- overflow: hidden;
- width: 280px;
- @include border-radius(6px);
- @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
- }
- .title {
- background-color: #f5f5f5;
- padding: 9px 15px;
- line-height: 1;
- @include border-radius(3px 3px 0 0);
- border-bottom:1px solid #eee;
- }
- .content {
- background-color: $white;
- padding: 14px;
- @include border-radius(0 0 3px 3px);
- @include background-clip(padding-box);
- p, ul, ol {
- margin-bottom: 0;
- }
- }
-}
-
-
-// PATTERN ANIMATIONS
-// ------------------
-
-.fade {
- @include transition(opacity .15s linear);
- opacity: 0;
- &.in {
- opacity: 1;
- }
-}
-
-// LABELS
-// ------
-
-.label {
- padding: 1px 3px 2px;
- font-size: $basefont * 0.75;
- font-weight: bold;
- color: $white;
- text-transform: uppercase;
- white-space: nowrap;
- background-color: $grayLight;
- @include border-radius(3px);
- &.important { background-color: #c43c35; }
- &.warning { background-color: $orange; }
- &.success { background-color: $green; }
- &.notice { background-color: lighten($blue, 25%); }
-}
-
-
-// MEDIA GRIDS
-// -----------
-
-.media-grid {
- margin-left: -$gridGutterWidth;
- margin-bottom: 0;
- @include clearfix();
- li {
- display: inline;
- }
- a {
- float: left;
- padding: 4px;
- margin: 0 0 $baseline $gridGutterWidth;
- border: 1px solid #ddd;
- @include border-radius(4px);
- @include box-shadow(0 1px 1px rgba(0,0,0,.075));
- img {
- display: block;
- }
- &:hover {
- border-color: $linkColor;
- @include box-shadow(0 1px 4px rgba(0,105,214,.25));
- }
- }
-}
-
diff --git a/vendor/assets/stylesheets/bootstrap/reset.css.scss b/vendor/assets/stylesheets/bootstrap/reset.css.scss
deleted file mode 100644
index a5cd04de..00000000
--- a/vendor/assets/stylesheets/bootstrap/reset.css.scss
+++ /dev/null
@@ -1,142 +0,0 @@
-/* reset.css.scss
- * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
- * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
-
-
-// ERIC MEYER RESET
-// --------------------------------------------------
-
-html, body { margin: 0; padding: 0; }
-h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, q, s, samp, small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset, form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: normal; font-style: normal; font-size: 100%; line-height: 1; font-family: inherit; }
-table { border-collapse: collapse; border-spacing: 0; }
-ol, ul { list-style: none; }
-q:before, q:after, blockquote:before, blockquote:after { content: ""; }
-
-
-// Normalize.css
-// Pulling in select resets form the normalize.css project
-// --------------------------------------------------
-
-// Display in IE6-9 and FF3
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-html {
- overflow-y: scroll;
- font-size: 100%;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
-}
-// Focus states
-a:focus {
- outline: thin dotted;
-}
-// Hover & Active
-a:hover,
-a:active {
- outline: 0;
-}
-
-// Display in IE6-9 and FF3
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section {
- display: block;
-}
-
-// Display block in IE6-9 and FF3
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-audio,
-canvas,
-video {
- display: inline-block;
- *display: inline;
- *zoom: 1;
-}
-
-// Prevents modern browsers from displaying 'audio' without controls
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-audio:not([controls]) {
- display: none;
-}
-
-// Prevents sub and sup affecting line-height in all browsers
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-sup {
- top: -0.5em;
-}
-sub {
- bottom: -0.25em;
-}
-
-// Img border in a's and image quality
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-img {
- border: 0;
- -ms-interpolation-mode: bicubic;
-}
-
-// Forms
-// -------------------------
-// Source: http://github.com/necolas/normalize.css
-
-// Font size in all browsers, margin changes, misc consistency
-button,
-input,
-select,
-textarea {
- font-size: 100%;
- margin: 0;
- vertical-align: baseline;
- *vertical-align: middle;
-}
-button,
-input {
- line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
- *overflow: visible; // Inner spacing ie IE6/7
-}
-button::-moz-focus-inner,
-input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
- border: 0;
- padding: 0;
-}
-button,
-input[type="button"],
-input[type="reset"],
-input[type="submit"] {
- cursor: pointer; // Cursors on all buttons applied consistently
- -webkit-appearance: button; // Style clicable inputs in iOS
-}
-input[type="search"] { // Appearance in Safari/Chrome
- -webkit-appearance: textfield;
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
-}
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
-}
-textarea {
- overflow: auto; // Remove vertical scrollbar in IE6-9
- vertical-align: top; // Readability and alignment cross-browser
-}
-
diff --git a/vendor/assets/stylesheets/bootstrap/scaffolding.css.scss b/vendor/assets/stylesheets/bootstrap/scaffolding.css.scss
deleted file mode 100644
index 105cbfe0..00000000
--- a/vendor/assets/stylesheets/bootstrap/scaffolding.css.scss
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * scaffolding.css.scss
- * Basic and global styles for generating a grid system, structural layout, and page templates
- * ------------------------------------------------------------------------------------------- */
-
-
-// STRUCTURAL LAYOUT
-// -----------------
-
-body {
- background-color: $white;
- margin: 0;
- @include sans-serif-font(normal,$basefont,$baseline);
- color: $grayDark;
-}
-
-// Container (centered, fixed-width layouts)
-.container {
- @include fixed-container();
-}
-
-// Fluid layouts (left aligned, with sidebar, min- & max-width content)
-.container-fluid {
- position: relative;
- min-width: 940px;
- padding-left: 20px;
- padding-right: 20px;
- @include clearfix();
- > .sidebar {
- position: absolute;
- top: 0;
- left: 20px;
- width: 220px;
- }
- // TODO in v2: rename this and .popover .content to be more specific
- > .content {
- margin-left: 240px;
- }
-}
-
-// BASE STYLES
-// -----------
-
-// Links
-a {
- color: $linkColor;
- text-decoration: none;
- line-height: inherit;
- font-weight: inherit;
- &:hover {
- color: $linkColorHover;
- text-decoration: underline;
- }
-}
-
-// Quick floats
-.pull-right { float: right; }
-.pull-left { float: left; }
-
-// Toggling content
-.hide { display: none; }
-.show { display: block; }
-
-// GRID SYSTEM
-// -----------
-// To customize the grid system, bring up the variables.less file and change the column count, size, and gutter there
-
-.row {
- @include clearfix();
- margin-left: -$gridGutterWidth;
-}
-
-// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7)
-// Credit to @dhg for the idea
-.row > [class*="span"] {
- @include gridColumn();
-}
-
-// Default columns
-.span1 { @include columns(1); }
-.span2 { @include columns(2); }
-.span3 { @include columns(3); }
-.span4 { @include columns(4); }
-.span5 { @include columns(5); }
-.span6 { @include columns(6); }
-.span7 { @include columns(7); }
-.span8 { @include columns(8); }
-.span9 { @include columns(9); }
-.span10 { @include columns(10); }
-.span11 { @include columns(11); }
-.span12 { @include columns(12); }
-.span13 { @include columns(13); }
-.span14 { @include columns(14); }
-.span15 { @include columns(15); }
-.span16 { @include columns(16); }
-
-// For optional 24-column grid
-.span17 { @include columns(17); }
-.span18 { @include columns(18); }
-.span19 { @include columns(19); }
-.span20 { @include columns(20); }
-.span21 { @include columns(21); }
-.span22 { @include columns(22); }
-.span23 { @include columns(23); }
-.span24 { @include columns(24); }
-
-// Offset column options
-.row {
- > .offset1 { @include offset(1); }
- > .offset2 { @include offset(2); }
- > .offset3 { @include offset(3); }
- > .offset4 { @include offset(4); }
- > .offset5 { @include offset(5); }
- > .offset6 { @include offset(6); }
- > .offset7 { @include offset(7); }
- > .offset8 { @include offset(8); }
- > .offset9 { @include offset(9); }
- > .offset10 { @include offset(10); }
- > .offset11 { @include offset(11); }
- > .offset12 { @include offset(12); }
-}
-
-// Unique column sizes for 16-column grid
-.span-one-third { width: 300px; }
-.span-two-thirds { width: 620px; }
-.row {
- > .offset-one-third { margin-left: 340px; }
- > .offset-two-thirds { margin-left: 660px; }
-}
diff --git a/vendor/assets/stylesheets/bootstrap/tables.css.scss b/vendor/assets/stylesheets/bootstrap/tables.css.scss
deleted file mode 100644
index cf2558e8..00000000
--- a/vendor/assets/stylesheets/bootstrap/tables.css.scss
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * tables.css.scss
- * Tables for, you guessed it, tabular data
- * ---------------------------------------- */
-
-
-// BASELINE STYLES
-// ---------------
-
-table {
- width: 100%;
- margin-bottom: $baseline;
- padding: 0;
- font-size: $basefont;
- border-collapse: collapse;
- th, td {
- padding: 10px 10px 9px;
- line-height: $baseline;
- text-align: left;
- }
- th {
- padding-top: 9px;
- font-weight: bold;
- vertical-align: middle;
- }
- td {
- vertical-align: top;
- border-top: 1px solid #ddd;
- }
- // When scoped to row, fix th in body
- tbody th {
- border-top: 1px solid #ddd;
- vertical-align: top;
- }
-}
-
-// Condensed table
-.condensed-table {
- th, td {
- padding: 5px 5px 4px;
- }
-}
-
-// Bordered table
-.bordered-table {
- border: 1px solid #ddd;
- border-collapse: separate; // For rounded corners
- *border-collapse: collapse; // IE7, Y U NO STANDARD
- @include border-radius(4px);
- th + th, td + td, th + td {
- border-left: 1px solid #ddd;
- }
- thead tr:first-child th:first-child, tbody tr:first-child td:first-child {
- @include border-radius(4px 0 0 0);
- }
- thead tr:first-child th:last-child, tbody tr:first-child td:last-child {
- @include border-radius(0 4px 0 0);
- }
- tbody tr:last-child td:first-child {
- @include border-radius(0 0 0 4px);
- }
- tbody tr:last-child td:last-child {
- @include border-radius(0 0 4px 0);
- }
-}
-
-// TABLE CELL SIZES
-// ----------------
-
-// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for padding and border
-@mixin tableColumns($columnSpan: 1) {
- width: (($gridColumnWidth - 20) * $columnSpan) + (($gridColumnWidth - 20) * ($columnSpan - 1));
-}
-
-table {
- // Default columns
- .span1 { @include tableColumns(1); }
- .span2 { @include tableColumns(2); }
- .span3 { @include tableColumns(3); }
- .span4 { @include tableColumns(4); }
- .span5 { @include tableColumns(5); }
- .span6 { @include tableColumns(6); }
- .span7 { @include tableColumns(7); }
- .span8 { @include tableColumns(8); }
- .span9 { @include tableColumns(9); }
- .span10 { @include tableColumns(10); }
- .span11 { @include tableColumns(11); }
- .span12 { @include tableColumns(12); }
- .span13 { @include tableColumns(13); }
- .span14 { @include tableColumns(14); }
- .span15 { @include tableColumns(15); }
- .span16 { @include tableColumns(16); }
-}
-
-// ZEBRA-STRIPING
-// --------------
-
-// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.zebra-striped {
- tbody {
- tr:nth-child(odd) td, tr:nth-child(odd) th {
- background-color: #f9f9f9;
- }
- tr:hover td, tr:hover th {
- background-color: #f5f5f5;
- }
- }
-}
-
-table {
- // Tablesorting styles w/ jQuery plugin
- .header {
- cursor: pointer;
- &:after {
- content: "";
- float: right;
- margin-top: 7px;
- border-width: 0 4px 4px;
- border-style: solid;
- border-color: #000 transparent;
- visibility: hidden;
- }
- }
- // Style the sorted column headers (THs)
- .headerSortUp,
- .headerSortDown {
- background-color: rgba(141,192,219,.25);
- text-shadow: 0 1px 1px rgba(255,255,255,.75);
- }
- // Style the ascending (reverse alphabetical) column header
- .header:hover {
- &:after {
- visibility:visible;
- }
- }
- // Style the descending (alphabetical) column header
- .headerSortDown,
- .headerSortDown:hover {
- &:after {
- visibility:visible;
- @include opacity(60);
- }
- }
- // Style the ascending (reverse alphabetical) column header
- .headerSortUp {
- &:after {
- border-bottom: none;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid #000;
- visibility:visible;
- @include box-shadow(none); //can't add boxshadow to downward facing arrow :(
- @include opacity(60);
- }
- }
- // Blue Table Headings
- .blue {
- color: $blue;
- border-bottom-color: $blue;
- }
- .headerSortUp.blue,
- .headerSortDown.blue {
- background-color: lighten($blue, 40%);
- }
- // Green Table Headings
- .green {
- color: $green;
- border-bottom-color: $green;
- }
- .headerSortUp.green,
- .headerSortDown.green {
- background-color: lighten($green, 40%);
- }
- // Red Table Headings
- .red {
- color: $red;
- border-bottom-color: $red;
- }
- .headerSortUp.red,
- .headerSortDown.red {
- background-color: lighten($red, 50%);
- }
- // Yellow Table Headings
- .yellow {
- color: $yellow;
- border-bottom-color: $yellow;
- }
- .headerSortUp.yellow,
- .headerSortDown.yellow {
- background-color: lighten($yellow, 40%);
- }
- // Orange Table Headings
- .orange {
- color: $orange;
- border-bottom-color: $orange;
- }
- .headerSortUp.orange,
- .headerSortDown.orange {
- background-color: lighten($orange, 40%);
- }
- // Purple Table Headings
- .purple {
- color: $purple;
- border-bottom-color: $purple;
- }
- .headerSortUp.purple,
- .headerSortDown.purple {
- background-color: lighten($purple, 40%);
- }
-}
-
-
diff --git a/vendor/assets/stylesheets/bootstrap/type.css.scss b/vendor/assets/stylesheets/bootstrap/type.css.scss
deleted file mode 100644
index b87dd265..00000000
--- a/vendor/assets/stylesheets/bootstrap/type.css.scss
+++ /dev/null
@@ -1,186 +0,0 @@
-/* type.css.scss
- * Headings, body text, lists, code, and more for a versatile and durable typography system
- * ---------------------------------------------------------------------------------------- */
-
-
-// BODY TEXT
-// ---------
-p {
- @include shorthand-font(normal,$basefont,$baseline);
- margin-bottom: $baseline / 2;
- small {
- font-size: $basefont - 2;
- color: $grayLight;
- }
-}
-
-
-// HEADINGS
-// --------
-
-h1, h2, h3, h4, h5, h6 {
- font-weight: bold;
- color: $grayDark;
- small {
- color: $grayLight;
- }
-}
-h1 {
- margin-bottom: $baseline;
- font-size: 30px;
- line-height: $baseline * 2;
- small {
- font-size: 18px;
- }
-}
-h2 {
- font-size: 24px;
- line-height: $baseline * 2;
- small {
- font-size: 14px;
- }
-}
-h3, h4, h5, h6 {
- line-height: $baseline * 2;
-}
-h3 {
- font-size: 18px;
- small {
- font-size: 14px;
- }
-}
-h4 {
- font-size: 16px;
- small {
- font-size: 12px;
- }
-}
-h5 {
- font-size: 14px;
-}
-h6 {
- font-size: 13px;
- color: $grayLight;
- text-transform: uppercase;
-}
-
-
-// COLORS
-// ------
-
-// Unordered and Ordered lists
-ul, ol {
- margin: 0 0 $baseline 25px;
-}
-ul ul,
-ul ol,
-ol ol,
-ol ul {
- margin-bottom: 0;
-}
-ul {
- list-style: disc;
-}
-ol {
- list-style: decimal;
-}
-li {
- line-height: $baseline;
- color: $gray;
-}
-ul.unstyled {
- list-style: none;
- margin-left: 0;
-}
-
-// Description Lists
-dl {
- margin-bottom: $baseline;
- dt, dd {
- line-height: $baseline;
- }
- dt {
- font-weight: bold;
- }
- dd {
- margin-left: $baseline / 2;
- }
-}
-
-// MISC
-// ----
-
-// Horizontal rules
-hr {
- margin: 20px 0 19px;
- border: 0;
- border-bottom: 1px solid #eee;
-}
-
-// Emphasis
-strong {
- font-style: inherit;
- font-weight: bold;
-}
-em {
- font-style: italic;
- font-weight: inherit;
- line-height: inherit;
-}
-.muted {
- color: $grayLight;
-}
-
-// Blockquotes
-blockquote {
- margin-bottom: $baseline;
- border-left: 5px solid #eee;
- padding-left: 15px;
- p {
- @include shorthand-font(300,14px,$baseline);
- margin-bottom: 0;
- }
- small {
- display: block;
- @include shorthand-font(300,12px,$baseline);
- color: $grayLight;
- &:before {
- content: '\2014 \00A0';
- }
- }
-}
-
-// Addresses
-address {
- display: block;
- line-height: $baseline;
- margin-bottom: $baseline;
-}
-
-// Inline and block code styles
-code, pre {
- padding: 0 3px 2px;
- font-family: Monaco, Andale Mono, Courier New, monospace;
- font-size: 12px;
- @include border-radius(3px);
-}
-code {
- background-color: lighten($orange, 40%);
- color: rgba(0,0,0,.75);
- padding: 1px 3px;
-}
-pre {
- background-color: #f5f5f5;
- display: block;
- padding: ($baseline - 1) / 2;
- margin: 0 0 $baseline;
- line-height: $baseline;
- font-size: 12px;
- border: 1px solid #ccc;
- border: 1px solid rgba(0,0,0,.15);
- @include border-radius(3px);
- white-space: pre;
- white-space: pre-wrap;
- word-wrap: break-word;
-}
-
diff --git a/vendor/assets/stylesheets/bootstrap/variables.css.scss b/vendor/assets/stylesheets/bootstrap/variables.css.scss
deleted file mode 100644
index e06683e4..00000000
--- a/vendor/assets/stylesheets/bootstrap/variables.css.scss
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Variables.less
- * Variables to customize the look and feel of Bootstrap
- * ----------------------------------------------------- */
-
-// Links
-$linkColor: #0069d6 !default;
-$linkColorHover: darken($linkColor, 15) !default;
-
-// Grays
-$black: #000 !default;
-$grayDark: lighten($black, 25%) !default;
-$gray: lighten($black, 50%) !default;
-$grayLight: lighten($black, 75%) !default;
-$grayLighter: lighten($black, 90%) !default;
-$white: #fff !default;
-
-// Accent Colors
-$blue: #049CDB !default;
-$blueDark: #0064CD !default;
-$green: #46a546 !default;
-$red: #9d261d !default;
-$yellow: #ffc40d !default;
-$orange: #f89406 !default;
-$pink: #c3325f !default;
-$purple: #7a43b6 !default;
-
-// Baseline grid
-$basefont: 13px !default;
-$baseline: 18px !default;
-
-// Griditude
-// Modify the grid styles in mixins.less
-$gridColumns: 16 !default;
-$gridColumnWidth: 40px !default;
-$gridGutterWidth: 20px !default;
-$extraSpace: ($gridGutterWidth * 2) !default; // For our grid calculations
-$siteWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1)) !default;
-
-// Color Scheme
-// Use this to roll your own color schemes if you like (unused by Bootstrap by default)
-$baseColor: $blue !default; // Set a base color
-$complement: spin($baseColor, 180) !default; // Determine a complementary color
-$split1: spin($baseColor, 158) !default; // Split complements
-$split2: spin($baseColor, -158) !default;
-$triad1: spin($baseColor, 135) !default; // Triads colors
-$triad2: spin($baseColor, -135) !default;
-$tetra1: spin($baseColor, 90) !default; // Tetra colors
-$tetra2: spin($baseColor, -90) !default;
-$analog1: spin($baseColor, 22) !default; // Analogs colors
-$analog2: spin($baseColor, -22) !default;
-