diff options
author | Thomas McDonald <tom@conceptcoding.co.uk> | 2012-09-06 19:29:38 +0400 |
---|---|---|
committer | Thomas McDonald <tom@conceptcoding.co.uk> | 2012-09-06 19:29:38 +0400 |
commit | bc406b198148d8d2a4b56b7cd6592df60b961556 (patch) | |
tree | ec0418718facf9b1366e4f97f3fcbed41bf85f6e | |
parent | c75e43845ce88e9a5db3b2da5b105149f6c01397 (diff) | |
parent | 433891e27d0ca43db7b6078621149b6c8d51c46c (diff) |
Merge branch '2.1-wip'
60 files changed, 2282 insertions, 1145 deletions
@@ -1,4 +1,5 @@ *.gem .sass-cache bootstrap.css -bootstrap-responsive.css
\ No newline at end of file +bootstrap-responsive.css +Gemfile.lock
\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a9cf6e3..7db2456b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2.1.0.0 +* Updated to Bootstrap 2.1 +* Changed some mixin names to be more consistent. Nested mixins in Less are separated by a `-` when they are flattened in Sass. + ## 2.0.4.1 * Fix `.row-fluid > spanX` nesting * Small Javascript fixes for those staying on the 2.0.4 release diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..896d547d --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gemspec
\ No newline at end of file @@ -6,9 +6,6 @@ Enjoy. -## Updating -Updating your application to a new version of `bootstrap-sass`? See our [changelog](https://github.com/thomas-mcdonald/bootstrap-sass/blob/master/CHANGELOG.md), [Bootstrap's changelog](https://github.com/twitter/bootstrap/wiki/Changelog), and this [guide to updating to Bootstrap 2.0](http://twitter.github.com/bootstrap/upgrading.html) - ## Usage ### Rails @@ -16,7 +13,7 @@ Updating your application to a new version of `bootstrap-sass`? See our [changel In your Gemfile: gem 'sass-rails', '~> 3.1' - gem 'bootstrap-sass', '~> 2.0.4.1' + gem 'bootstrap-sass', '~> 2.1.0.0' #### CSS diff --git a/bootstrap-sass.gemspec b/bootstrap-sass.gemspec index a5582475..0ca57914 100644 --- a/bootstrap-sass.gemspec +++ b/bootstrap-sass.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "bootstrap-sass" - s.version = '2.0.4.1' + s.version = '2.1.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 or Compass" diff --git a/vendor/assets/images/glyphicons-halflings.png b/vendor/assets/images/glyphicons-halflings.png Binary files differindex 79bc568c..a9969993 100644 --- a/vendor/assets/images/glyphicons-halflings.png +++ b/vendor/assets/images/glyphicons-halflings.png diff --git a/vendor/assets/javascripts/bootstrap-affix.js b/vendor/assets/javascripts/bootstrap-affix.js new file mode 100644 index 00000000..c6b8208a --- /dev/null +++ b/vendor/assets/javascripts/bootstrap-affix.js @@ -0,0 +1,104 @@ +/* ========================================================== + * bootstrap-affix.js v2.1.0 + * http://twitter.github.com/bootstrap/javascript.html#affix + * ========================================================== + * 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"; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * ====================== */ + + var Affix = function (element, options) { + this.options = $.extend({}, $.fn.affix.defaults, options) + this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) + this.$element = $(element) + this.checkPosition() + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top() + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + + affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? + false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null && scrollTop <= offsetTop ? + 'top' : false + + if (this.affixed === affix) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? position.top - scrollTop : null + + this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * ======================= */ + + $.fn.affix = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('affix') + , options = typeof option == 'object' && option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { + offset: 0 + } + + + /* AFFIX DATA-API + * ============== */ + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + , data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom && (data.offset.bottom = data.offsetBottom) + data.offsetTop && (data.offset.top = data.offsetTop) + + $spy.affix(data) + }) + }) + + +}(window.jQuery);
\ No newline at end of file diff --git a/vendor/assets/javascripts/bootstrap-alert.js b/vendor/assets/javascripts/bootstrap-alert.js index 57890a9a..4dd31adb 100644 --- a/vendor/assets/javascripts/bootstrap-alert.js +++ b/vendor/assets/javascripts/bootstrap-alert.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-alert.js v2.0.4 + * bootstrap-alert.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/vendor/assets/javascripts/bootstrap-button.js b/vendor/assets/javascripts/bootstrap-button.js index 7f187be6..d0413d6e 100644 --- a/vendor/assets/javascripts/bootstrap-button.js +++ b/vendor/assets/javascripts/bootstrap-button.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-button.js v2.0.4 + * bootstrap-button.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. diff --git a/vendor/assets/javascripts/bootstrap-carousel.js b/vendor/assets/javascripts/bootstrap-carousel.js index 551de589..0b87eb8a 100644 --- a/vendor/assets/javascripts/bootstrap-carousel.js +++ b/vendor/assets/javascripts/bootstrap-carousel.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-carousel.js v2.0.4 + * bootstrap-carousel.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -46,7 +46,7 @@ } , to: function (pos) { - var $active = this.$element.find('.active') + var $active = this.$element.find('.item.active') , children = $active.parent().children() , activePos = children.index($active) , that = this @@ -68,6 +68,10 @@ , pause: function (e) { if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle() + } clearInterval(this.interval) this.interval = null return this @@ -84,13 +88,15 @@ } , slide: function (type, next) { - var $active = this.$element.find('.active') + var $active = this.$element.find('.item.active') , $next = next || $active[type]() , isCycling = this.interval , direction = type == 'next' ? 'left' : 'right' , fallback = type == 'next' ? 'first' : 'last' , that = this - , e = $.Event('slide') + , e = $.Event('slide', { + relatedTarget: $next[0] + }) this.sliding = true @@ -138,9 +144,10 @@ var $this = $(this) , data = $this.data('carousel') , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide 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 if (action) data[action]() else if (options.interval) data.cycle() }) } diff --git a/vendor/assets/javascripts/bootstrap-collapse.js b/vendor/assets/javascripts/bootstrap-collapse.js index fbc915b9..391d9128 100644 --- a/vendor/assets/javascripts/bootstrap-collapse.js +++ b/vendor/assets/javascripts/bootstrap-collapse.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-collapse.js v2.0.4 + * bootstrap-collapse.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. @@ -67,7 +67,7 @@ this.$element[dimension](0) this.transition('addClass', $.Event('show'), 'shown') - this.$element[dimension](this.$element[0][scroll]) + $.support.transition && this.$element[dimension](this.$element[0][scroll]) } , hide: function () { @@ -144,12 +144,13 @@ * ==================== */ $(function () { - $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) { + $('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() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') $(target).collapse(option) }) }) diff --git a/vendor/assets/javascripts/bootstrap-dropdown.js b/vendor/assets/javascripts/bootstrap-dropdown.js index 454a9684..bac22d00 100644 --- a/vendor/assets/javascripts/bootstrap-dropdown.js +++ b/vendor/assets/javascripts/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v2.0.4 + * bootstrap-dropdown.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -26,7 +26,7 @@ /* DROPDOWN CLASS DEFINITION * ========================= */ - var toggle = '[data-toggle="dropdown"]' + 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 () { @@ -41,34 +41,82 @@ , toggle: function (e) { var $this = $(this) , $parent - , selector , isActive if ($this.is('.disabled, :disabled')) return - selector = $this.attr('data-target') + $parent = getParent($this) - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() } - $parent = $(selector) - $parent.length || ($parent = $this.parent()) + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) isActive = $parent.hasClass('open') - clearMenus() + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() - if (!isActive) $parent.toggleClass('open') + $items = $('[role=menu] li:not(.divider) a', $parent) - return false + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() } } function clearMenus() { - $(toggle).parent().removeClass('open') + getParent($(toggle)) + .removeClass('open') + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent } @@ -91,10 +139,12 @@ * =================================== */ $(function () { - $('html').on('click.dropdown.data-api', clearMenus) + $('html') + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) $('body') - .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) }) }(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 38fd0c84..62fbc951 100644 --- a/vendor/assets/javascripts/bootstrap-modal.js +++ b/vendor/assets/javascripts/bootstrap-modal.js @@ -1,5 +1,5 @@ /* ========================================================= - * bootstrap-modal.js v2.0.4 + * bootstrap-modal.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. @@ -26,10 +26,11 @@ /* MODAL CLASS DEFINITION * ====================== */ - var Modal = function (content, options) { + var Modal = function (element, options) { this.options = options - this.$element = $(content) + this.$element = $(element) .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + this.options.remote && this.$element.find('.modal-body').load(this.options.remote) } Modal.prototype = { @@ -52,8 +53,9 @@ this.isShown = true - escape.call(this) - backdrop.call(this, function () { + this.escape() + + this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') if (!that.$element.parent().length) { @@ -67,7 +69,12 @@ that.$element[0].offsetWidth // force reflow } - that.$element.addClass('in') + that.$element + .addClass('in') + .attr('aria-hidden', false) + .focus() + + that.enforceFocus() transition ? that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : @@ -91,90 +98,98 @@ $('body').removeClass('modal-open') - escape.call(this) + this.escape() + + $(document).off('focusin.modal') - this.$element.removeClass('in') + this.$element + .removeClass('in') + .attr('aria-hidden', true) $.support.transition && this.$element.hasClass('fade') ? - hideWithTransition.call(this) : - hideModal.call(this) + this.hideWithTransition() : + this.hideModal() } - } - - - /* MODAL PRIVATE METHODS - * ===================== */ - - function hideWithTransition() { - var that = this - , timeout = setTimeout(function () { - that.$element.off($.support.transition.end) - hideModal.call(that) - }, 500) + , enforceFocus: function () { + var that = this + $(document).on('focusin.modal', function (e) { + if (that.$element[0] !== e.target && !that.$element.has(e.target).length) { + that.$element.focus() + } + }) + } - this.$element.one($.support.transition.end, function () { - clearTimeout(timeout) - hideModal.call(that) - }) - } + , escape: function () { + var that = this + if (this.isShown && this.options.keyboard) { + this.$element.on('keyup.dismiss.modal', function ( e ) { + e.which == 27 && that.hide() + }) + } else if (!this.isShown) { + this.$element.off('keyup.dismiss.modal') + } + } - function hideModal(that) { - this.$element - .hide() - .trigger('hidden') + , hideWithTransition: function () { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + that.hideModal() + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + that.hideModal() + }) + } - backdrop.call(this) - } + , hideModal: function (that) { + this.$element + .hide() + .trigger('hidden') - function backdrop(callback) { - var that = this - , animate = this.$element.hasClass('fade') ? 'fade' : '' + this.backdrop() + } - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate + , removeBackdrop: function () { + this.$backdrop.remove() + this.$backdrop = null + } - this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') - .appendTo(document.body) + , backdrop: function (callback) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' - if (this.options.backdrop != 'static') { - this.$backdrop.click($.proxy(this.hide, this)) - } + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate - if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') + .appendTo(document.body) - this.$backdrop.addClass('in') + if (this.options.backdrop != 'static') { + this.$backdrop.click($.proxy(this.hide, this)) + } - doAnimate ? - this.$backdrop.one($.support.transition.end, callback) : - callback() + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass('in') + this.$backdrop.addClass('in') - $.support.transition && this.$element.hasClass('fade')? - this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) : - removeBackdrop.call(this) + doAnimate ? + this.$backdrop.one($.support.transition.end, callback) : + callback() - } else if (callback) { - callback() - } - } + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') - function removeBackdrop() { - this.$backdrop.remove() - this.$backdrop = null - } + $.support.transition && this.$element.hasClass('fade')? + this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) : + this.removeBackdrop() - function escape() { - var that = this - if (this.isShown && this.options.keyboard) { - $(document).on('keyup.dismiss.modal', function ( e ) { - e.which == 27 && that.hide() - }) - } else if (!this.isShown) { - $(document).off('keyup.dismiss.modal') - } + } else if (callback) { + callback() + } + } } @@ -206,12 +221,18 @@ $(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()) + var $this = $(this) + , href = $this.attr('href') + , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 + , option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) e.preventDefault() - $target.modal(option) + + $target + .modal(option) + .one('hide', function () { + $this.focus() + }) }) }) diff --git a/vendor/assets/javascripts/bootstrap-popover.js b/vendor/assets/javascripts/bootstrap-popover.js index 39fbe358..4ce7a16d 100644 --- a/vendor/assets/javascripts/bootstrap-popover.js +++ b/vendor/assets/javascripts/bootstrap-popover.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-popover.js v2.0.4 + * bootstrap-popover.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. @@ -26,7 +26,7 @@ /* POPOVER PUBLIC CLASS DEFINITION * =============================== */ - var Popover = function ( element, options ) { + var Popover = function (element, options) { this.init('popover', element, options) } @@ -43,8 +43,8 @@ , title = this.getTitle() , content = this.getContent() - $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title) - $tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content) + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) $tip.removeClass('fade top bottom left right in') } @@ -71,6 +71,10 @@ return this.$tip } + , destroy: function () { + this.hide().$element.off('.' + this.type).removeData(this.type) + } + }) @@ -91,6 +95,7 @@ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { placement: 'right' + , trigger: 'click' , 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>' }) diff --git a/vendor/assets/javascripts/bootstrap-scrollspy.js b/vendor/assets/javascripts/bootstrap-scrollspy.js index dce37181..df70ebdd 100644 --- a/vendor/assets/javascripts/bootstrap-scrollspy.js +++ b/vendor/assets/javascripts/bootstrap-scrollspy.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-scrollspy.js v2.0.4 + * bootstrap-scrollspy.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#scrollspy * ============================================================= * Copyright 2012 Twitter, Inc. @@ -23,15 +23,15 @@ "use strict"; // jshint ;_; - /* SCROLLSPY CLASS DEFINITION - * ========================== */ + /* SCROLLSPY CLASS DEFINITION + * ========================== */ - function ScrollSpy( element, options) { + 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.$scrollElement = $element.on('scroll.scroll-spy.data-api', process) this.selector = (this.options.target || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 || '') + ' .nav li > a' @@ -58,7 +58,7 @@ , href = $el.data('target') || $el.attr('href') , $href = /^#\w/.test(href) && $(href) return ( $href - && href.length + && $href.length && [[ $href.position().top, href ]] ) || null }) .sort(function (a, b) { return a[0] - b[0] }) @@ -108,7 +108,7 @@ .parent('li') .addClass('active') - if (active.parent('.dropdown-menu')) { + if (active.parent('.dropdown-menu').length) { active = active.closest('li.dropdown').addClass('active') } @@ -121,7 +121,7 @@ /* SCROLLSPY PLUGIN DEFINITION * =========================== */ - $.fn.scrollspy = function ( option ) { + $.fn.scrollspy = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('scrollspy') @@ -141,7 +141,7 @@ /* SCROLLSPY DATA-API * ================== */ - $(function () { + $(window).on('load', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) $spy.scrollspy($spy.data()) diff --git a/vendor/assets/javascripts/bootstrap-tab.js b/vendor/assets/javascripts/bootstrap-tab.js index d87f3509..df2a7f7a 100644 --- a/vendor/assets/javascripts/bootstrap-tab.js +++ b/vendor/assets/javascripts/bootstrap-tab.js @@ -1,5 +1,5 @@ /* ======================================================== - * bootstrap-tab.js v2.0.4 + * bootstrap-tab.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#tabs * ======================================================== * Copyright 2012 Twitter, Inc. @@ -26,7 +26,7 @@ /* TAB CLASS DEFINITION * ==================== */ - var Tab = function ( element ) { + var Tab = function (element) { this.element = $(element) } diff --git a/vendor/assets/javascripts/bootstrap-tooltip.js b/vendor/assets/javascripts/bootstrap-tooltip.js index b476f1c4..4d06dfcc 100644 --- a/vendor/assets/javascripts/bootstrap-tooltip.js +++ b/vendor/assets/javascripts/bootstrap-tooltip.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-tooltip.js v2.0.4 + * bootstrap-tooltip.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * =========================================================== @@ -44,11 +44,13 @@ this.options = this.getOptions(options) this.enabled = true - if (this.options.trigger != 'manual') { - eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' + if (this.options.trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else 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.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } this.options.selector ? @@ -148,20 +150,11 @@ } } - , isHTML: function(text) { - // html string detection logic adapted from jQuery - return typeof text != 'string' - || ( text.charAt(0) === "<" - && text.charAt( text.length - 1 ) === ">" - && text.length >= 3 - ) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text) - } - , setContent: function () { var $tip = this.tip() , title = this.getTitle() - $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title) + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } @@ -185,6 +178,8 @@ $.support.transition && this.$tip.hasClass('fade') ? removeWithAnimation() : $tip.remove() + + return this } , fixTitle: function () { @@ -244,6 +239,10 @@ this[this.tip().hasClass('in') ? 'hide' : 'show']() } + , destroy: function () { + this.hide().$element.off('.' + this.type).removeData(this.type) + } + } @@ -270,6 +269,7 @@ , trigger: 'hover' , title: '' , delay: 0 + , html: true } }(window.jQuery); diff --git a/vendor/assets/javascripts/bootstrap-transition.js b/vendor/assets/javascripts/bootstrap-transition.js index 2f15dd00..f0913d86 100644 --- a/vendor/assets/javascripts/bootstrap-transition.js +++ b/vendor/assets/javascripts/bootstrap-transition.js @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.0.4 + * bootstrap-transition.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. @@ -36,8 +36,7 @@ , transEndEventNames = { 'WebkitTransition' : 'webkitTransitionEnd' , 'MozTransition' : 'transitionend' - , 'OTransition' : 'otransitionend' - , 'msTransition' : 'MSTransitionEnd' + , 'OTransition' : 'oTransitionEnd otransitionend' , 'transition' : 'transitionend' } , name diff --git a/vendor/assets/javascripts/bootstrap-typeahead.js b/vendor/assets/javascripts/bootstrap-typeahead.js index 6a2abb17..ae57221c 100644 --- a/vendor/assets/javascripts/bootstrap-typeahead.js +++ b/vendor/assets/javascripts/bootstrap-typeahead.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-typeahead.js v2.0.4 + * bootstrap-typeahead.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. @@ -77,17 +77,23 @@ } , lookup: function (event) { - var that = this - , items - , q + var items this.query = this.$element.val() - if (!this.query) { + if (!this.query || this.query.length < this.options.minLength) { return this.shown ? this.hide() : this } - items = $.grep(this.source, function (item) { + items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source + + return items ? this.process(items) : this + } + + , process: function (items) { + var that = this + + items = $.grep(items, function (item) { return that.matcher(item) }) @@ -168,8 +174,8 @@ .on('keypress', $.proxy(this.keypress, this)) .on('keyup', $.proxy(this.keyup, this)) - if ($.browser.webkit || $.browser.msie || $.browser.mozilla) { - this.$element.on('keydown', $.proxy(this.keypress, this)) + if ($.browser.webkit || $.browser.msie) { + this.$element.on('keydown', $.proxy(this.keydown, this)) } this.$menu @@ -177,6 +183,40 @@ .on('mouseenter', 'li', $.proxy(this.mouseenter, this)) } + , move: function (e) { + 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 + } + + e.stopPropagation() + } + + , keydown: function (e) { + this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) + this.move(e) + } + + , keypress: function (e) { + if (this.suppressKeyPressRepeat) return + this.move(e) + } + , keyup: function (e) { switch(e.keyCode) { case 40: // down arrow @@ -202,32 +242,6 @@ e.preventDefault() } - , keypress: function (e) { - if (!this.shown) return - - switch(e.keyCode) { - case 9: // tab - case 13: // enter - case 27: // escape - e.preventDefault() - break - - case 38: // up arrow - if (e.type != 'keydown') break - e.preventDefault() - this.prev() - break - - case 40: // down arrow - if (e.type != 'keydown') break - e.preventDefault() - this.next() - break - } - - e.stopPropagation() - } - , blur: function (e) { var that = this setTimeout(function () { that.hide() }, 150) @@ -265,12 +279,13 @@ , items: 8 , menu: '<ul class="typeahead dropdown-menu"></ul>' , item: '<li><a href="#"></a></li>' + , minLength: 1 } $.fn.typeahead.Constructor = Typeahead - /* TYPEAHEAD DATA-API + /* TYPEAHEAD DATA-API * ================== */ $(function () { @@ -282,4 +297,4 @@ }) }) -}(window.jQuery);
\ No newline at end of file +}(window.jQuery); diff --git a/vendor/assets/javascripts/bootstrap.js b/vendor/assets/javascripts/bootstrap.js index cdeec2f0..f28d8bbc 100644 --- a/vendor/assets/javascripts/bootstrap.js +++ b/vendor/assets/javascripts/bootstrap.js @@ -1,4 +1,5 @@ //= require bootstrap-transition +//= require bootstrap-affix //= require bootstrap-alert //= require bootstrap-button //= require bootstrap-carousel diff --git a/vendor/assets/stylesheets/_bootstrap-responsive.scss b/vendor/assets/stylesheets/_bootstrap-responsive.scss index 93db1cec..4c1e6bf4 100644 --- a/vendor/assets/stylesheets/_bootstrap-responsive.scss +++ b/vendor/assets/stylesheets/_bootstrap-responsive.scss @@ -1,7 +1,12 @@ -// Responsive.css.scss -// For phone and tablet devices -// ------------------------------------------------------------- - +// +// Bootstrap Responsive v2.1.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 @thomasmcdonald_, and distributed as bootstrap-sass // REPEAT VARIABLES & MIXINS // ------------------------- @@ -10,22 +15,24 @@ @import "bootstrap/variables"; // Modify this for custom colors, font-sizes, etc @import "bootstrap/mixins"; + // RESPONSIVE CLASSES // ------------------ @import "bootstrap/responsive-utilities"; + // MEDIA QUERIES // ------------------ -// Phones to portrait tablets and narrow desktops -@import "bootstrap/responsive-767px-max"; +// Large desktops +@import "bootstrap/responsive-1200px-min"; // Tablets to regular desktops @import "bootstrap/responsive-768px-979px"; -// Large desktops -@import "bootstrap/responsive-1200px-min"; +// Phones to portrait tablets and narrow desktops +@import "bootstrap/responsive-767px-max"; // RESPONSIVE NAVBAR diff --git a/vendor/assets/stylesheets/_bootstrap.scss b/vendor/assets/stylesheets/_bootstrap.scss index 17ec4400..1cef1651 100644 --- a/vendor/assets/stylesheets/_bootstrap.scss +++ b/vendor/assets/stylesheets/_bootstrap.scss @@ -1,5 +1,5 @@ // -// Bootstrap v2.0.3 +// Bootstrap v2.1.0 // // Copyright 2012 Twitter, Inc // Licensed under the Apache License v2.0 @@ -36,7 +36,7 @@ // 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 +@import "bootstrap/alerts"; // Note: alerts share common CSS with buttons and thus have styles in _buttons.scss // Components: Nav @import "bootstrap/navs"; diff --git a/vendor/assets/stylesheets/bootstrap/_accordion.scss b/vendor/assets/stylesheets/bootstrap/_accordion.scss index 91e0b966..d0043304 100644 --- a/vendor/assets/stylesheets/bootstrap/_accordion.scss +++ b/vendor/assets/stylesheets/bootstrap/_accordion.scss @@ -1,5 +1,6 @@ -// ACCORDION -// --------- +// +// Accordion +// -------------------------------------------------- // Parent container diff --git a/vendor/assets/stylesheets/bootstrap/_alerts.scss b/vendor/assets/stylesheets/bootstrap/_alerts.scss index ac8caa36..91a142ab 100644 --- a/vendor/assets/stylesheets/bootstrap/_alerts.scss +++ b/vendor/assets/stylesheets/bootstrap/_alerts.scss @@ -1,7 +1,11 @@ -// ALERT STYLES -// ------------ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- -// Base alert styles .alert { padding: 8px 35px 8px 14px; margin-bottom: $baseLineHeight; @@ -11,8 +15,8 @@ @include border-radius(4px); color: $warningText; } -.alert-heading { - color: inherit; +.alert h4 { + margin: 0; } // Adjust close link position @@ -20,18 +24,20 @@ position: relative; top: -2px; right: -21px; - line-height: 18px; + line-height: $baseLineHeight; } + // Alternate styles -// ---------------- +// ------------------------- .alert-success { background-color: $successBackground; border-color: $successBorder; color: $successText; } -.alert-danger, .alert-error { +.alert-danger, +.alert-error { background-color: $errorBackground; border-color: $errorBorder; color: $errorText; @@ -42,13 +48,16 @@ color: $infoText; } + // Block alerts -// ------------------------ +// ------------------------- + .alert-block { padding-top: 14px; padding-bottom: 14px; } -.alert-block > p, .alert-block > ul { +.alert-block > p, +.alert-block > ul { margin-bottom: 0; } .alert-block p + p { diff --git a/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss b/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss index a9c21177..a68523bc 100644 --- a/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +++ b/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss @@ -1,14 +1,14 @@ -// BREADCRUMBS -// ----------- +// +// Breadcrumbs +// -------------------------------------------------- + .breadcrumb { - padding: 7px 14px; + padding: 8px 15px; margin: 0 0 $baseLineHeight; list-style: none; - @include gradient-vertical($white, #f5f5f5); - border: 1px solid #ddd; - @include border-radius(3px); - @include box-shadow(inset 0 1px 0 $white); + background-color: #f5f5f5; + @include border-radius(4px); li { display: inline-block; @include ie7-inline-block(); @@ -16,9 +16,9 @@ } .divider { padding: 0 5px; - color: $grayLight; + color: #ccc; } - .active a { - color: $grayDark; + .active { + color: $grayLight; } -}
\ No newline at end of file +} diff --git a/vendor/assets/stylesheets/bootstrap/_button-groups.scss b/vendor/assets/stylesheets/bootstrap/_button-groups.scss index cbbb7fe7..a65da2ef 100644 --- a/vendor/assets/stylesheets/bootstrap/_button-groups.scss +++ b/vendor/assets/stylesheets/bootstrap/_button-groups.scss @@ -1,11 +1,13 @@ -// BUTTON GROUPS -// ------------- +// +// Button groups +// -------------------------------------------------- // Make the div behave like a button .btn-group { position: relative; - @include clearfix(); // clears the floated buttons + font-size: 0; // remove as part 1 of font-size inline-block hack + white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page) @include ie7-restore-left-whitespace(); } @@ -16,21 +18,44 @@ // Optional: Group multiple button groups together for a toolbar .btn-toolbar { + font-size: 0; // Hack to remove whitespace that results from using inline-block margin-top: $baseLineHeight / 2; margin-bottom: $baseLineHeight / 2; .btn-group { display: inline-block; @include ie7-inline-block(); } + .btn + .btn, + .btn-group + .btn, + .btn + .btn-group { + margin-left: 5px; + } } // 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); } +.btn-group > .btn + .btn { + margin-left: -1px; +} +.btn-group > .btn, +.btn-group > .dropdown-menu { + font-size: $baseFontSize; // redeclare as part 2 of font-size inline-block hack +} + +// Reset fonts for other sizes +.btn-group > .btn-mini { + font-size: 11px; +} +.btn-group > .btn-small { + font-size: 12px; +} +.btn-group > .btn-large { + font-size: 16px; +} + // 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; @@ -42,7 +67,8 @@ border-bottom-left-radius: 4px; } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it -.btn-group > .btn:last-child, .btn-group > .dropdown-toggle { +.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; @@ -60,7 +86,8 @@ -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; } -.btn-group > .btn.large:last-child, .btn-group > .large.dropdown-toggle { +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; @@ -70,12 +97,16 @@ } // 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 { +.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 { +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { outline: 0; } @@ -85,24 +116,28 @@ // ---------------------- // Give the line between buttons some depth -.btn-group > .dropdown-toggle { +.btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; @include box-shadow(#{inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)}); - *padding-top: 4px; - *padding-bottom: 4px; + *padding-top: 5px; + *padding-bottom: 5px; } -.btn-group > .btn-mini.dropdown-toggle { +.btn-group > .btn-mini + .dropdown-toggle { padding-left: 5px; padding-right: 5px; + *padding-top: 2px; + *padding-bottom: 2px; } -.btn-group > .btn-small.dropdown-toggle { - *padding-top: 4px; +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; *padding-bottom: 4px; } -.btn-group > .btn-large.dropdown-toggle { +.btn-group > .btn-large + .dropdown-toggle { padding-left: 12px; padding-right: 12px; + *padding-top: 7px; + *padding-bottom: 7px; } .btn-group.open { @@ -141,21 +176,16 @@ // Reposition the caret .btn .caret { - margin-top: 7px; + margin-top: 8px; margin-left: 0; } -.btn:hover .caret, .open.btn-group .caret { - @include opacity(1); -} // Carets in other button sizes -.btn-mini .caret { - margin-top: 5px; -} -.btn-small .caret { +.btn-mini .caret, +.btn-small .caret, +.btn-large .caret { margin-top: 6px; } .btn-large .caret { - margin-top: 6px; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; @@ -169,10 +199,46 @@ // Account for other colors -.btn-primary, .btn-warning, .btn-danger, .btn-info, .btn-success, .btn-inverse { +.btn-primary, +.btn-warning, +.btn-danger, +.btn-info, +.btn-success, +.btn-inverse { .caret { border-top-color: $white; border-bottom-color: $white; - @include opacity(0.75); } -}
\ No newline at end of file +} + + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + display: inline-block; // makes buttons only take up the width they need + @include ie7-inline-block(); +} +.btn-group-vertical .btn { + display: block; + float: none; + width: 100%; + @include border-radius(0); +} +.btn-group-vertical .btn + .btn { + margin-left: 0; + margin-top: -1px; +} +.btn-group-vertical .btn:first-child { + @include border-radius(4px 4px 0 0); +} +.btn-group-vertical .btn:last-child { + @include border-radius(0 0 4px 4px); +} +.btn-group-vertical .btn-large:first-child { + @include border-radius(6px 6px 0 0); +} +.btn-group-vertical .btn-large:last-child { + @include border-radius(0 0 6px 6px); +} diff --git a/vendor/assets/stylesheets/bootstrap/_buttons.scss b/vendor/assets/stylesheets/bootstrap/_buttons.scss index 6cd3ba0d..eb7c1383 100644 --- a/vendor/assets/stylesheets/bootstrap/_buttons.scss +++ b/vendor/assets/stylesheets/bootstrap/_buttons.scss @@ -1,5 +1,6 @@ -// BUTTON STYLES -// ------------- +// +// Buttons +// -------------------------------------------------- // Base styles @@ -9,62 +10,64 @@ .btn { display: inline-block; @include ie7-inline-block(); - padding: 4px 10px 4px; + padding: 4px 14px; margin-bottom: 0; // For input.btn font-size: $baseFontSize; line-height: $baseLineHeight; - *line-height: 20px; - color: $grayDark; + *line-height: $baseLineHeight; text-align: center; - text-shadow: 0 1px 1px rgba(255,255,255,.75); vertical-align: middle; cursor: pointer; - @include buttonBackground($btnBackground, $btnBackgroundHighlight); + @include buttonBackground($btnBackground, $btnBackgroundHighlight, $grayDark, 0 1px 1px rgba(255,255,255,.75)); border: 1px solid $btnBorder; *border: 0; // Remove the border to prevent IE7's black border on input:focus border-bottom-color: darken($btnBorder, 10%); @include border-radius(4px); @include ie7-restore-left-whitespace(); // Give IE7 some love @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)}); -} -// Hover state -.btn:hover { - color: $grayDark; - text-decoration: none; - background-color: darken($white, 10%); - *background-color: darken($white, 15%); // Buttons in IE7 don't get borders, so darken on hover - background-position: 0 -15px; + // Hover state + &:hover { + color: $grayDark; + text-decoration: none; + background-color: darken($white, 10%); + *background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */ + background-position: 0 -15px; + + // transition is only when going to hover, otherwise the background + // behind the gradient (there for IE<=9 fallback) gets mismatched + @include transition(background-position .1s linear); + } - // 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 + &:focus { + @include tab-focus(); + } -// Focus state for keyboard and accessibility -.btn:focus { - @include tab-focus(); -} + // Active state + &.active, + &:active { + background-color: darken($white, 10%); + background-color: darken($white, 15%) \9; + background-image: none; + outline: 0; + @include box-shadow(#{inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)}); + } -// Active state -.btn.active, .btn:active { - background-color: darken($white, 10%); - background-color: darken($white, 15%) \9; - background-image: none; - outline: 0; - @include box-shadow(#{inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)}); -} + // Disabled state + &.disabled, + &[disabled] { + cursor: default; + background-color: darken($white, 10%); + background-image: none; + @include opacity(0.65); + @include box-shadow(none); + } -// Disabled state -.btn.disabled, .btn[disabled] { - cursor: default; - background-color: darken($white, 10%); - background-image: none; - @include opacity(0.65); - @include box-shadow(none); } + // Button Sizes // -------------------------------------------------- @@ -76,38 +79,49 @@ @include border-radius(5px); } .btn-large [class^="icon-"] { - margin-top: 1px; + margin-top: 2px; } // Small .btn-small { - padding: 5px 9px; + padding: 3px 9px; font-size: $baseFontSize - 2px; line-height: $baseLineHeight - 2px; } .btn-small [class^="icon-"] { - margin-top: -1px; + margin-top: 0; } // Mini .btn-mini { padding: 2px 6px; - font-size: $baseFontSize - 2px; + font-size: $baseFontSize - 3px; line-height: $baseLineHeight - 4px; } +// Block button +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; + @include box-sizing(border-box); +} +.btn-block + .btn-block { + margin-top: 5px; +} + // Alternate buttons // -------------------------------------------------- -// Set text color -// ------------------------- -.btn-primary, .btn-primary:hover, .btn-warning, .btn-warning:hover, .btn-danger, .btn-danger:hover, .btn-success, .btn-success:hover, .btn-info, .btn-info:hover, .btn-inverse, .btn-inverse:hover { - color: $white; - text-shadow: 0 -1px 0 rgba(0,0,0,.25); -} // Provide *some* extra contrast for those who can get it -.btn-primary.active, .btn-warning.active, .btn-danger.active, .btn-success.active, .btn-info.active, .btn-inverse.active { +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { color: rgba(255,255,255,.75); } @@ -115,8 +129,8 @@ // ------------------------- .btn { // reset here as of 2.0.3 due to Recess property order - border-color: #ccc; - border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); + border-color: #c5c5c5; + border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25); } .btn-primary { @include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight); @@ -137,6 +151,7 @@ .btn-info { @include buttonBackground($btnInfoBackground, $btnInfoBackgroundHighlight); } +// Inverse appears as dark gray .btn-inverse { @include buttonBackground($btnInverseBackground, $btnInverseBackgroundHighlight); } @@ -145,7 +160,8 @@ // Cross-browser Jank // -------------------------------------------------- -button.btn, input[type="submit"].btn { +button.btn, +input[type="submit"].btn { // Firefox 3.6 only I believe &::-moz-focus-inner { @@ -154,8 +170,9 @@ button.btn, input[type="submit"].btn { } // IE7 has some default padding on button controls - *padding-top: 2px; - *padding-bottom: 2px; + *padding-top: 3px; + *padding-bottom: 3px; + &.btn-large { *padding-top: 7px; *padding-bottom: 7px; @@ -169,3 +186,26 @@ button.btn, input[type="submit"].btn { *padding-bottom: 1px; } } + + +// Link buttons +// -------------------------------------------------- + +// Make a button look and behave like a link +.btn-link, +.btn-link:active { + background-color: transparent; + background-image: none; + @include box-shadow(none); +} +.btn-link { + border-color: transparent; + cursor: pointer; + color: $linkColor; + @include border-radius(0); +} +.btn-link:hover { + color: $linkColorHover; + text-decoration: underline; + background-color: transparent; +} diff --git a/vendor/assets/stylesheets/bootstrap/_carousel.scss b/vendor/assets/stylesheets/bootstrap/_carousel.scss index 4c2d53c1..c9c1a9c2 100644 --- a/vendor/assets/stylesheets/bootstrap/_carousel.scss +++ b/vendor/assets/stylesheets/bootstrap/_carousel.scss @@ -1,5 +1,7 @@ -// CAROUSEL -// -------- +// +// Carousel +// -------------------------------------------------- + .carousel { position: relative; @@ -27,13 +29,16 @@ line-height: 1; } - .active, .next, .prev { display: block; } + .active, + .next, + .prev { display: block; } .active { left: 0; } - .next, .prev { + .next, + .prev { position: absolute; top: 0; width: 100%; @@ -45,7 +50,8 @@ .prev { left: -100%; } - .next.left, .prev.right { + .next.left, + .prev.right { left: 0; } @@ -99,6 +105,7 @@ } } + // Caption for text below images // ----------------------------- @@ -107,10 +114,18 @@ left: 0; right: 0; bottom: 0; - padding: 10px 15px 5px; + padding: 15px; background: $grayDark; background: rgba(0,0,0,.75); } -.carousel-caption h4, .carousel-caption p { +.carousel-caption h4, +.carousel-caption p { color: $white; + line-height: $baseLineHeight; +} +.carousel-caption h4 { + margin: 0 0 5px; } +.carousel-caption p { + margin-bottom: 0; +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_close.scss b/vendor/assets/stylesheets/bootstrap/_close.scss index 25bfe001..076e5737 100644 --- a/vendor/assets/stylesheets/bootstrap/_close.scss +++ b/vendor/assets/stylesheets/bootstrap/_close.scss @@ -1,5 +1,7 @@ -// CLOSE ICONS -// ----------- +// +// Close icons +// -------------------------------------------------- + .close { float: right; @@ -23,7 +25,7 @@ button.close { padding: 0; cursor: pointer; - background-color: transparent; + background: transparent; border: 0; -webkit-appearance: none; }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_code.scss b/vendor/assets/stylesheets/bootstrap/_code.scss index e2d4b965..2e39a8e4 100644 --- a/vendor/assets/stylesheets/bootstrap/_code.scss +++ b/vendor/assets/stylesheets/bootstrap/_code.scss @@ -1,12 +1,14 @@ -// Code.css.scss -// Code typography styles for the <code> and <pre> elements -// -------------------------------------------------------- +// +// Code (inline and blocK) +// -------------------------------------------------- + // Inline and block code styles -code, pre { +code, +pre { padding: 0 3px 2px; @include font-family-monospace(); - font-size: $baseFontSize - 1; + font-size: $baseFontSize - 2; color: $grayDark; @include border-radius(3px); } @@ -24,7 +26,7 @@ pre { display: block; padding: ($baseLineHeight - 1) / 2; margin: 0 0 $baseLineHeight / 2; - font-size: $baseFontSize * .925; // 13px to 12px + font-size: $baseFontSize - 1; // 14px to 13px line-height: $baseLineHeight; word-break: break-all; word-wrap: break-word; diff --git a/vendor/assets/stylesheets/bootstrap/_component-animations.scss b/vendor/assets/stylesheets/bootstrap/_component-animations.scss index ac5588e1..66192431 100644 --- a/vendor/assets/stylesheets/bootstrap/_component-animations.scss +++ b/vendor/assets/stylesheets/bootstrap/_component-animations.scss @@ -1,5 +1,7 @@ -// COMPONENT ANIMATIONS -// -------------------- +// +// Component animations +// -------------------------------------------------- + .fade { opacity: 0; @@ -10,9 +12,10 @@ } .collapse { - position:relative; + position: relative; height: 0; - overflow:hidden; + overflow: hidden; + overflow: visible \9; @include transition(height .35s ease); &.in { height: auto; diff --git a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss index a63d5a1c..600db03c 100644 --- a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +++ b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss @@ -1,15 +1,19 @@ -// DROPDOWN MENUS -// -------------- +// +// Dropdown menus +// -------------------------------------------------- + // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns -.dropup, .dropdown { +.dropup, +.dropdown { position: relative; } .dropdown-toggle { // The caret makes the toggle a bit too tall in IE7 *margin-bottom: -3px; } -.dropdown-toggle:active, .open .dropdown-toggle { +.dropdown-toggle:active, +.open .dropdown-toggle { outline: 0; } @@ -24,7 +28,6 @@ border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""; - @include opacity(0.3); } // Place the caret @@ -32,9 +35,6 @@ margin-top: 8px; margin-left: 2px; } -.dropdown:hover .caret, .open .caret { - @include opacity(1); -} // The dropdown menu (ul) // ---------------------- @@ -46,15 +46,15 @@ display: none; // none by default, but block on "open" of the menu float: left; min-width: 160px; - padding: 4px 0; - margin: 1px 0 0; // override default ul + padding: 5px 0; + margin: 2px 0 0; // override default ul list-style: none; background-color: $dropdownBackground; - border: 1px solid #ccc; - border: 1px solid rgba(0,0,0,.2); + border: 1px solid #ccc; // Fallback for IE7-8 + border: 1px solid $dropdownBorder; *border-right-width: 2px; *border-bottom-width: 2px; - @include border-radius(5px); + @include border-radius(6px); @include box-shadow(0 5px 10px rgba(0,0,0,.2)); -webkit-background-clip: padding-box; -moz-background-clip: padding; @@ -74,7 +74,7 @@ // Links within the dropdown menu a { display: block; - padding: 3px 15px; + padding: 3px 20px; clear: both; font-weight: normal; line-height: $baseLineHeight; @@ -85,10 +85,38 @@ // Hover state // ----------- -.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover { - color: $dropdownLinkColorHover; +.dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { text-decoration: none; + color: $dropdownLinkColorHover; background-color: $dropdownLinkBackgroundHover; + @include gradient-vertical($dropdownLinkBackgroundHover, darken($dropdownLinkBackgroundHover, 5%)); +} + +// Active state +// ------------ +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: $dropdownLinkColorHover; + text-decoration: none; + outline: 0; + background-color: $dropdownLinkBackgroundActive; + @include gradient-vertical($dropdownLinkBackgroundActive, darken($dropdownLinkBackgroundActive, 5%)); +} + +// Disabled state +// -------------- +// Gray out text and ensure the hover state remains gray +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover { + color: $grayLight; +} +// Nuke hover effects +.dropdown-menu .disabled > a:hover { + text-decoration: none; + background-color: transparent; + cursor: default; } // Open state for the dropdown @@ -114,7 +142,8 @@ // ------------------------------------------------------ // Just add .dropup after the standard .dropdown class and you're set, bro. // TODO: abstract this so that the navbar fixed styles are not placed here? -.dropup, .navbar-fixed-bottom .dropdown { +.dropup, +.navbar-fixed-bottom .dropdown { // Reverse the caret .caret { border-top: 0; @@ -129,6 +158,50 @@ } } +// Sub menus +// --------------------------- +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} +.dropdown-submenu:hover .dropdown-menu { + display: block; +} + +.dropdown-submenu > a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: darken($dropdownBackground, 20%); + margin-top: 5px; + margin-right: -10px; +} +.dropdown-submenu:hover > a:after { + border-left-color: $dropdownLinkColorHover; +} + + +// Tweak nav headers +// ----------------- +// Increase padding from 15px to 20px on sides +.dropdown .dropdown-menu .nav-header { + padding-left: 20px; + padding-right: 20px; +} + // Typeahead // --------- .typeahead { diff --git a/vendor/assets/stylesheets/bootstrap/_forms.scss b/vendor/assets/stylesheets/bootstrap/_forms.scss index dc155104..ad2b771b 100644 --- a/vendor/assets/stylesheets/bootstrap/_forms.scss +++ b/vendor/assets/stylesheets/bootstrap/_forms.scss @@ -1,6 +1,6 @@ -// Forms.less -// Base styles for various input types, form layouts, and states -// ------------------------------------------------------------- +// +// Forms +// -------------------------------------------------- // GENERAL STYLES @@ -22,7 +22,7 @@ legend { display: block; width: 100%; padding: 0; - margin-bottom: $baseLineHeight * 1.5; + margin-bottom: $baseLineHeight; font-size: $baseFontSize * 1.5; line-height: $baseLineHeight * 2; color: $grayDark; @@ -37,10 +37,17 @@ legend { } // Set font for forms -label, input, button, select, textarea { - @include font-shorthand($baseFontSize, normal, $baseLineHeight); // Set size, weight, line-height here +label, +input, +button, +select, +textarea { + @include font-shorthand($baseFontSize,normal,$baseLineHeight); // Set size, weight, line-height here } -input, button, select, textarea { +input, +button, +select, +textarea { font-family: $baseFontFamily; // And only set font-family here for those that need it (note the missing label element) } @@ -54,21 +61,37 @@ label { // ------------------------- // Shared size and type resets -select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], -input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], -input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input { +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { display: inline-block; height: $baseLineHeight; - padding: 4px; + padding: 4px 6px; margin-bottom: 9px; font-size: $baseFontSize; line-height: $baseLineHeight; color: $gray; + @include border-radius($inputBorderRadius); } // Reset appearance properties for textual inputs and textarea // Declare width for legacy (can't be on input[type=*] selectors or it's too specific) -input, textarea { +input, +textarea { width: 210px; } // Reset height since textareas have rows @@ -76,12 +99,24 @@ textarea { height: auto; } // Everything else -textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], -input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], -input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input { +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { background-color: $inputBackground; border: 1px solid $inputBorder; - @include border-radius($inputBorderRadius); @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); @include transition(#{border linear .2s, box-shadow linear .2s}); @@ -95,76 +130,124 @@ input[type="url"], input[type="search"], input[type="tel"], input[type="color"], } // Position radios and checkboxes better -input[type="radio"], input[type="checkbox"] { - margin: 3px 0; +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; *margin-top: 0; /* IE7 */ + margin-top: 1px \9; /* IE8-9 */ line-height: normal; cursor: pointer; } -// Reset width of input buttons, radios, checkboxes -input[type="submit"], input[type="reset"], input[type="button"], input[type="radio"], input[type="checkbox"] { +// Reset width of input images, buttons, radios, checkboxes +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { width: auto; // Override of generic input selector } -// Make uneditable textareas behave like a textarea -.uneditable-textarea { - 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 */ +select, +input[type="file"] { + height: 30px; /* 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; + line-height: 30px; } // Make select elements obey height by applying a border select { width: 220px; // default input width + 10px of padding that doesn't get applied border: 1px solid #bbb; + background-color: $inputBackground; // Chrome on Linux and Mobile Safari need background-color } // Make multiple select elements height not fixed -select[multiple], select[size] { +select[multiple], +select[size] { height: auto; } // Focus for select, file, radio, and checkbox -select:focus, input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { @include tab-focus(); } +// Uneditable inputs +// ------------------------- + +// Make uneditable inputs look inactive +.uneditable-input, +.uneditable-textarea { + color: $grayLight; + background-color: darken($inputBackground, 1%); + border-color: $inputBorder; + @include box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); + cursor: not-allowed; +} + +// For text that needs to appear as an input but should not be an input +.uneditable-input { + overflow: hidden; // prevent text from wrapping, but still cut it off like an input does + white-space: nowrap; +} + +// Make uneditable textareas behave like a textarea +.uneditable-textarea { + width: auto; + height: auto; +} + + +// Placeholder +// ------------------------- + +// Placeholder text gets special styles; can't be bundled together though for some reason +input, +textarea { + @include placeholder(); +} + // CHECKBOXES & RADIOS // ------------------- // Indent the labels to position radios/checkboxes as hanging -.radio, .checkbox { +.radio, +.checkbox { min-height: 18px; // clear the floating input if there is no label text padding-left: 18px; } -.radio input[type="radio"], .checkbox input[type="checkbox"] { +.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 { +.controls > .radio:first-child, +.controls > .checkbox:first-child { padding-top: 5px; // has to be padding because margin collaspes } // Radios and checkboxes on same line // TODO v3: Convert .inline to .control-inline -.radio.inline, .checkbox.inline { +.radio.inline, +.checkbox.inline { display: inline-block; padding-top: 5px; margin-bottom: 0; vertical-align: middle; } -.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline { +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { margin-left: 10px; // space out consecutive inline controls } @@ -182,15 +265,29 @@ select:focus, input[type="file"]:focus, input[type="radio"]:focus, input[type="c .input-xxlarge { width: 530px; } // Grid style input sizes -input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input[class*="span"], +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], // Redeclare since the fluid row class is more specific -.row-fluid input[class*="span"], .row-fluid select[class*="span"], .row-fluid textarea[class*="span"], .row-fluid .uneditable-input[class*="span"] { +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { float: none; margin-left: 0; } // Ensure input-prepend/append never wraps -.input-append input[class*="span"], .input-append .uneditable-input[class*="span"], .input-prepend input[class*="span"], -.input-prepend .uneditable-input[class*="span"], .row-fluid .input-prepend [class*="span"], .row-fluid .input-append [class*="span"] { +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { display: inline-block; } @@ -199,7 +296,17 @@ input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditabl // GRID SIZING FOR INPUTS // ---------------------- -@include gridInput($gridColumnWidth, $gridGutterWidth); +// Grid sizes +@include grid-input($gridColumnWidth, $gridGutterWidth); + +// Control row for multiple inputs per line +.controls-row { + @include clearfix(); // Clear the float from controls +} +.controls-row [class*="span"] { + float: left; // Float to collapse white-space for proper grid alignment +} + @@ -207,13 +314,20 @@ input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditabl // -------------- // Disabled and read-only inputs -input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] { +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { cursor: not-allowed; background-color: $inputDisabledBackground; - border-color: #ddd; } // Explicitly reset the colors here -input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"][readonly], input[type="checkbox"][readonly] { +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { background-color: transparent; } @@ -238,7 +352,9 @@ input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="rad // HTML5 invalid states // Shares styles with the .control-group.error above -input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid { +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { color: #b94a48; border-color: #ee5f5b; &:focus { @@ -261,27 +377,14 @@ input:focus:required:invalid, textarea:focus:required:invalid, select:focus:requ @include clearfix(); // Adding clearfix to allow for .pull-right button containers } -// For text that needs to appear as an input but should not be an input -.uneditable-input { - overflow: hidden; // prevent text from wrapping, but still cut it off like an input does - white-space: nowrap; - cursor: not-allowed; - background-color: $inputBackground; - border-color: #eee; - @include box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); -} - -// Placeholder text gets special styles; can't be bundled together though for some reason -// (sass-edit) - need special mixin -@include rootPlaceholder(); - // HELP TEXT // --------- -.help-block, .help-inline { - color: $gray; // lighten the text some for contrast +.help-block, +.help-inline { + color: lighten($textColor, 15%); // lighten the text some for contrast } .help-block { @@ -302,38 +405,44 @@ input:focus:required:invalid, textarea:focus:required:invalid, select:focus:requ // ------------ // Allow us to put symbols and text within the input field for a cleaner look -.input-prepend, .input-append { +.input-append, +.input-prepend { margin-bottom: 5px; - input, select, .uneditable-input { + font-size: 0; + white-space: nowrap; // Prevent span and input from separating + + input, + select, + .uneditable-input { position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms *margin-left: 0; - vertical-align: middle; + font-size: $baseFontSize; + vertical-align: top; @include border-radius(0 $inputBorderRadius $inputBorderRadius 0); // Make input on top when focused so blue border and shadow always show &:focus { z-index: 2; } } - .uneditable-input { - border-left-color: #ccc; - } .add-on { display: inline-block; width: auto; height: $baseLineHeight; min-width: 16px; padding: 4px 5px; + font-size: $baseFontSize; font-weight: normal; line-height: $baseLineHeight; text-align: center; text-shadow: 0 1px 0 $white; - vertical-align: middle; background-color: $grayLighter; border: 1px solid #ccc; } - .add-on, .btn { + .add-on, + .btn { margin-left: -1px; + vertical-align: top; @include border-radius(0); } .active { @@ -342,35 +451,40 @@ input:focus:required:invalid, textarea:focus:required:invalid, select:focus:requ } } .input-prepend { - .add-on, .btn { + .add-on, + .btn { margin-right: -1px; } - .add-on:first-child, .btn:first-child { + .add-on:first-child, + .btn:first-child { @include border-radius($inputBorderRadius 0 0 $inputBorderRadius); } } .input-append { - input, select, .uneditable-input { - @include border-radius($inputBorderRadius 0 0 $inputBorderRadius); - } + input, + select, .uneditable-input { - border-right-color: #ccc; - border-left-color: #eee; + @include border-radius($inputBorderRadius 0 0 $inputBorderRadius); } - .add-on:last-child, .btn:last-child { + .add-on:last-child, + .btn:last-child { @include border-radius(0 $inputBorderRadius $inputBorderRadius 0); } } // Remove all border-radius for inputs with both prepend and append .input-prepend.input-append { - input, select, .uneditable-input { + input, + select, + .uneditable-input { @include border-radius(0); } - .add-on:first-child, .btn:first-child { + .add-on:first-child, + .btn:first-child { margin-right: -1px; @include border-radius($inputBorderRadius 0 0 $inputBorderRadius); } - .add-on:last-child, .btn:last-child { + .add-on:last-child, + .btn:last-child { margin-left: -1px; @include border-radius(0 $inputBorderRadius $inputBorderRadius 0); } @@ -381,15 +495,34 @@ input:focus:required:invalid, textarea:focus:required:invalid, select:focus:requ // SEARCH FORM // ----------- -input.search-query { // input. fix the overwriting of the search-query and allow rounded corner for the search field +input.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ - margin-bottom: 0; // remove the default margin on all inputs - @include border-radius(14px); + margin-bottom: 0; // Remove the default margin on all inputs + @include border-radius(15px); } +/* Allow for input prepend/append in search forms */ +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + @include border-radius(0); // Override due to specificity +} +.form-search .input-append .search-query { + @include border-radius(14px 0 0 14px) +} +.form-search .input-append .btn { + @include border-radius(0 14px 14px 0) +} +.form-search .input-prepend .search-query { + @include border-radius(0 14px 14px 0) +} +.form-search .input-prepend .btn { + @include border-radius(14px 0 0 14px) +} + + // HORIZONTAL & VERTICAL FORMS @@ -398,33 +531,53 @@ input.search-query { // input. fix the overwriting of the search-query and allow // Common properties // ----------------- -.form-search, .form-inline, .form-horizontal { - input, textarea, select, .help-inline, .uneditable-input, .input-prepend, .input-append { +.form-search, +.form-inline, +.form-horizontal { + input, + textarea, + select, + .help-inline, + .uneditable-input, + .input-prepend, + .input-append { display: inline-block; @include ie7-inline-block(); margin-bottom: 0; + vertical-align: middle; } // Re-hide hidden elements due to specifity .hide { display: none; } } -.form-search label, .form-inline label { +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { display: inline-block; } // Remove margin for input-prepend/-append -.form-search .input-append, .form-inline .input-append, .form-search .input-prepend, .form-inline .input-prepend { +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { margin-bottom: 0; } // Inline checkbox/radio labels (remove padding on left) -.form-search .radio, .form-search .checkbox, .form-inline .radio, .form-inline .checkbox { +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { padding-left: 0; margin-bottom: 0; vertical-align: middle; } // Remove float and margin, set to inline-block -.form-search .radio input[type="radio"], .form-search .checkbox input[type="checkbox"], -.form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { float: left; margin-right: 3px; margin-left: 0; diff --git a/vendor/assets/stylesheets/bootstrap/_grid.scss b/vendor/assets/stylesheets/bootstrap/_grid.scss index 49cd48fc..e324f00f 100644 --- a/vendor/assets/stylesheets/bootstrap/_grid.scss +++ b/vendor/assets/stylesheets/bootstrap/_grid.scss @@ -1,5 +1,20 @@ +// +// Grid system +// -------------------------------------------------- + // Fixed (940px) -@include gridCore($gridColumnWidth, $gridGutterWidth); +@include grid-core($gridColumnWidth, $gridGutterWidth); // Fluid (940px) -@include gridFluid($fluidGridColumnWidth, $fluidGridGutterWidth);
\ No newline at end of file +@include grid-fluid($fluidGridColumnWidth, $fluidGridGutterWidth); + +// Reset utility classes due to specificity +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_hero-unit.scss b/vendor/assets/stylesheets/bootstrap/_hero-unit.scss index d2690a30..26707d35 100644 --- a/vendor/assets/stylesheets/bootstrap/_hero-unit.scss +++ b/vendor/assets/stylesheets/bootstrap/_hero-unit.scss @@ -1,5 +1,7 @@ -// HERO UNIT -// --------- +// +// Hero unit +// -------------------------------------------------- + .hero-unit { padding: 60px; diff --git a/vendor/assets/stylesheets/bootstrap/_labels-badges.scss b/vendor/assets/stylesheets/bootstrap/_labels-badges.scss index 981222a0..e49a0ca6 100644 --- a/vendor/assets/stylesheets/bootstrap/_labels-badges.scss +++ b/vendor/assets/stylesheets/bootstrap/_labels-badges.scss @@ -1,8 +1,11 @@ -// LABELS & BADGES -// --------------- +// +// Labels and badges +// -------------------------------------------------- + // Base classes -.label, .badge { +.label, +.badge { font-size: $baseFontSize * .846; font-weight: bold; line-height: 14px; // ensure proper line-height if floated @@ -24,7 +27,8 @@ // Hover state, but only for links a { - &.label:hover, &.badge:hover { + &.label:hover, + &.badge:hover { color: $white; text-decoration: none; cursor: pointer; @@ -33,6 +37,7 @@ a { // Colors // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) + // Important (red) .label-important, .badge-important { background-color: $errorText; } .label-important[href], .badge-important[href] { background-color: darken($errorText, 10%); } @@ -47,4 +52,19 @@ a { .label-info[href], .badge-info[href] { background-color: darken($infoText, 10%); } // Inverse (black) .label-inverse, .badge-inverse { background-color: $grayDark; } -.label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); }
\ No newline at end of file +.label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); } + +// Quick fix for labels/badges in buttons +.btn { + .label, + .badge { + position: relative; + top: -1px; + } +} +.btn-mini { + .label, + .badge { + top: 0; + } +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_layouts.scss b/vendor/assets/stylesheets/bootstrap/_layouts.scss index b00312dc..27f612cd 100644 --- a/vendor/assets/stylesheets/bootstrap/_layouts.scss +++ b/vendor/assets/stylesheets/bootstrap/_layouts.scss @@ -1,7 +1,6 @@ // // Layouts -// Fixed-width and fluid (with sidebar) layouts -// -------------------------------------------- +// -------------------------------------------------- // Container (centered, fixed-width layouts) diff --git a/vendor/assets/stylesheets/bootstrap/_mixins.scss b/vendor/assets/stylesheets/bootstrap/_mixins.scss index 245ba0d5..7d9130fe 100644 --- a/vendor/assets/stylesheets/bootstrap/_mixins.scss +++ b/vendor/assets/stylesheets/bootstrap/_mixins.scss @@ -1,6 +1,6 @@ -// Mixins.less -// Snippets of reusable CSS to develop faster and keep code readable -// ----------------------------------------------------------------- +// +// Mixins +// -------------------------------------------------- // UTILITY MIXINS @@ -15,6 +15,9 @@ &:after { display: table; content: ""; + // Fixes Opera/contenteditable bug: + // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952 + line-height: 0; } &:after { clear: both; @@ -63,10 +66,6 @@ @mixin ie7-restore-right-whitespace() { *margin-right: .3em; - - &:last-child { - *margin-left: 0; - } } // Sizing shortcuts @@ -93,21 +92,9 @@ } } -// Sass doesn't support using & at base level, so we need a special root placeholder mixin. -@mixin rootPlaceholder($color: $placeholderText) { - :-moz-placeholder { - color: $color; - } - :-ms-input-placeholder { - color: $color; - } - ::-webkit-input-placeholder { - color: $color; - } -} - // Text overflow -// ------------------------ +// ------------------------- +// Requires inline-block or block for proper styling @mixin text-overflow() { overflow: hidden; text-overflow: ellipsis; @@ -156,35 +143,47 @@ } - // FORMS // -------------------------------------------------- +// Block level inputs @mixin input-block-level() { display: block; width: 100%; - min-height: 28px; // Make inputs at least the height of their button counterpart + min-height: 30px; // Make inputs at least the height of their button counterpart @include box-sizing(border-box); // Makes inputs behave like true block-level elements } + // Mixin for form field states @mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) { // Set the text color - > label, .help-block, .help-inline { + > label, + .help-block, + .help-inline { color: $textColor; } // Style inputs accordingly - .checkbox, .radio, input, select, textarea { + .checkbox, + .radio, + input, + select, + textarea { color: $textColor; border-color: $borderColor; + @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work &:focus { border-color: darken($borderColor, 10%); - @include box-shadow(0 0 6px lighten($borderColor, 20%)); + // Write out in full since the lighten() function isn't easily escaped + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%); } } // Give a small background color for input-prepend/-append - .input-prepend .add-on, .input-append .add-on { + .input-prepend .add-on, + .input-append .add-on { color: $textColor; background-color: $backgroundColor; border-color: $textColor; @@ -192,6 +191,7 @@ } + // CSS3 PROPERTIES // -------------------------------------------------- @@ -202,6 +202,46 @@ border-radius: $radius; } +// Single Corner Border Radius +@mixin border-top-left-radius($radius) { + -webkit-border-top-left-radius: $radius; + -moz-border-radius-topleft: $radius; + border-top-left-radius: $radius; +} +@mixin border-top-right-radius($radius) { + -webkit-border-top-right-radius: $radius; + -moz-border-radius-topright: $radius; + border-top-right-radius: $radius; +} +@mixin border-bottom-right-radius($radius) { + -webkit-border-bottom-right-radius: $radius; + -moz-border-radius-bottomright: $radius; + border-bottom-right-radius: $radius; +} +@mixin border-bottom-left-radius($radius) { + -webkit-border-bottom-left-radius: $radius; + -moz-border-radius-bottomleft: $radius; + border-bottom-left-radius: $radius; +} + +// Single Side Border Radius +@mixin border-top-radius($radius) { + @include border-top-right-radius($radius); + @include border-top-left-radius($radius); +} +@mixin border-right-radius($radius) { + @include border-top-right-radius($radius); + @include border-bottom-right-radius($radius); +} +@mixin border-bottom-radius($radius) { + @include border-bottom-right-radius($radius); + @include border-bottom-left-radius($radius); +} +@mixin border-left-radius($radius) { + @include border-top-left-radius($radius); + @include border-bottom-left-radius($radius); +} + // Drop shadows @mixin box-shadow($shadow) { -webkit-box-shadow: $shadow; @@ -213,7 +253,6 @@ @mixin transition($transition) { -webkit-transition: $transition; -moz-transition: $transition; - -ms-transition: $transition; -o-transition: $transition; transition: $transition; } @@ -240,7 +279,6 @@ -o-transform: translate($x, $y); transform: translate($x, $y); } - @mixin skew($x, $y) { -webkit-transform: skew($x, $y); -moz-transform: skew($x, $y); @@ -248,13 +286,11 @@ -o-transform: skew($x, $y); transform: skew($x, $y); } - @mixin translate3d($x, $y, $z) { - -webkit-transform: translate($x, $y, $z); - -moz-transform: translate($x, $y, $z); - -ms-transform: translate($x, $y, $z); - -o-transform: translate($x, $y, $z); - transform: translate($x, $y, $z); + -webkit-transform: translate3d($x, $y, $z); + -moz-transform: translate3d($x, $y, $z); + -o-transform: translate3d($x, $y, $z); + transform: translate3d($x, $y, $z); } // Backface visibility @@ -262,10 +298,9 @@ // Default value is `visible`, but can be changed to `hidden // See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples @mixin backface-visibility($visibility){ - -webkit-backface-visibility: $visibility; - -moz-backface-visibility: $visibility; - -ms-backface-visibility: $visibility; - backface-visibility: $visibility; + -webkit-backface-visibility: $visibility; + -moz-backface-visibility: $visibility; + backface-visibility: $visibility; } // Background clipping @@ -289,7 +324,6 @@ @mixin box-sizing($boxmodel) { -webkit-box-sizing: $boxmodel; -moz-box-sizing: $boxmodel; - -ms-box-sizing: $boxmodel; box-sizing: $boxmodel; } @@ -319,7 +353,6 @@ column-gap: $columnGap; } - // Optional hyphenation @mixin hyphens($mode: auto) { word-wrap: break-word; @@ -331,7 +364,7 @@ } // Opacity -@mixin opacity($opacity: 1) { +@mixin opacity($opacity) { opacity: $opacity; filter: alpha(opacity=#{$opacity * 100}); } @@ -351,7 +384,9 @@ } // Gradient Bar Colors for buttons and alerts -@mixin gradientBar($primaryColor, $secondaryColor) { +@mixin gradientBar($primaryColor, $secondaryColor, $textColor: #fff, $textShadow: 0 -1px 0 rgba(0,0,0,.25)) { + color: $textColor; + text-shadow: $textShadow; @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%); @@ -361,22 +396,20 @@ @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-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10 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-image: linear-gradient(to bottom, $startColor, $endColor); // Standard, IE10 background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down } @@ -384,17 +417,15 @@ 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 + background-image: linear-gradient($deg, $startColor, $endColor); // Standard, IE10 } @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: -moz-linear-gradient(top, $startColor, $midColor $colorStop*100%, $endColor); background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor); background-image: linear-gradient($startColor, $midColor $colorStop, $endColor); background-repeat: no-repeat; @@ -405,30 +436,30 @@ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor)); background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor); background-image: -moz-radial-gradient(circle, $innerColor, $outerColor); - background-image: -ms-radial-gradient(circle, $innerColor, $outerColor); background-image: -o-radial-gradient(circle, $innerColor, $outerColor); background-repeat: no-repeat; } -@mixin gradient-striped($color, $angle: -45deg) { +@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)); + background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); } + // Reset filters for IE @mixin reset-filter() { filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } + // COMPONENT MIXINS // -------------------------------------------------- // Horizontal dividers -// ------------------- +// ------------------------- // Dividers (basically an hr) within dropdowns and nav lists @mixin nav-divider($top: #e5e5e5, $bottom: $white) { // IE7 needs a set width since we gave a height. Restricting just @@ -446,20 +477,22 @@ // Button backgrounds // ------------------ -@mixin buttonBackground($startColor, $endColor) { +@mixin buttonBackground($startColor, $endColor, $textColor: #fff, $textShadow: 0 -1px 0 rgba(0,0,0,.25)) { // gradientBar will set the background to a pleasing blend of these, to support IE<=9 - @include gradientBar($startColor, $endColor); - *background-color: $endColor; // Darken IE7 buttons by default so they stand out more given they won't have borders + @include gradientBar($startColor, $endColor, $textColor, $textShadow); + *background-color: $endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ @include reset-filter(); // in these cases the gradient won't cover the background, so we override &:hover, &:active, &.active, &.disabled, &[disabled] { + color: $textColor; background-color: $endColor; *background-color: darken($endColor, 5%); } // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves - &:active, &.active { + &:active, + &.active { background-color: darken($endColor, 10%) \9; } } @@ -472,41 +505,7 @@ margin-top: ($navbarHeight - $elementHeight) / 2; } -// Popover arrows -// ------------------------- -// For tipsies and popovers -@mixin popoverArrowTop($arrowWidth: 5px, $color: $black) { - bottom: 0; - left: 50%; - margin-left: -$arrowWidth; - border-left: $arrowWidth solid transparent; - border-right: $arrowWidth solid transparent; - border-top: $arrowWidth solid $color; -} -@mixin popoverArrowLeft($arrowWidth: 5px, $color: $black) { - top: 50%; - right: 0; - margin-top: -$arrowWidth; - border-top: $arrowWidth solid transparent; - border-bottom: $arrowWidth solid transparent; - border-left: $arrowWidth solid $color; -} -@mixin popoverArrowBottom($arrowWidth: 5px, $color: $black) { - top: 0; - left: 50%; - margin-left: -$arrowWidth; - border-left: $arrowWidth solid transparent; - border-right: $arrowWidth solid transparent; - border-bottom: $arrowWidth solid $color; -} -@mixin popoverArrowRight($arrowWidth: 5px, $color: $black) { - top: 50%; - left: 0; - margin-top: -$arrowWidth; - border-top: $arrowWidth solid transparent; - border-bottom: $arrowWidth solid transparent; - border-right: $arrowWidth solid $color; -} + // Grid System // ----------- @@ -538,41 +537,44 @@ } // The Grid -@mixin gridCore($columnWidth, $gutterWidth) { +@mixin grid-core($gridColumnWidth, $gridGutterWidth) { .row { - margin-left: $gutterWidth * -1; + margin-left: $gridGutterWidth * -1; @include clearfix(); } [class*="span"] { float: left; - margin-left: $gutterWidth; + margin-left: $gridGutterWidth; } // Set the container width, and override it for fixed navbars in media queries - .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { @include gridCoreSpan($gridColumns, $columnWidth, $gutterWidth); } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth); } - @include gridCoreSpanX($gridColumns, $columnWidth, $gutterWidth); - @include gridCoreOffsetX($gridColumns, $columnWidth, $gutterWidth); + @include grid-core-spanX($gridColumns, $gridColumnWidth, $gridGutterWidth); + @include grid-core-offsetX($gridColumns, $gridColumnWidth, $gridGutterWidth); } -@mixin gridCoreSpanX($cols, $columnWidth, $gutterWidth) { +@mixin grid-core-spanX($cols, $columnWidth, $gutterWidth) { @for $i from 1 through $cols { - .span#{$i} { @include gridCoreSpan($i, $columnWidth, $gutterWidth) }; + .span#{$i} { @include grid-core-span($i, $columnWidth, $gutterWidth) }; } } -@mixin gridCoreSpan($columns, $columnWidth, $gutterWidth) { +@mixin grid-core-span($columns, $columnWidth, $gutterWidth) { width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)); } -@mixin gridCoreOffsetX($cols, $columnWidth, $gutterWidth) { +@mixin grid-core-offsetX($cols, $columnWidth, $gutterWidth) { @for $i from 1 through $cols { - .offset#{$i} { @include gridCoreOffset($i, $columnWidth, $gutterWidth); }; + .offset#{$i} { @include grid-core-offset($i, $columnWidth, $gutterWidth) }; } } -@mixin gridCoreOffset($columns, $columnWidth, $gutterWidth) { +@mixin grid-core-offset($columns, $columnWidth, $gutterWidth) { margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns + 1)); } -@mixin gridFluid($columnWidth, $gutterWidth) { +@mixin grid-fluid ($columnWidth, $gutterWidth) { .row-fluid { width: 100%; @include clearfix(); @@ -580,42 +582,53 @@ @include input-block-level(); float: left; margin-left: $gutterWidth; - *margin-left: $gutterWidth - (.5 / ($gridRowWidth/1px) * 100 * 1%); + *margin-left: $gutterWidth - (.5px / $gridRowWidth * 100 * 1%); } [class*="span"]:first-child { margin-left: 0; } - } - // generate .row-fluid > .spanX - @for $i from 1 through $gridColumns { - .row-fluid > .span#{$i} { @include gridFluidSpan($i, $columnWidth, $gutterWidth) }; + + // generate .spanX and .offsetX + @for $i from 1 through $gridColumns { + .span#{$i} { @include grid-fluid-span($i, $columnWidth, $gutterWidth); } + .offset#{$i} { @include grid-fluid-offset($i, $columnWidth, $gutterWidth); } + .offset#{$i}:first-child { @include grid-fluid-offsetFirstChild($i, $columnWidth, $gutterWidth); } + } } } -@mixin gridFluidSpan($columns, $columnWidth, $gutterWidth) { + +@mixin grid-fluid-span($columns, $columnWidth, $gutterWidth){ width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)); - *width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5 / ($gridRowWidth/1px) * 100 * 1%); + *width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5px / $gridRowWidth * 100 * 1%); } -@mixin gridInput($columnWidth, $gutterWidth) { - input, textarea, .uneditable-input { +@mixin grid-fluid-offset($columns, $columnWidth, $gutterWidth) { + margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) + ($gutterWidth*2); + *margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5px / $gridRowWidth * 100 * 1%) + ($gutterWidth * 2) - (.5px / $gridRowWidth * 100 * 1%); +} + +@mixin grid-fluid-offsetFirstChild($columns, $columnWidth, $gutterWidth) { + margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) + ($gutterWidth); + *margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5px / $gridRowWidth * 100 * 1%) + $gutterWidth - (.5px / $gridRowWidth * 100 * 1%); +} + +@mixin grid-input($columnWidth, $gutterWidth) { + input, + textarea, + .uneditable-input { margin-left: 0; // override margin-left from core grid system } - // generate .spanX - @include gridInputSpanX($gridColumns, $columnWidth, $gutterWidth); -} -@mixin gridInputSpanX($cols, $columnWidth, $gutterWidth) { - @for $i from 1 through $cols { - input.span#{$i}, textarea.span#{$i}, .uneditable-input.span#{$i} { @include gridInputSpan($i, $columnWidth, $gutterWidth); } + // Space grid-sized controls properly if multiple per line + .controls-row [class*="span"] + [class*="span"] { + margin-left: $gutterWidth; } -} -@mixin gridInputSpan($columns, $columnWidth, $gutterWidth) { - width: (($columnWidth) * $columns) + ($gutterWidth * ($columns - 1)) - 10; -} -@mixin makeFluidColumn($columns, $columnWidth, $gutterWidth) { - // This isn't perfect, but it's better than nothing. - float: left; - margin-left: $gutterWidth; - @include gridFluidSpan($columns, $columnWidth, $gutterWidth); + @for $i from 1 through $gridColumns { + input.span#{$i}, textarea.span#{$i}, .uneditable-input.span#{$i} { @include grid-core-span($i, $columnWidth, $gutterWidth); } + } } + +@mixin grid-input-span($columns, $columnWidth, $offsetWidth) { + width: (($columnWidth) * $columns) + ($gutterWidth * ($columns - 1)) - 14; +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_modals.scss b/vendor/assets/stylesheets/bootstrap/_modals.scss index 2ad15856..1bf488ea 100644 --- a/vendor/assets/stylesheets/bootstrap/_modals.scss +++ b/vendor/assets/stylesheets/bootstrap/_modals.scss @@ -1,5 +1,7 @@ -// MODALS -// ------ +// +// Modals +// -------------------------------------------------- + // Recalculate z-index where appropriate .modal-open { @@ -22,7 +24,8 @@ &.fade { opacity: 0; } } -.modal-backdrop, .modal-backdrop.fade.in { +.modal-backdrop, +.modal-backdrop.fade.in { @include opacity(0.8); } @@ -43,8 +46,7 @@ @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); + @include transition(#{opacity .3s linear, top .3s ease-out}); top: -25%; } &.fade.in { top: 50%; } @@ -54,6 +56,11 @@ border-bottom: 1px solid #eee; // Close icon .close { margin-top: 2px; } + // Heading + h3 { + margin: 0; + line-height: 30px; + } } // Body (where all modal content resides) @@ -87,4 +94,4 @@ .btn-group .btn + .btn { margin-left: -1px; } -} +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_navbar.scss b/vendor/assets/stylesheets/bootstrap/_navbar.scss index ae95e8d5..373c0d01 100644 --- a/vendor/assets/stylesheets/bootstrap/_navbar.scss +++ b/vendor/assets/stylesheets/bootstrap/_navbar.scss @@ -1,27 +1,32 @@ -// NAVBAR (FIXED AND STATIC) -// ------------------------- +// +// Navbars (Redux) +// -------------------------------------------------- // COMMON STYLES // ------------- +// Base class and wrapper .navbar { + overflow: visible; + margin-bottom: $baseLineHeight; + color: $navbarText; + // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar *position: relative; *z-index: 2; - - overflow: visible; - margin-bottom: $baseLineHeight; } -// Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present +// Inner for background effects +// Gradient is applied to its own element because overflow visible is not honored by IE when filter is present .navbar-inner { min-height: $navbarHeight; - padding-left: 20px; + padding-left: 20px; padding-right: 20px; @include gradient-vertical($navbarBackgroundHighlight, $navbarBackground); + border: 1px solid $navbarBorder; @include border-radius(4px); - @include box-shadow(#{0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1)}); + @include box-shadow(0 1px 4px rgba(0,0,0,.065)); } // Set width to auto for default container @@ -36,64 +41,83 @@ } -// Brand, links, text, and buttons -.navbar { - color: $navbarText; - // Hover and active states - .brand:hover { +// Brand: website or project name +// ------------------------- +.navbar .brand { + float: left; + display: block; + // Vertically center the text given $navbarHeight + padding: (($navbarHeight - $baseLineHeight) / 2) 20px (($navbarHeight - $baseLineHeight) / 2); + margin-left: -20px; // negative indent to left-align the text down the page + font-size: 20px; + font-weight: 200; + color: $navbarBrandColor; + text-shadow: 0 1px 0 $navbarBackgroundHighlight; + &:hover { text-decoration: none; } - // Website or project name - .brand { - float: left; - display: block; - // Vertically center the text given $navbarHeight - $elementHeight: 20px; - padding: (($navbarHeight - $elementHeight) / 2 - 2) 20px (($navbarHeight - $elementHeight) / 2 + 2); - margin-left: -20px; // negative indent to left-align the text down the page - font-size: 20px; - font-weight: 200; - line-height: 1; - color: $navbarBrandColor; - } - // Plain text in topbar - .navbar-text { - margin-bottom: 0; - line-height: $navbarHeight; - } - // Janky solution for now to account for links outside the .nav - .navbar-link { - color: $navbarLinkColor; - &:hover { - color: $navbarLinkColorHover; - } - } - // Buttons in navbar - .btn, .btn-group { - @include navbarVerticalAlign(30px); // Vertically center in navbar - } - .btn-group .btn { - margin: 0; // then undo the margin here so we don't accidentally double it +} + +// Plain text in topbar +// ------------------------- +.navbar-text { + margin-bottom: 0; + line-height: $navbarHeight; +} + +// Janky solution for now to account for links outside the .nav +// ------------------------- +.navbar-link { + color: $navbarLinkColor; + &:hover { + color: $navbarLinkColorHover; } } +// Dividers in navbar +// ------------------------- +.navbar .divider-vertical { + height: $navbarHeight; + margin: 0 9px; + border-left: 1px solid $navbarBackground; + border-right: 1px solid $navbarBackgroundHighlight; +} + +// Buttons in navbar +// ------------------------- +.navbar .btn, +.navbar .btn-group { + @include navbarVerticalAlign(28px); // Vertically center in navbar +} +.navbar .btn-group .btn { + margin: 0; // then undo the margin here so we don't accidentally double it +} + // Navbar forms .navbar-form { margin-bottom: 0; // remove default bottom margin @include clearfix(); - input, select, .radio, .checkbox { + input, + select, + .radio, + .checkbox { @include navbarVerticalAlign(30px); // Vertically center in navbar } - input, select { + input, + select, + .btn { display: inline-block; margin-bottom: 0; } - input[type="image"], input[type="checkbox"], input[type="radio"] { + input[type="image"], + input[type="checkbox"], + input[type="radio"] { margin-top: 3px; } - .input-append, .input-prepend { + .input-append, + .input-prepend { margin-top: 6px; - white-space: nowrap; // prevents two items from separating within a .navbar-form that has .pull-left + white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left input { margin-top: 0; // remove the margin on top since it's on the parent } @@ -104,67 +128,84 @@ .navbar-search { position: relative; float: left; - @include navbarVerticalAlign(28px); // Vertically center in navbar + @include navbarVerticalAlign(30px); // Vertically center in navbar margin-bottom: 0; .search-query { - padding: 4px 9px; + margin-bottom: 0; + padding: 4px 14px; @include font-sans-serif(13px, normal, 1); - color: $white; - background-color: $navbarSearchBackground; - border: 1px solid $navbarSearchBorder; - @include box-shadow(#{inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)}); - @include transition(none); - - @include placeholder($navbarSearchPlaceholderColor); - // Placeholder text gets special styles; can't be a grouped selector -// &:-moz-placeholder { -// color: $navbarSearchPlaceholderColor; -// } -// &::-webkit-input-placeholder { -// color: $navbarSearchPlaceholderColor; -// } - - // Focus states (we use .focused since IE7-8 and down doesn't support :focus) - &:focus, &.focused { - padding: 5px 10px; - color: $grayDark; - text-shadow: 0 1px 0 $white; - background-color: $navbarSearchBackgroundFocus; - border: 0; - @include box-shadow(0 0 3px rgba(0,0,0,.15)); - outline: 0; - } + @include border-radius(15px); // redeclare because of specificity of the type attribute + } +} + + + +// Static navbar +// ------------------------- + +.navbar-static-top { + position: static; + width: 100%; + margin-bottom: 0; // remove 18px margin for default navbar + .navbar-inner { + @include border-radius(0); } } -// FIXED NAVBAR -// ------------ +// Fixed navbar +// ------------------------- // Shared (top/bottom) styles -.navbar-fixed-top, .navbar-fixed-bottom { +.navbar-fixed-top, +.navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: $zindexFixedNavbar; - margin-bottom: 0; // remove 18px margin for static navbar + margin-bottom: 0; // remove 18px margin for default navbar } -.navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner { - padding-left: 0; +.navbar-fixed-top, +.navbar-fixed-bottom, +.navbar-static-top { + .navbar-inner { + border: 0; + } +} +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-left: 0; padding-right: 0; @include border-radius(0); } -.navbar-fixed-top .container, .navbar-fixed-bottom .container { - @include gridCoreSpan($gridColumns, $gridColumnWidth, $gridGutterWidth); +// Reset container width +// Required here as we reset the width earlier on and the grid mixins don't override early enough +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth); } // Fixed to top -.navbar-fixed-top { top: 0; } +.navbar-fixed-top { + top: 0; +} +.navbar-fixed-top, +.navbar-static-top { + .navbar-inner { + @include box-shadow(#{inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1)}); + } +} // Fixed to bottom -.navbar-fixed-bottom { bottom: 0; } +.navbar-fixed-bottom { + bottom: 0; + .navbar-inner { + @include box-shadow(#{inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1)}); + } +} @@ -182,7 +223,6 @@ float: right; // redeclare due to specificity } .navbar .nav > li { - display: block; float: left; } @@ -190,29 +230,17 @@ .navbar .nav > li > a { float: none; // Vertically center the text given $navbarHeight - $elementHeight: 20px; - padding: (($navbarHeight - $elementHeight) / 2 - 1) 10px (($navbarHeight - $elementHeight) / 2 + 1); - line-height: 19px; + padding: (($navbarHeight - $baseLineHeight) / 2) 15px (($navbarHeight - $baseLineHeight) / 2); color: $navbarLinkColor; text-decoration: none; - text-shadow: 0 -1px 0 rgba(0,0,0,.25); -} -// Buttons -.navbar .btn { - display: inline-block; - padding: 4px 10px 4px; - // Vertically center the button given $navbarHeight - $elementHeight: 28px; - margin: (($navbarHeight - $elementHeight) / 2 - 1) 5px (($navbarHeight - $elementHeight) / 2); - line-height: $baseLineHeight; + text-shadow: 0 1px 0 $navbarBackgroundHighlight; } -.navbar .btn-group { - margin: 0; - // Vertically center the button given $navbarHeight - $elementHeight: 28px; - padding: (($navbarHeight - $elementHeight) / 2 - 1) 5px (($navbarHeight - $elementHeight) / 2); +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; } + // Hover +.navbar .nav > li > a:focus, .navbar .nav > li > a:hover { background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active color: $navbarLinkColorHover; @@ -220,26 +248,15 @@ } // Active nav items -.navbar .nav .active > a, .navbar .nav .active > a:hover { +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { color: $navbarLinkColorActive; text-decoration: none; background-color: $navbarLinkBackgroundActive; -} - -// Dividers (basically a vertical hr) -.navbar .divider-vertical { - height: $navbarHeight; - width: 1px; - margin: 0 9px; - overflow: hidden; - background-color: $navbarBackground; - border-right: 1px solid $navbarBackgroundHighlight; -} - -// Secondary (floated right) nav in topbar -.navbar .nav.pull-right { - margin-left: 10px; - margin-right: 0; + -webkit-box-shadow: inset 0 3px 8px rgba(0,0,0,.125); + -moz-box-shadow: inset 0 3px 8px rgba(0,0,0,.125); + box-shadow: inset 0 3px 8px rgba(0,0,0,.125); } // Navbar button for toggling navbar items in responsive layouts @@ -250,7 +267,7 @@ padding: 7px 10px; margin-left: 5px; margin-right: 5px; - @include buttonBackground($navbarBackgroundHighlight, $navbarBackground); + @include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5%)); @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)}); } .navbar .btn-navbar .icon-bar { @@ -266,11 +283,12 @@ } + // Dropdown menus // -------------- // Menu position and menu carets -.navbar .dropdown-menu { +.navbar .nav > li > .dropdown-menu { &:before { content: ''; display: inline-block; @@ -294,7 +312,7 @@ } } // Menu position and menu caret support for dropups via extra dropup class -.navbar-fixed-bottom .dropdown-menu { +.navbar-fixed-bottom .nav > li > .dropdown-menu { &:before { border-top: 7px solid #ccc; border-top-color: $dropdownBorder; @@ -309,28 +327,28 @@ top: auto; } } -// Dropdown toggle caret -.navbar .nav li.dropdown .dropdown-toggle .caret, .navbar .nav li.dropdown.open .caret { - border-top-color: $white; - border-bottom-color: $white; -} -.navbar .nav li.dropdown.active .caret { - @include opacity(1); -} // Remove background color from open dropdown -.navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle, .navbar .nav li.dropdown.open.active > .dropdown-toggle { - background-color: transparent; +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + background-color: $navbarLinkBackgroundActive; + color: $navbarLinkColorActive; } - -// Dropdown link on hover -.navbar .nav li.dropdown.active > .dropdown-toggle:hover { - color: $white; +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: $navbarLinkColor; + border-bottom-color: $navbarLinkColor; +} +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: $navbarLinkColorActive; + border-bottom-color: $navbarLinkColorActive; } // Right aligned menus need alt position -// TODO: rejigger this at some point to simplify the selectors -.navbar .pull-right .dropdown-menu, .navbar .dropdown-menu.pull-right { +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { left: auto; right: 0; &:before { @@ -341,4 +359,108 @@ left: auto; right: 13px; } + .dropdown-menu { + left: auto; + right: 100%; + margin-left: 0; + margin-right: -1px; + @include border-radius(6px 0 6px 6px); + } +} + + +// Inverted navbar +// ------------------------- + +.navbar-inverse { + color: $navbarInverseText; + + .navbar-inner { + @include gradient-vertical($navbarInverseBackgroundHighlight, $navbarInverseBackground); + border-color: $navbarInverseBorder; + } + + .brand, + .nav > li > a { + color: $navbarInverseLinkColor; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + &:hover { + color: $navbarInverseLinkColorHover; + } + } + + .nav > li > a:focus, + .nav > li > a:hover { + background-color: $navbarInverseLinkBackgroundHover; + color: $navbarInverseLinkColorHover; + } + + .nav .active > a, + .nav .active > a:hover, + .nav .active > a:focus { + color: $navbarInverseLinkColorActive; + background-color: $navbarInverseLinkBackgroundActive; + } + + // Inline text links + .navbar-link { + color: $navbarInverseLinkColor; + &:hover { + color: $navbarInverseLinkColorHover; + } + } + + // Dividers in navbar + .divider-vertical { + border-left-color: $navbarInverseBackground; + border-right-color: $navbarInverseBackgroundHighlight; + } + + // Dropdowns + .nav li.dropdown.open > .dropdown-toggle, + .nav li.dropdown.active > .dropdown-toggle, + .nav li.dropdown.open.active > .dropdown-toggle { + background-color: $navbarInverseLinkBackgroundActive; + color: $navbarInverseLinkColorActive; + } + .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: $navbarInverseLinkColor; + border-bottom-color: $navbarInverseLinkColor; + } + .nav li.dropdown.open > .dropdown-toggle .caret, + .nav li.dropdown.active > .dropdown-toggle .caret, + .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: $navbarInverseLinkColorActive; + border-bottom-color: $navbarInverseLinkColorActive; + } + + // Navbar search + .navbar-search { + .search-query { + color: $white; + background-color: $navbarInverseSearchBackground; + border-color: $navbarInverseSearchBorder; + @include box-shadow(#{inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)}); + @include transition(none); + @include placeholder($navbarInverseSearchPlaceholderColor); + + // Focus states (we use .focused since IE7-8 and down doesn't support :focus) + &:focus, + &.focused { + padding: 5px 15px; + color: $grayDark; + text-shadow: 0 1px 0 $white; + background-color: $navbarInverseSearchBackgroundFocus; + border: 0; + @include box-shadow(0 0 3px rgba(0,0,0,.15)); + outline: 0; + } + } + } + + // Navbar collapse button + .btn-navbar { + @include buttonBackground(darken($navbarInverseBackgroundHighlight, 5%), darken($navbarInverseBackground, 5%)); + } + }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_navs.scss b/vendor/assets/stylesheets/bootstrap/_navs.scss index a83a95cb..a5bfc881 100644 --- a/vendor/assets/stylesheets/bootstrap/_navs.scss +++ b/vendor/assets/stylesheets/bootstrap/_navs.scss @@ -1,6 +1,6 @@ -// NAVIGATIONS -// ----------- - +// +// Navs +// -------------------------------------------------- // BASE CLASS @@ -27,7 +27,7 @@ } // Nav headers (for dropdowns and lists) -.nav .nav-header { +.nav-header { display: block; padding: 3px 15px; font-size: 11px; @@ -43,6 +43,7 @@ } + // NAV LIST // -------- @@ -51,7 +52,8 @@ padding-right: 15px; margin-bottom: 0; } -.nav-list > li > a, .nav-list .nav-header { +.nav-list > li > a, +.nav-list .nav-header { margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255,255,255,.5); @@ -59,7 +61,8 @@ .nav-list > li > a { padding: 3px 15px; } -.nav-list > .active > a, .nav-list > .active > a:hover { +.nav-list > .active > a, +.nav-list > .active > a:hover { color: $white; text-shadow: 0 -1px 0 rgba(0,0,0,.2); background-color: $linkColor; @@ -78,13 +81,16 @@ // ------------- // Common styles -.nav-tabs, .nav-pills { +.nav-tabs, +.nav-pills { @include clearfix(); } -.nav-tabs > li, .nav-pills > li { +.nav-tabs > li, +.nav-pills > li { float: left; } -.nav-tabs > li > a, .nav-pills > li > a { +.nav-tabs > li > a, +.nav-pills > li > a { padding-right: 12px; padding-left: 12px; margin-right: 2px; @@ -114,7 +120,8 @@ } } // Active state, and it's :hover to override normal :hover -.nav-tabs > .active > a, .nav-tabs > .active > a:hover { +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { color: $gray; background-color: $white; border: 1px solid #ddd; @@ -136,7 +143,8 @@ } // Active state -.nav-pills .active > a, .nav-pills .active > a:hover { +.nav-pills > .active > a, +.nav-pills > .active > a:hover { color: $white; background-color: $linkColor; } @@ -163,10 +171,10 @@ @include border-radius(0); } .nav-tabs.nav-stacked > li:first-child > a { - @include border-radius(4px 4px 0 0); + @include border-top-radius(4px); } .nav-tabs.nav-stacked > li:last-child > a { - @include border-radius(0 0 4px 4px); + @include border-bottom-radius(4px); } .nav-tabs.nav-stacked > li > a:hover { border-color: #ddd; @@ -187,47 +195,58 @@ // --------- .nav-tabs .dropdown-menu { - @include border-radius(0 0 5px 5px); // remove the top rounded corners here since there is a hard edge above the menu + @include border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu } .nav-pills .dropdown-menu { - @include border-radius(4px); // make rounded corners match the pills + @include border-radius(6px); // make rounded corners match the pills } // Default dropdown links // ------------------------- // Make carets use linkColor to start -.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret { +.nav .dropdown-toggle .caret { border-top-color: $linkColor; border-bottom-color: $linkColor; margin-top: 6px; } -.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret { +.nav .dropdown-toggle:hover .caret { border-top-color: $linkColorHover; border-bottom-color: $linkColorHover; } +/* move down carets for tabs */ +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} // Active dropdown links // ------------------------- -.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret { - border-top-color: $grayDark; - border-bottom-color: $grayDark; +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: $gray; + border-bottom-color: $gray; } // Active:hover dropdown links // ------------------------- .nav > .dropdown.active > a:hover { - color: $black; cursor: pointer; } // Open dropdowns // ------------------------- -.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > li.dropdown.open.active > a:hover { +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { color: $white; background-color: $grayLight; border-color: $grayLight; } -.nav li.dropdown.open .caret, .nav li.dropdown.open.active .caret, .nav li.dropdown.open a:hover .caret { +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { border-top-color: $white; border-bottom-color: $white; @include opacity(1); @@ -256,15 +275,19 @@ } // Remove border on bottom, left, right -.tabs-below > .nav-tabs, .tabs-right > .nav-tabs, .tabs-left > .nav-tabs { +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { border-bottom: 0; } // Show/hide tabbable areas -.tab-content > .tab-pane, .pill-content > .pill-pane { +.tab-content > .tab-pane, +.pill-content > .pill-pane { display: none; } -.tab-content > .active, .pill-content > .active { +.tab-content > .active, +.pill-content > .active { display: block; } @@ -286,7 +309,8 @@ border-top-color: #ddd; } } -.tabs-below > .nav-tabs > .active > a, .tabs-below > .nav-tabs > .active > a:hover { +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { border-color: transparent #ddd #ddd #ddd; } @@ -294,10 +318,12 @@ // ------------ // Common styles -.tabs-left > .nav-tabs > li, .tabs-right > .nav-tabs > li { +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { float: none; } -.tabs-left > .nav-tabs > li > a, .tabs-right > .nav-tabs > li > a { +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { min-width: 74px; margin-right: 0; margin-bottom: 3px; @@ -316,7 +342,8 @@ .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 { +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { border-color: #ddd transparent #ddd #ddd; *border-right-color: $white; } @@ -334,7 +361,24 @@ .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 { +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { border-color: #ddd #ddd #ddd transparent; *border-left-color: $white; } + + + +// DISABLED STATES +// --------------- + +// Gray out text +.nav > .disabled > a { + color: $grayLight; +} +// Nuke hover effects +.nav > .disabled > a:hover { + text-decoration: none; + background-color: transparent; + cursor: default; +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_pager.scss b/vendor/assets/stylesheets/bootstrap/_pager.scss index 3258eb99..9776f392 100644 --- a/vendor/assets/stylesheets/bootstrap/_pager.scss +++ b/vendor/assets/stylesheets/bootstrap/_pager.scss @@ -1,9 +1,10 @@ -// PAGER -// ----- +// +// Pager pagination +// -------------------------------------------------- + .pager { - margin-left: 0; - margin-bottom: $baseLineHeight; + margin: $baseLineHeight 0; list-style: none; text-align: center; @include clearfix(); @@ -28,7 +29,8 @@ .pager .previous a { float: left; } -.pager .disabled a, .pager .disabled a:hover { +.pager .disabled a, +.pager .disabled a:hover { color: $grayLight; background-color: #fff; cursor: default; diff --git a/vendor/assets/stylesheets/bootstrap/_pagination.scss b/vendor/assets/stylesheets/bootstrap/_pagination.scss index 8e739d44..681d677a 100644 --- a/vendor/assets/stylesheets/bootstrap/_pagination.scss +++ b/vendor/assets/stylesheets/bootstrap/_pagination.scss @@ -1,5 +1,7 @@ -// PAGINATION -// ---------- +// +// Pagination (multiple pages) +// -------------------------------------------------- + .pagination { height: $baseLineHeight * 2; @@ -14,33 +16,42 @@ @include box-shadow(0 1px 2px rgba(0,0,0,.05)); } .pagination li { - display: inline; -} -.pagination a { + display: inline; + } +.pagination a, +.pagination span { float: left; padding: 0 14px; line-height: ($baseLineHeight * 2) - 2; text-decoration: none; - border: 1px solid #ddd; + background-color: $paginationBackground; + border: 1px solid $paginationBorder; border-left-width: 0; } -.pagination a:hover, .pagination .active a { +.pagination a:hover, +.pagination .active a, +.pagination .active span { background-color: #f5f5f5; } -.pagination .active a { +.pagination .active a, +.pagination .active span { color: $grayLight; cursor: default; } -.pagination .disabled span, .pagination .disabled a, .pagination .disabled a:hover { +.pagination .disabled span, +.pagination .disabled a, +.pagination .disabled a:hover { color: $grayLight; background-color: transparent; cursor: default; } -.pagination li:first-child a { +.pagination li:first-child a, +.pagination li:first-child span { border-left-width: 1px; @include border-radius(3px 0 0 3px); } -.pagination li:last-child a { +.pagination li:last-child a, +.pagination li:last-child span { @include border-radius(0 3px 3px 0); } diff --git a/vendor/assets/stylesheets/bootstrap/_popovers.scss b/vendor/assets/stylesheets/bootstrap/_popovers.scss index a0b200ec..3e4d3bd9 100644 --- a/vendor/assets/stylesheets/bootstrap/_popovers.scss +++ b/vendor/assets/stylesheets/bootstrap/_popovers.scss @@ -1,5 +1,7 @@ -// POPOVERS -// -------- +// +// Popovers +// -------------------------------------------------- + .popover { position: absolute; @@ -7,43 +9,109 @@ 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); + width: 236px; + padding: 1px; + background-color: $popoverBackground; + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); @include border-radius(6px); - @include box-shadow(0 3px 7px rgba(0,0,0,0.3)); + @include box-shadow(0 5px 10px rgba(0,0,0,.2)); + + // Offset the popover to account for the popover arrow + &.top { margin-bottom: 10px; } + &.right { margin-left: 10px; } + &.bottom { margin-top: 10px; } + &.left { margin-right: 10px; } + } + .popover-title { - padding: 9px 15px; - line-height: 1; - background-color: #f5f5f5; - border-bottom:1px solid #eee; - @include border-radius(3px 3px 0 0); + margin: 0; // reset heading margin + padding: 8px 14px; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: $popoverTitleBackground; + border-bottom: 1px solid darken($popoverTitleBackground, 5%); + @include border-radius(5px 5px 0 0); } + .popover-content { - padding: 14px; - background-color: $white; - @include border-radius(0 0 3px 3px); - @include background-clip(padding-box); + padding: 9px 14px; p, ul, ol { margin-bottom: 0; } +} + +// Arrows +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: inline-block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover .arrow:after { + content: ""; + z-index: -1; +} + +.popover { + &.top .arrow { + bottom: -$popoverArrowWidth; + left: 50%; + margin-left: -$popoverArrowWidth; + border-width: $popoverArrowWidth $popoverArrowWidth 0; + border-top-color: $popoverArrowColor; + &:after { + border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth 0; + border-top-color: $popoverArrowOuterColor; + bottom: -1px; + left: -$popoverArrowOuterWidth; + } + } + &.right .arrow { + top: 50%; + left: -$popoverArrowWidth; + margin-top: -$popoverArrowWidth; + border-width: $popoverArrowWidth $popoverArrowWidth $popoverArrowWidth 0; + border-right-color: $popoverArrowColor; + &:after { + border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth $popoverArrowOuterWidth 0; + border-right-color: $popoverArrowOuterColor; + bottom: -$popoverArrowOuterWidth; + left: -1px; + } + } + &.bottom .arrow { + top: -$popoverArrowWidth; + left: 50%; + margin-left: -$popoverArrowWidth; + border-width: 0 $popoverArrowWidth $popoverArrowWidth; + border-bottom-color: $popoverArrowColor; + &:after { + border-width: 0 $popoverArrowOuterWidth $popoverArrowOuterWidth; + border-bottom-color: $popoverArrowOuterColor; + top: -1px; + left: -$popoverArrowOuterWidth; + } + } + &.left .arrow { + top: 50%; + right: -$popoverArrowWidth; + margin-top: -$popoverArrowWidth; + border-width: $popoverArrowWidth 0 $popoverArrowWidth $popoverArrowWidth; + border-left-color: $popoverArrowColor; + &:after { + border-width: $popoverArrowOuterWidth 0 $popoverArrowOuterWidth $popoverArrowOuterWidth; + border-left-color: $popoverArrowOuterColor; + bottom: -$popoverArrowOuterWidth; + right: -1px; + } + } }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_progress-bars.scss b/vendor/assets/stylesheets/bootstrap/_progress-bars.scss index e1fa27a4..118b72df 100644 --- a/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +++ b/vendor/assets/stylesheets/bootstrap/_progress-bars.scss @@ -1,5 +1,6 @@ -// PROGRESS BARS -// ------------- +// +// Progress bars +// -------------------------------------------------- // ANIMATIONS @@ -8,7 +9,7 @@ // Webkit @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } - to { background-position: 0 0 } + to { background-position: 0 0; } } // Firefox @@ -19,14 +20,14 @@ // IE9 @-ms-keyframes progress-bar-stripes { - from { background-position: 40px 0; } - to { background-position: 0 0; } + from { background-position: 40px 0; } + to { background-position: 0 0; } } // Opera @-o-keyframes progress-bar-stripes { - from { background-position: 0 0; } - to { background-position: 40px 0; } + from { background-position: 0 0; } + to { background-position: 40px 0; } } // Spec @@ -43,8 +44,8 @@ // Outer container .progress { overflow: hidden; - height: 18px; - margin-bottom: 18px; + height: $baseLineHeight; + margin-bottom: $baseLineHeight; @include gradient-vertical(#f5f5f5, #f9f9f9); @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); @include border-radius(4px); @@ -53,8 +54,9 @@ // Bar of progress .progress .bar { width: 0%; - height: 18px; + height: 100%; color: $white; + float: left; font-size: 12px; text-align: center; text-shadow: 0 -1px 0 rgba(0,0,0,.25); @@ -63,6 +65,9 @@ @include box-sizing(border-box); @include transition(width .6s ease); } +.progress .bar + .bar { + @include box-shadow(#{inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)}); +} // Striped bars .progress-striped .bar { @@ -85,34 +90,33 @@ // ------ // Danger (red) -.progress-danger .bar { +.progress-danger .bar, .progress .bar-danger { @include gradient-vertical(#ee5f5b, #c43c35); } -.progress-danger.progress-striped .bar { +.progress-danger.progress-striped .bar, .progress-striped .bar-danger { @include gradient-striped(#ee5f5b); } // Success (green) -.progress-success .bar { +.progress-success .bar, .progress .bar-success { @include gradient-vertical(#62c462, #57a957); } -.progress-success.progress-striped .bar { +.progress-success.progress-striped .bar, .progress-striped .bar-success { @include gradient-striped(#62c462); } // Info (teal) -.progress-info .bar { +.progress-info .bar, .progress .bar-info { @include gradient-vertical(#5bc0de, #339bb9); } -.progress-info.progress-striped .bar { +.progress-info.progress-striped .bar, .progress-striped .bar-info { @include gradient-striped(#5bc0de); } // Warning (orange) -.progress-warning .bar { +.progress-warning .bar, .progress .bar-warning { @include gradient-vertical(lighten($orange, 15%), $orange); } - -.progress-warning.progress-striped .bar { +.progress-warning.progress-striped .bar, .progress-striped .bar-warning { @include gradient-striped(lighten($orange, 15%)); }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_reset.scss b/vendor/assets/stylesheets/bootstrap/_reset.scss index e6872686..e5ccc68e 100644 --- a/vendor/assets/stylesheets/bootstrap/_reset.scss +++ b/vendor/assets/stylesheets/bootstrap/_reset.scss @@ -1,18 +1,31 @@ -// Reset.css.scss -// Adapted from Normalize.css http://github.com/necolas/normalize.css -// ------------------------------------------------------------------------ +// +// Reset +// Adapted from http://github.com/necolas/normalize.css +// -------------------------------------------------- + // Display in IE6-9 and FF3 // ------------------------- -article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { display: block; } // Display block in IE6-9 and FF3 // ------------------------- -audio, canvas, video { +audio, +canvas, +video { display: inline-block; *display: inline; *zoom: 1; @@ -38,14 +51,16 @@ a:focus { @include tab-focus(); } // Hover & Active -a:hover, a:active { +a:hover, +a:active { outline: 0; } // Prevents sub and sup affecting line-height in all browsers // ------------------------- -sub, sup { +sub, +sup { position: relative; font-size: 75%; line-height: 0; @@ -63,6 +78,7 @@ sub { img { max-width: 100%; // Make images inherently responsive + height: auto; // Make images inherently responsive vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; @@ -77,20 +93,28 @@ img { // ------------------------- // Font size in all browsers, margin changes, misc consistency -button, input, select, textarea { +button, +input, +select, +textarea { margin: 0; font-size: 100%; vertical-align: middle; } -button, input { +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 +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"] { +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { cursor: pointer; // Cursors on all buttons applied consistently -webkit-appearance: button; // Style clickable inputs in iOS } diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-1200px-min.scss b/vendor/assets/stylesheets/bootstrap/_responsive-1200px-min.scss index 784caf40..bb7fc393 100644 --- a/vendor/assets/stylesheets/bootstrap/_responsive-1200px-min.scss +++ b/vendor/assets/stylesheets/bootstrap/_responsive-1200px-min.scss @@ -1,23 +1,25 @@ -// LARGE DESKTOP & UP -// ------------------ +// +// Responsive: Large desktop and up +// -------------------------------------------------- + @media (min-width: 1200px) { // Fixed grid - @include gridCore($gridColumnWidthLarge, $gridGutterWidthLarge); + @include grid-core($gridColumnWidth1200, $gridGutterWidth1200); // Fluid grid - @include gridFluid($fluidGridColumnWidthLarge, $fluidGridGutterWidthLarge); + @include grid-fluid($fluidGridColumnWidth1200, $fluidGridGutterWidth1200); // Input grid - @include gridInput($gridColumnWidthLarge, $gridGutterWidthLarge); + @include grid-input($gridColumnWidth1200, $gridGutterWidth1200); // Thumbnails .thumbnails { - margin-left: -30px; + margin-left: -$gridGutterWidth1200; } .thumbnails > li { - margin-left: 30px; + margin-left: $gridGutterWidth1200; } .row-fluid .thumbnails { margin-left: 0; diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-767px-max.scss b/vendor/assets/stylesheets/bootstrap/_responsive-767px-max.scss index 851cb30b..54649fe6 100644 --- a/vendor/assets/stylesheets/bootstrap/_responsive-767px-max.scss +++ b/vendor/assets/stylesheets/bootstrap/_responsive-767px-max.scss @@ -1,72 +1,8 @@ -// UP TO LANDSCAPE PHONE -// --------------------- - -@media (max-width: 480px) { - - // Smooth out the collapsing/expanding nav - .nav-collapse { - -webkit-transform: translate3d(0, 0, 0); // activate the GPU - } - - // Block level the page header small tag for readability - .page-header h1 small { - display: block; - line-height: $baseLineHeight; - } - - // Update checkboxes for iOS - input[type="checkbox"], input[type="radio"] { - border: 1px solid #ccc; - } - - // Remove the horizontal form styles - .form-horizontal .control-group > label { - float: none; - width: auto; - padding-top: 0; - text-align: left; - } - // Move over all input controls and content - .form-horizontal .controls { - margin-left: 0; - } - // Move the options list down to align with labels - .form-horizontal .control-list { - padding-top: 0; // has to be padding because margin collaspes - } - // Move over buttons in .form-actions to align with .controls - .form-horizontal .form-actions { - padding-left: 10px; - padding-right: 10px; - } - - // Modals - .modal { - position: absolute; - top: 10px; - left: 10px; - right: 10px; - width: auto; - margin: 0; - &.fade.in { top: auto; } - } - .modal-header .close { - padding: 10px; - margin: -10px; - } - - // Carousel - .carousel-caption { - position: static; - } - -} - - - -// LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET +// +// Responsive: Landscape phone to desktop/tablet // -------------------------------------------------- + @media (max-width: 767px) { // Padding to set content in a bit @@ -75,7 +11,8 @@ padding-right: 20px; } // Negative indent the now static "fixed" navbar - .navbar-fixed-top, .navbar-fixed-bottom { + .navbar-fixed-top, + .navbar-fixed-bottom { margin-left: -20px; margin-right: -20px; } @@ -110,27 +47,121 @@ width: 100%; } // Undo negative margin on rows and thumbnails - .row, .thumbnails { + .row, + .thumbnails { margin-left: 0; } + .thumbnails > li { + float: none; + margin-left: 0; // Reset the default margin for all li elements when no .span* classes are present + } // Make all grid-sized elements block level again - [class*="span"], .row-fluid [class*="span"] { + [class*="span"], + .row-fluid [class*="span"] { float: none; display: block; width: auto; margin-left: 0; } + .span12, + .row-fluid .span12 { + width: 100%; + @include box-sizing(border-box); + } // FORM FIELDS // ----------- // Make span* classes full width - .input-large, .input-xlarge, .input-xxlarge, input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input { + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { @include input-block-level(); } // But don't let it screw up prepend/append inputs - .input-prepend input, .input-append input, .input-prepend input[class*="span"], .input-append input[class*="span"] { + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { display: inline-block; // redeclare so they don't wrap to new lines width: auto; } + // Modals + .modal { + position: fixed; + top: 20px; + left: 20px; + right: 20px; + width: auto; + margin: 0; + &.fade.in { top: auto; } + } + } + + + +// UP TO LANDSCAPE PHONE +// --------------------- + +@media (max-width: 480px) { + + // Smooth out the collapsing/expanding nav + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); // activate the GPU + } + + // Block level the page header small tag for readability + .page-header h1 small { + display: block; + line-height: $baseLineHeight; + } + + // Update checkboxes for iOS + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + + // Remove the horizontal form styles + .form-horizontal .control-group > label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + // Move over all input controls and content + .form-horizontal .controls { + margin-left: 0; + } + // Move the options list down to align with labels + .form-horizontal .control-list { + padding-top: 0; // has to be padding because margin collaspes + } + // Move over buttons in .form-actions to align with .controls + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + + // Modals + .modal { + top: 10px; + left: 10px; + right: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + + // Carousel + .carousel-caption { + position: static; + } + +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-768px-979px.scss b/vendor/assets/stylesheets/bootstrap/_responsive-768px-979px.scss index 5ee71aea..f10a838a 100644 --- a/vendor/assets/stylesheets/bootstrap/_responsive-768px-979px.scss +++ b/vendor/assets/stylesheets/bootstrap/_responsive-768px-979px.scss @@ -1,16 +1,19 @@ -// PORTRAIT TABLET TO DEFAULT DESKTOP -// ---------------------------------- +// +// Responsive: Tablet to desktop +// -------------------------------------------------- + @media (min-width: 768px) and (max-width: 979px) { // Fixed grid - @include gridCore($gridColumnWidthTablet, $gridGutterWidthTablet); + @include grid-core($gridColumnWidth768, $gridGutterWidth768); // Fluid grid - @include gridFluid($fluidGridColumnWidthTablet, $fluidGridGutterWidthTablet); + @include grid-fluid($fluidGridColumnWidth768, $fluidGridGutterWidth768); // Input grid - @include gridInput($gridColumnWidthTablet, $gridGutterWidthTablet); + @include grid-input($gridColumnWidth768, $gridGutterWidth768); // No need to reset .thumbnails here since it's the same $gridGutterWidth + }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss b/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss index 7f286bf8..3f647fb7 100644 --- a/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss +++ b/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss @@ -1,3 +1,8 @@ +// +// Responsive: Navbar +// -------------------------------------------------- + + // TABLETS AND BELOW // ----------------- @media (max-width: 979px) { @@ -8,8 +13,9 @@ body { padding-top: 0; } - // Unfix the navbar - .navbar-fixed-top, .navbar-fixed-bottom { + // Unfix the navbars + .navbar-fixed-top, + .navbar-fixed-bottom { position: static; } .navbar-fixed-top { @@ -18,7 +24,8 @@ .navbar-fixed-bottom { margin-top: $baseLineHeight; } - .navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner { + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { padding: 5px; } .navbar .container { @@ -57,8 +64,9 @@ text-shadow: none; } // Nav and dropdown links in navbar - .nav-collapse .nav > li > a, .nav-collapse .dropdown-menu a { - padding: 6px 15px; + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; font-weight: bold; color: $navbarLinkColor; @include border-radius(3px); @@ -72,9 +80,14 @@ .nav-collapse .dropdown-menu li + li a { margin-bottom: 2px; } - .nav-collapse .nav > li > a:hover, .nav-collapse .dropdown-menu a:hover { + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { background-color: $navbarBackground; } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:hover { + background-color: $navbarInverseBackground; + } // Buttons in the navbar .nav-collapse.in .btn-group { margin-top: 5px; @@ -95,14 +108,16 @@ @include border-radius(0); @include box-shadow(none); } - .nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:after { + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { display: none; } .nav-collapse .dropdown-menu .divider { display: none; } // Forms in navbar - .nav-collapse .navbar-form, .nav-collapse .navbar-search { + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { float: none; padding: ($baseLineHeight / 2) 15px; margin: ($baseLineHeight / 2) 0; @@ -138,10 +153,12 @@ // DEFAULT DESKTOP // --------------- -// Required to make the collapsing navbar work on regular desktops @media (min-width: 980px) { + + // Required to make the collapsing navbar work on regular desktops .nav-collapse.collapse { height: auto !important; overflow: visible !important; } + } diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss b/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss index 567aa5c7..3bf20fc1 100644 --- a/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss +++ b/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss @@ -1,5 +1,7 @@ -// RESPONSIVE CLASSES -// ------------------ +// +// Responsive: Utility classes +// -------------------------------------------------- + // Hide from screenreaders and browsers // Credit: HTML5 Boilerplate @@ -13,29 +15,29 @@ // For desktops .visible-phone { display: none !important; } .visible-tablet { display: none !important; } -.visible-desktop { } // Don't set initially .hidden-phone { } .hidden-tablet { } .hidden-desktop { display: none !important; } - -// Phones only -@media (max-width: 767px) { - // Show - .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior - // Hide - .hidden-phone { display: none !important; } - // Hide everything else - .hidden-desktop { display: inherit !important; } - .visible-desktop { display: none !important; } -} +.visible-desktop { display: inherit !important; } // Tablets & small desktops only @media (min-width: 768px) and (max-width: 979px) { + // Hide everything else + .hidden-desktop { display: inherit !important; } + .visible-desktop { display: none !important ; } // Show .visible-tablet { display: inherit !important; } // Hide .hidden-tablet { display: none !important; } +} + +// Phones only +@media (max-width: 767px) { // Hide everything else .hidden-desktop { display: inherit !important; } - .visible-desktop { display: none !important ; } + .visible-desktop { display: none !important; } + // Show + .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior + // Hide + .hidden-phone { display: none !important; } }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_scaffolding.scss b/vendor/assets/stylesheets/bootstrap/_scaffolding.scss index ec716131..7223df5a 100644 --- a/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +++ b/vendor/assets/stylesheets/bootstrap/_scaffolding.scss @@ -1,10 +1,10 @@ +// // Scaffolding -// Basic and global styles for generating a grid system, structural layout, and page templates -// ------------------------------------------------------------------------------------------- +// -------------------------------------------------- // Body reset -// ----------------- +// ------------------------- body { margin: 0; @@ -17,7 +17,7 @@ body { // Links -// ----- +// ------------------------- a { color: $linkColor; @@ -26,4 +26,26 @@ a { a:hover { color: $linkColorHover; text-decoration: underline; +} + + +// Images +// ------------------------- + +.img-rounded { + @include border-radius(6px); +} + +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.1); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,.1); + box-shadow: 0 1px 3px rgba(0,0,0,.1); +} + +.img-circle { + @include border-radius(500px); }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_sprites.scss b/vendor/assets/stylesheets/bootstrap/_sprites.scss index dbda614f..97a33162 100644 --- a/vendor/assets/stylesheets/bootstrap/_sprites.scss +++ b/vendor/assets/stylesheets/bootstrap/_sprites.scss @@ -1,20 +1,21 @@ -// SPRITES -// Glyphs and icons for buttons, nav, and more -// ------------------------------------------- +// +// Sprites +// -------------------------------------------------- // 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, +// 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="icon-inbox"></i>. // For the white version of the icons, just add the .icon-white class: // <i class="icon-inbox icon-white"></i> -[class^="icon-"], [class*=" icon-"] { +[class^="icon-"], +[class*=" icon-"] { display: inline-block; width: 14px; height: 14px; @@ -24,8 +25,17 @@ background-image: $iconSpritePath; background-position: 14px 14px; background-repeat: no-repeat; + margin-top: 1px; } -.icon-white { + +/* White icons with optional class, or on hover/active states of certain elements */ +.icon-white, +.nav > .active > a > [class^="icon-"], +.nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"] { background-image: $iconWhiteSpritePath; } @@ -143,7 +153,7 @@ .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-random { background-position: -216px -120px; width: 16px; } .icon-comment { background-position: -240px -120px; } .icon-magnet { background-position: -264px -120px; } .icon-chevron-up { background-position: -288px -120px; } @@ -151,7 +161,7 @@ .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-folder-open { background-position: -408px -120px; width: 16px; } .icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off .icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off diff --git a/vendor/assets/stylesheets/bootstrap/_tables.scss b/vendor/assets/stylesheets/bootstrap/_tables.scss index 36c7687d..2bf88129 100644 --- a/vendor/assets/stylesheets/bootstrap/_tables.scss +++ b/vendor/assets/stylesheets/bootstrap/_tables.scss @@ -1,7 +1,6 @@ // -// Tables.less -// Tables for, you guessed it, tabular data -// ---------------------------------------- +// Tables +// -------------------------------------------------- // BASE TABLES @@ -21,7 +20,8 @@ table { width: 100%; margin-bottom: $baseLineHeight; // Cells - th, td { + th, + td { padding: 8px; line-height: $baseLineHeight; text-align: left; @@ -36,9 +36,12 @@ table { vertical-align: bottom; } // Remove top border from thead by default - caption + thead tr:first-child th, caption + thead tr:first-child td, - colgroup + thead tr:first-child th, colgroup + thead tr:first-child td, - thead:first-child tr:first-child th, thead:first-child tr:first-child td { + caption + thead tr:first-child th, + caption + thead tr:first-child td, + colgroup + thead tr:first-child th, + colgroup + thead tr:first-child td, + thead:first-child tr:first-child th, + thead:first-child tr:first-child td { border-top: 0; } // Account for multiple tbody instances @@ -53,7 +56,8 @@ table { // ------------------------------- .table-condensed { - th, td { + th, + td { padding: 4px 5px; } } @@ -65,50 +69,86 @@ table { .table-bordered { border: 1px solid $tableBorder; border-collapse: separate; // Done so we can round those corners! - *border-collapse: collapsed; // IE7 can't round corners anyway + *border-collapse: collapse; // IE7 can't round corners anyway border-left: 0; @include border-radius(4px); - th, td { + th, + td { border-left: 1px solid $tableBorder; } // Prevent a double border - caption + thead tr:first-child th, caption + tbody tr:first-child th, caption + tbody tr:first-child td, - colgroup + thead tr:first-child th, colgroup + tbody tr:first-child th, colgroup + tbody tr:first-child td, - thead:first-child tr:first-child th, tbody:first-child tr:first-child th, tbody:first-child tr:first-child td { + caption + thead tr:first-child th, + caption + tbody tr:first-child th, + caption + tbody tr:first-child td, + colgroup + thead tr:first-child th, + colgroup + tbody tr:first-child th, + colgroup + tbody tr:first-child td, + thead:first-child tr:first-child th, + tbody:first-child tr:first-child th, + tbody:first-child tr:first-child td { border-top: 0; } // For first th or td in the first row in the first thead or tbody - thead:first-child tr:first-child th:first-child, tbody:first-child tr:first-child td:first-child { + thead:first-child tr:first-child th:first-child, + tbody:first-child tr:first-child td:first-child { -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; } - thead:first-child tr:first-child th:last-child, tbody:first-child tr:first-child td:last-child { + thead:first-child tr:first-child th:last-child, + tbody:first-child tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-topright: 4px; } // For first th or td in the first row in the first thead or tbody - thead:last-child tr:last-child th:first-child, tbody:last-child tr:last-child td:first-child { + thead:last-child tr:last-child th:first-child, + tbody:last-child tr:last-child td:first-child, + tfoot:last-child tr:last-child td:first-child { + @include border-radius(0 0 0 4px); -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; } - thead:last-child tr:last-child th:last-child, tbody:last-child tr:last-child td:last-child { + thead:last-child tr:last-child th:last-child, + tbody:last-child tr:last-child td:last-child, + tfoot:last-child tr:last-child td:last-child { -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomright: 4px; } + + // Special fixes to round the left border on the first td/th + caption + thead tr:first-child th:first-child, + caption + tbody tr:first-child td:first-child, + colgroup + thead tr:first-child th:first-child, + colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + } + caption + thead tr:first-child th:last-child, + caption + tbody tr:first-child td:last-child, + colgroup + thead tr:first-child th:last-child, + colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-right-topleft: 4px; + } + } + + // ZEBRA-STRIPING // -------------- // Default zebra-stripe styles (alternating gray and transparent backgrounds) .table-striped { tbody { - tr:nth-child(odd) td, tr:nth-child(odd) th { + tr:nth-child(odd) td, + tr:nth-child(odd) th { background-color: $tableBackgroundAccent; } } @@ -118,16 +158,47 @@ table { // HOVER EFFECT // ------------ // Placed here since it has to come after the potential zebra striping -.table { - tbody tr:hover td, tbody tr:hover th { - background-color: $tableBackgroundHover; +.table-hover { + tbody { + tr:hover td, + tr:hover th { + background-color: $tableBackgroundHover; + } } } + // TABLE CELL SIZING // ----------------- + +// Reset default grid behavior +table [class*=span], +.row-fluid table [class*=span] { + display: table-cell; + float: none; // undo default grid column styles + margin-left: 0; // undo default grid column styles +} + +// Change the column widths to account for td/th padding table { @for $i from 1 through $gridColumns { .span#{$i} { @include tableColumns($i); } } -}
\ No newline at end of file +} + + +// TABLE BACKGROUNDS +// ----------------- +// Exact selectors below required to override .table-striped + +.table { + tbody tr.success td { + background-color: $successBackground; + } + tbody tr.error td { + background-color: $errorBackground; + } + tbody tr.info td { + background-color: $infoBackground; + } +} diff --git a/vendor/assets/stylesheets/bootstrap/_thumbnails.scss b/vendor/assets/stylesheets/bootstrap/_thumbnails.scss index 93f2ce63..22af505c 100644 --- a/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +++ b/vendor/assets/stylesheets/bootstrap/_thumbnails.scss @@ -1,5 +1,8 @@ -// THUMBNAILS -// ---------- +// +// Thumbnails +// -------------------------------------------------- + + // Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files // Make wrapper ul behave like the grid @@ -15,8 +18,6 @@ // Float li to make thumbnails appear in a row .thumbnails > li { - float: left; - margin: 0 0 $baseLineHeight $gridGutterWidth; float: left; // Explicity set the float since we don't require .span* classes margin-bottom: $baseLineHeight; margin-left: $gridGutterWidth; @@ -26,17 +27,18 @@ .thumbnail { display: block; padding: 4px; - line-height: 1; + line-height: $baseLineHeight; border: 1px solid #ddd; @include border-radius(4px); - @include box-shadow(0 1px 1px rgba(0,0,0,.075)); + @include box-shadow(0 1px 3px rgba(0,0,0,.055)); + @include transition(all .2s ease-in-out); } - // 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; @@ -46,4 +48,5 @@ a.thumbnail:hover { } .thumbnail .caption { padding: 9px; + color: $gray; }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_tooltip.scss b/vendor/assets/stylesheets/bootstrap/_tooltip.scss index 488dc63f..42f084a9 100644 --- a/vendor/assets/stylesheets/bootstrap/_tooltip.scss +++ b/vendor/assets/stylesheets/bootstrap/_tooltip.scss @@ -1,6 +1,9 @@ -// TOOLTIP -// ------= +// +// Tooltips +// -------------------------------------------------- + +// Base class .tooltip { position: absolute; z-index: $zindexTooltip; @@ -10,26 +13,58 @@ font-size: 11px; @include opacity(0); &.in { @include opacity(0.8); } - &.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(); } + &.top { margin-top: -3px; } + &.right { margin-left: 3px; } + &.bottom { margin-top: 3px; } + &.left { margin-left: -3px; } } + +// Wrapper for the tooltip content .tooltip-inner { max-width: 200px; padding: 3px 8px; - color: $white; + color: $tooltipColor; text-align: center; text-decoration: none; - background-color: $black; + background-color: $tooltipBackground; @include border-radius(4px); } + +// Arrows .tooltip-arrow { position: absolute; width: 0; height: 0; + border-color: transparent; + border-style: solid; } +.tooltip { + &.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -$tooltipArrowWidth; + border-width: $tooltipArrowWidth $tooltipArrowWidth 0; + border-top-color: $tooltipArrowColor; + } + &.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -$tooltipArrowWidth; + border-width: $tooltipArrowWidth $tooltipArrowWidth $tooltipArrowWidth 0; + border-right-color: $tooltipArrowColor; + } + &.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -$tooltipArrowWidth; + border-width: $tooltipArrowWidth 0 $tooltipArrowWidth $tooltipArrowWidth; + border-left-color: $tooltipArrowColor; + } + &.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -$tooltipArrowWidth; + border-width: 0 $tooltipArrowWidth $tooltipArrowWidth; + border-bottom-color: $tooltipArrowColor; + } +}
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_type.scss b/vendor/assets/stylesheets/bootstrap/_type.scss index 8bebb845..1eaf3ac9 100644 --- a/vendor/assets/stylesheets/bootstrap/_type.scss +++ b/vendor/assets/stylesheets/bootstrap/_type.scss @@ -1,17 +1,13 @@ -// Typography.less -// Headings, body text, lists, code, and more for a versatile and durable typography system -// ---------------------------------------------------------------------------------------- +// +// Typography +// -------------------------------------------------- -// BODY TEXT -// --------- +// Body text +// ------------------------- p { margin: 0 0 $baseLineHeight / 2; - small { - font-size: $baseFontSize - 2; - color: $grayLight; - } } .lead { margin-bottom: $baseLineHeight; @@ -20,92 +16,86 @@ p { line-height: $baseLineHeight * 1.5; } -// HEADINGS -// -------- + +// Emphasis & misc +// ------------------------- + +small { + font-size: 85%; // Ex: 14px base font * 85% = about 12px +} +strong { + font-weight: bold; +} +em { + font-style: italic; +} +cite { + font-style: normal; +} +.muted { + color: $grayLight; +} + + +// Headings +// ------------------------- h1, h2, h3, h4, h5, h6 { - margin: 0; + margin: ($baseLineHeight / 2) 0; font-family: $headingsFontFamily; font-weight: $headingsFontWeight; + line-height: 1; color: $headingsColor; text-rendering: optimizelegibility; // Fix the character spacing for headings small { font-weight: normal; + line-height: 1; color: $grayLight; } } -h1 { - font-size: 30px; - line-height: $baseLineHeight * 2; - small { - font-size: 18px; - } -} -h2 { - font-size: 24px; - line-height: $baseLineHeight * 2; - small { - font-size: 18px; - } -} -h3 { - font-size: 18px; - line-height: $baseLineHeight * 1.5; - small { - font-size: 14px; - } -} -h4, h5, h6 { - line-height: $baseLineHeight; -} -h4 { - font-size: 14px; - small { - font-size: 12px; - } -} -h5 { - font-size: 12px; -} -h6 { - font-size: 11px; - color: $grayLight; - text-transform: uppercase; -} +h1 { font-size: 36px; line-height: 40px; } +h2 { font-size: 30px; line-height: 40px; } +h3 { font-size: 24px; line-height: 40px; } +h4 { font-size: 18px; line-height: 20px; } +h5 { font-size: 14px; line-height: 20px; } +h6 { font-size: 12px; line-height: 20px; } + +h1 small { font-size: 24px; } +h2 small { font-size: 18px; } +h3 small { font-size: 14px; } +h4 small { font-size: 14px; } + // Page header +// ------------------------- + .page-header { - padding-bottom: $baseLineHeight - 1; - margin: $baseLineHeight 0; + padding-bottom: ($baseLineHeight / 2) - 1; + margin: $baseLineHeight 0 ($baseLineHeight * 1.5); border-bottom: 1px solid $grayLighter; } -.page-header h1 { - line-height: 1; -} -// LISTS -// ----- +// Lists +// -------------------------------------------------- // Unordered and Ordered lists ul, ol { padding: 0; margin: 0 0 $baseLineHeight / 2 25px; } -ul ul, ul ol, ol ol, ol ul { +ul ul, +ul ol, +ol ol, +ol ul { margin-bottom: 0; } -ul { - list-style: disc; -} -ol { - list-style: decimal; -} li { line-height: $baseLineHeight; } -ul.unstyled, ol.unstyled { +ul.unstyled, +ol.unstyled { margin-left: 0; list-style: none; } @@ -114,12 +104,12 @@ ul.unstyled, ol.unstyled { dl { margin-bottom: $baseLineHeight; } -dt, dd { +dt, +dd { line-height: $baseLineHeight; } dt { font-weight: bold; - line-height: $baseLineHeight - 1; // fix jank Helvetica Neue font bug } dd { margin-left: $baseLineHeight / 2; @@ -149,23 +139,11 @@ hr { border-bottom: 1px solid $white; } -// Emphasis -strong { - font-weight: bold; -} -em { - font-style: italic; -} -.muted { - color: $grayLight; -} - // Abbreviations and acronyms abbr[title] { cursor: help; border-bottom: 1px dotted $grayLight; } - abbr.initialism { font-size: 90%; text-transform: uppercase; @@ -196,14 +174,26 @@ blockquote { padding-left: 0; border-right: 5px solid $grayLighter; border-left: 0; - p, small { + p, + small { text-align: right; } + small { + &:before { + content: ''; + } + &:after { + content: '\00A0 \2014'; + } + } } } // Quotes -q:before, q:after, blockquote:before, blockquote:after { +q:before, +q:after, +blockquote:before, +blockquote:after { content: ""; } @@ -213,12 +203,4 @@ address { margin-bottom: $baseLineHeight; font-style: normal; line-height: $baseLineHeight; -} - -// 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 index 2171f61a..5771b3f4 100644 --- a/vendor/assets/stylesheets/bootstrap/_utilities.scss +++ b/vendor/assets/stylesheets/bootstrap/_utilities.scss @@ -1,5 +1,7 @@ -// UTILITY CLASSES -// --------------- +// +// Utility classes +// -------------------------------------------------- + // Quick floats .pull-right { @@ -20,4 +22,9 @@ // Visibility .invisible { visibility: hidden; +} + +// For Affix plugin +.affix { + position: fixed; }
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_variables.scss b/vendor/assets/stylesheets/bootstrap/_variables.scss index 37c3d89c..5af75e39 100644 --- a/vendor/assets/stylesheets/bootstrap/_variables.scss +++ b/vendor/assets/stylesheets/bootstrap/_variables.scss @@ -1,12 +1,12 @@ -// Variables.less -// Variables to customize the look and feel of Bootstrap -// ----------------------------------------------------- - +// +// Variables +// -------------------------------------------------- -// GLOBAL VALUES +// Global values // -------------------------------------------------- + // Grays // ------------------------- $black: #000 !default; @@ -19,7 +19,7 @@ $white: #fff !default; // Accent colors -// ---------------------------- +// ------------------------- $blue: #049cdb !default; $blueDark: #0064cd !default; $green: #46a546 !default; @@ -29,30 +29,33 @@ $orange: #f89406 !default; $pink: #c3325f !default; $purple: #7a43b6 !default; + // Scaffolding // ------------------------- $bodyBackground: $white !default; $textColor: $grayDark !default; + // Links // ------------------------- $linkColor: #08c !default; $linkColorHover: darken($linkColor, 15%) !default; + // Typography // ------------------------- $sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif !default; $serifFontFamily: Georgia, "Times New Roman", Times, serif !default; -$monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace !default; +$monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace !default; -$baseFontSize: 13px !default; +$baseFontSize: 14px !default; $baseFontFamily: $sansFontFamily !default; -$baseLineHeight: 18px !default; +$baseLineHeight: 20px !default; $altFontFamily: $serifFontFamily !default; -$headingsFontFamily: inherit !default; // empty to use BS default, @baseFontFamily +$headingsFontFamily: inherit !default; // empty to use BS default, $baseFontFamily $headingsFontWeight: bold !default; // instead of browser default, bold -$headingsColor: inherit !default; // empty to use BS default, @textColor +$headingsColor: inherit !default; // empty to use BS default, $textColor // Tables @@ -62,14 +65,15 @@ $tableBackgroundAccent: #f9f9f9 !default; // for striping $tableBackgroundHover: #f5f5f5 !default; // for hover $tableBorder: #ddd !default; // table and cell border + // Buttons // ------------------------- $btnBackground: $white !default; $btnBackgroundHighlight: darken($white, 10%) !default; -$btnBorder: #ccc !default; +$btnBorder: #bbb !default; $btnPrimaryBackground: $linkColor !default; -$btnPrimaryBackgroundHighlight: adjust-hue($btnPrimaryBackground, 15%) !default; +$btnPrimaryBackgroundHighlight: adjust-hue($btnPrimaryBackground, 20%) !default; $btnInfoBackground: #5bc0de !default; $btnInfoBackgroundHighlight: #2f96b4 !default; @@ -83,9 +87,10 @@ $btnWarningBackgroundHighlight: $orange !default; $btnDangerBackground: #ee5f5b !default; $btnDangerBackgroundHighlight: #bd362f !default; -$btnInverseBackground: $gray !default; +$btnInverseBackground: #444 !default; $btnInverseBackgroundHighlight: $grayDarker !default; + // Forms // ------------------------- $inputBackground: $white !default; @@ -94,17 +99,21 @@ $inputBorderRadius: 3px !default; $inputDisabledBackground: $grayLighter !default; $formActionsBackground: #f5f5f5 !default; - // Dropdowns // ------------------------- $dropdownBackground: $white !default; $dropdownBorder: rgba(0,0,0,.2) !default; +$dropdownDividerTop: #e5e5e5 !default; +$dropdownDividerBottom: $white !default; + $dropdownLinkColor: $grayDark !default; + +$dropdownLinkColorActive: $dropdownLinkColor !default; +$dropdownLinkBackgroundActive: $linkColor !default; + $dropdownLinkColorHover: $white !default; -$dropdownLinkBackgroundHover: $linkColor !default; +$dropdownLinkBackgroundHover: $dropdownLinkBackgroundActive !default; -$dropdownDividerTop: #e5e5e5 !default; -$dropdownDividerBottom: $white !default; // COMPONENT VARIABLES @@ -116,7 +125,7 @@ $dropdownDividerBottom: $white !default; // Try to avoid customizing these :) $zindexDropdown: 1000 !default; $zindexPopover: 1010 !default; -$zindexTooltip: 1020 !default; +$zindexTooltip: 1030 !default; $zindexFixedNavbar: 1030 !default; $zindexModalBackdrop: 1040 !default; $zindexModal: 1050 !default; @@ -138,25 +147,55 @@ $placeholderText: $grayLight !default; $hrBorder: $grayLighter !default; +// Wells +// ------------------------- +$wellBackground: #f5f5f5 !default; + + // Navbar // ------------------------- -$navbarHeight: 40px !default; -$navbarBackground: $grayDarker !default; -$navbarBackgroundHighlight: $grayDark !default; +$navbarCollapseWidth: 979px !default; -$navbarText: $grayLight !default; -$navbarLinkColor: $grayLight !default; -$navbarLinkColorHover: $white !default; -$navbarLinkColorActive: $navbarLinkColorHover !default; +$navbarHeight: 40px !default; +$navbarBackgroundHighlight: #ffffff !default; +$navbarBackground: darken($navbarBackgroundHighlight, 5%) !default; +$navbarBorder: darken($navbarBackground, 12%) !default; + +$navbarText: $gray !default; +$navbarLinkColor: $gray !default; +$navbarLinkColorHover: $grayDark !default; +$navbarLinkColorActive: $gray !default; $navbarLinkBackgroundHover: transparent !default; -$navbarLinkBackgroundActive: $navbarBackground !default; +$navbarLinkBackgroundActive: darken($navbarBackground, 5%) !default; -$navbarSearchBackground: lighten($navbarBackground, 25%) !default; -$navbarSearchBackgroundFocus: $white !default; -$navbarSearchBorder: darken($navbarSearchBackground, 30%) !default; -$navbarSearchPlaceholderColor: #ccc !default; $navbarBrandColor: $navbarLinkColor !default; +// Inverted navbar +$navbarInverseBackground: #111111 !default; +$navbarInverseBackgroundHighlight: #222222 !default; +$navbarInverseBorder: #252525 !default; + +$navbarInverseText: $grayLight !default; +$navbarInverseLinkColor: $grayLight !default; +$navbarInverseLinkColorHover: $white !default; +$navbarInverseLinkColorActive: $navbarInverseLinkColorHover !default; +$navbarInverseLinkBackgroundHover: transparent !default; +$navbarInverseLinkBackgroundActive: $navbarInverseBackground !default; + +$navbarInverseSearchBackground: lighten($navbarInverseBackground, 25%) !default; +$navbarInverseSearchBackgroundFocus: $white !default; +$navbarInverseSearchBorder: $navbarInverseBackground !default; +$navbarInverseSearchPlaceholderColor: #ccc !default; + +$navbarInverseBrandColor: $navbarInverseLinkColor !default; + + +// Pagination +// ------------------------- +$paginationBackground: #fff !default; +$paginationBorder: #ddd !default; +$paginationActiveBackground: #f5f5f5 !default; + // Hero unit // ------------------------- @@ -184,54 +223,55 @@ $infoBackground: #d9edf7 !default; $infoBorder: darken(adjust-hue($infoBackground, -10), 7%) !default; -// FIXED GRID -// -------------------------------------------------- - -// Default, 940px +// Tooltips and popovers // ------------------------- -$gridColumns: 12 !default; -$gridColumnWidth: 60px !default; -$gridGutterWidth: 20px !default; -$gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1)) !default; +$tooltipColor: #fff !default; +$tooltipBackground: #000 !default; +$tooltipArrowWidth: 5px !default; +$tooltipArrowColor: $tooltipBackground !default; -// Portrait tablet to default desktop -// ------------------------- -$gridColumnWidthTablet: 42px !default; -$gridGutterWidthTablet: 20px !default; +$popoverBackground: #fff !default; +$popoverArrowWidth: 10px !default; +$popoverArrowColor: #fff !default; +$popoverTitleBackground: darken($popoverBackground, 3%) !default; -// Large desktop and up -// ------------------------- -$gridColumnWidthLarge: 70px !default; -$gridGutterWidthLarge: 30px !default; +// Special enhancement for popovers +$popoverArrowOuterWidth: $popoverArrowWidth + 1 !default; +$popoverArrowOuterColor: rgba(0,0,0,.25) !default; -// FLUID GRID -// -------------------------------------------------- -// Default -// ------------------------- -$fluidGridColumnWidth: 6.382978723% !default; -$fluidGridGutterWidth: 2.127659574% !default; +// GRID +// -------------------------------------------------- -// Portrait tablet to default desktop -// ------------------------- -$fluidGridColumnWidthTablet: 5.801104972% !default; -$fluidGridGutterWidthTablet: 2.762430939% !default; -// Large desktop and up +// Default 940px grid // ------------------------- -$fluidGridColumnWidthLarge: 5.982905983% !default; -$fluidGridGutterWidthLarge: 2.564102564% !default; +$gridColumns: 12 !default; +$gridColumnWidth: 60px !default; +$gridGutterWidth: 20px !default; +$gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1)) !default; +// 1200px min +$gridColumnWidth1200: 70px !default; +$gridGutterWidth1200: 30px !default; +$gridRowWidth1200: ($gridColumns * $gridColumnWidth1200) + ($gridGutterWidth1200 * ($gridColumns - 1)) !default; +// 768px-979px +$gridColumnWidth768: 42px !default; +$gridGutterWidth768: 20px !default; +$gridRowWidth768: ($gridColumns * $gridColumnWidth768) + ($gridGutterWidth768 * ($gridColumns - 1)) !default; -// RESPONSIVE DESIGN -// -------------------------------------------------- -// Media widths +// Fluid grid // ------------------------- -// Not supported Sass < 3.2 :( -// $mediaPhone: 480px !default; -// $mediaTablet: 768px !default; -// $mediaDesktop: 980px !default; -// $mediaLarge: 1200px !default; // and upper +$fluidGridColumnWidth: percentage($gridColumnWidth/$gridRowWidth) !default; +$fluidGridGutterWidth: percentage($gridGutterWidth/$gridRowWidth) !default; + +// 1200px min +$fluidGridColumnWidth1200: percentage($gridColumnWidth1200/$gridRowWidth1200) !default; +$fluidGridGutterWidth1200: percentage($gridGutterWidth1200/$gridRowWidth1200) !default; + +// 768px-979px +$fluidGridColumnWidth768: percentage($gridColumnWidth768/$gridRowWidth768) !default; +$fluidGridGutterWidth768: percentage($gridGutterWidth768/$gridRowWidth768) !default;
\ No newline at end of file diff --git a/vendor/assets/stylesheets/bootstrap/_wells.scss b/vendor/assets/stylesheets/bootstrap/_wells.scss index 21889b83..14b81622 100644 --- a/vendor/assets/stylesheets/bootstrap/_wells.scss +++ b/vendor/assets/stylesheets/bootstrap/_wells.scss @@ -1,13 +1,15 @@ -// WELLS -// ----- +// +// Wells +// -------------------------------------------------- + +// Base class .well { min-height: 20px; padding: 19px; margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #eee; - border: 1px solid rgba(0,0,0,.05); + background-color: $wellBackground; + border: 1px solid darken($wellBackground, 7%); @include border-radius(4px); @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); blockquote { @@ -18,7 +20,7 @@ // Sizes .well-large { - padding:24px; + padding: 24px; @include border-radius(6px); } .well-small { |