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

github.com/twbs/bootstrap-sass.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Mazovetskiy <glex.spb@gmail.com>2018-04-18 01:42:39 +0300
committerGleb Mazovetskiy <glex.spb@gmail.com>2018-12-14 15:16:04 +0300
commit8c0b5db239cc5af72882d662decbd39fabefce64 (patch)
tree37e7410d35242eced80d174f8e31d47528b25a5f
parent92aa0c8b4631d7b0af6071f9c0aa08d49593678c (diff)
rake convert[v3.4.0-dev]
-rw-r--r--assets/javascripts/bootstrap-sprockets.js6
-rw-r--r--assets/javascripts/bootstrap.js77
-rw-r--r--assets/javascripts/bootstrap.min.js8
-rw-r--r--assets/javascripts/bootstrap/affix.js4
-rw-r--r--assets/javascripts/bootstrap/alert.js7
-rw-r--r--assets/javascripts/bootstrap/button.js4
-rw-r--r--assets/javascripts/bootstrap/carousel.js19
-rw-r--r--assets/javascripts/bootstrap/collapse.js6
-rw-r--r--assets/javascripts/bootstrap/dropdown.js6
-rw-r--r--assets/javascripts/bootstrap/modal.js9
-rw-r--r--assets/javascripts/bootstrap/popover.js4
-rw-r--r--assets/javascripts/bootstrap/scrollspy.js4
-rw-r--r--assets/javascripts/bootstrap/tab.js4
-rw-r--r--assets/javascripts/bootstrap/tooltip.js4
-rw-r--r--assets/javascripts/bootstrap/transition.js2
-rw-r--r--assets/stylesheets/_bootstrap.scss2
-rw-r--r--assets/stylesheets/bootstrap/_alerts.scss3
-rw-r--r--assets/stylesheets/bootstrap/_badges.scss6
-rw-r--r--assets/stylesheets/bootstrap/_breadcrumbs.scss6
-rw-r--r--assets/stylesheets/bootstrap/_button-groups.scss10
-rw-r--r--assets/stylesheets/bootstrap/_buttons.scss8
-rw-r--r--assets/stylesheets/bootstrap/_carousel.scss55
-rw-r--r--assets/stylesheets/bootstrap/_code.scss6
-rw-r--r--assets/stylesheets/bootstrap/_component-animations.scss1
-rw-r--r--assets/stylesheets/bootstrap/_dropdowns.scss43
-rw-r--r--assets/stylesheets/bootstrap/_forms.scss103
-rw-r--r--assets/stylesheets/bootstrap/_glyphicons.scss546
-rw-r--r--assets/stylesheets/bootstrap/_grid.scss10
-rw-r--r--assets/stylesheets/bootstrap/_input-groups.scss4
-rw-r--r--assets/stylesheets/bootstrap/_jumbotron.scss10
-rw-r--r--assets/stylesheets/bootstrap/_labels.scss2
-rw-r--r--assets/stylesheets/bootstrap/_list-group.scss62
-rw-r--r--assets/stylesheets/bootstrap/_media.scss2
-rw-r--r--assets/stylesheets/bootstrap/_modals.scss12
-rw-r--r--assets/stylesheets/bootstrap/_navbar.scss38
-rw-r--r--assets/stylesheets/bootstrap/_navs.scss8
-rw-r--r--assets/stylesheets/bootstrap/_pager.scss4
-rw-r--r--assets/stylesheets/bootstrap/_pagination.scss27
-rw-r--r--assets/stylesheets/bootstrap/_panels.scss8
-rw-r--r--assets/stylesheets/bootstrap/_popovers.scss89
-rw-r--r--assets/stylesheets/bootstrap/_print.scss182
-rw-r--r--assets/stylesheets/bootstrap/_progress-bars.scss6
-rw-r--r--assets/stylesheets/bootstrap/_responsive-embed.scss4
-rw-r--r--assets/stylesheets/bootstrap/_scaffolding.scss12
-rw-r--r--assets/stylesheets/bootstrap/_tables.scss46
-rw-r--r--assets/stylesheets/bootstrap/_theme.scss36
-rw-r--r--assets/stylesheets/bootstrap/_thumbnails.scss2
-rw-r--r--assets/stylesheets/bootstrap/_tooltip.scss24
-rw-r--r--assets/stylesheets/bootstrap/_type.scss27
-rw-r--r--assets/stylesheets/bootstrap/_variables.scss16
-rw-r--r--assets/stylesheets/bootstrap/_wells.scss4
-rw-r--r--assets/stylesheets/bootstrap/mixins/_alerts.scss3
-rw-r--r--assets/stylesheets/bootstrap/mixins/_border-radius.scss8
-rw-r--r--assets/stylesheets/bootstrap/mixins/_buttons.scss16
-rw-r--r--assets/stylesheets/bootstrap/mixins/_center-block.scss2
-rw-r--r--assets/stylesheets/bootstrap/mixins/_clearfix.scss10
-rw-r--r--assets/stylesheets/bootstrap/mixins/_forms.scss8
-rw-r--r--assets/stylesheets/bootstrap/mixins/_gradients.scss14
-rw-r--r--assets/stylesheets/bootstrap/mixins/_grid-framework.scss2
-rw-r--r--assets/stylesheets/bootstrap/mixins/_grid.scss14
-rw-r--r--assets/stylesheets/bootstrap/mixins/_image.scss15
-rw-r--r--assets/stylesheets/bootstrap/mixins/_opacity.scss5
-rw-r--r--assets/stylesheets/bootstrap/mixins/_reset-text.scss8
-rw-r--r--assets/stylesheets/bootstrap/mixins/_resize.scss2
-rw-r--r--assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss4
-rw-r--r--assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss2
-rw-r--r--lib/bootstrap-sass/version.rb2
-rw-r--r--templates/project/_bootstrap-variables.sass16
68 files changed, 860 insertions, 859 deletions
diff --git a/assets/javascripts/bootstrap-sprockets.js b/assets/javascripts/bootstrap-sprockets.js
index fb01d63f..37468b35 100644
--- a/assets/javascripts/bootstrap-sprockets.js
+++ b/assets/javascripts/bootstrap-sprockets.js
@@ -1,12 +1,12 @@
-//= require ./bootstrap/transition
+//= require ./bootstrap/affix
//= require ./bootstrap/alert
//= require ./bootstrap/button
//= require ./bootstrap/carousel
//= require ./bootstrap/collapse
//= require ./bootstrap/dropdown
//= require ./bootstrap/modal
-//= require ./bootstrap/tab
-//= require ./bootstrap/affix
//= require ./bootstrap/scrollspy
+//= require ./bootstrap/tab
+//= require ./bootstrap/transition
//= require ./bootstrap/tooltip
//= require ./bootstrap/popover
diff --git a/assets/javascripts/bootstrap.js b/assets/javascripts/bootstrap.js
index 8a2e99a5..4d953c14 100644
--- a/assets/javascripts/bootstrap.js
+++ b/assets/javascripts/bootstrap.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
+ * Bootstrap v3.4.0 (http://getbootstrap.com)
+ * Copyright 2011-2018 Twitter, Inc.
* Licensed under the MIT license
*/
@@ -17,7 +17,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: transition.js v3.3.7
+ * Bootstrap: transition.js v3.4.0
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -77,7 +77,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: alert.js v3.3.7
+ * Bootstrap: alert.js v3.4.0
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
$(el).on('click', dismiss, this.close)
}
- Alert.VERSION = '3.3.7'
+ Alert.VERSION = '3.4.0'
Alert.TRANSITION_DURATION = 150
@@ -109,7 +109,8 @@ if (typeof jQuery === 'undefined') {
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
- var $parent = $(selector === '#' ? [] : selector)
+ selector = selector === '#' ? [] : selector
+ var $parent = $(document).find(selector)
if (e) e.preventDefault()
@@ -172,7 +173,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: button.js v3.3.7
+ * Bootstrap: button.js v3.4.0
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -192,7 +193,7 @@ if (typeof jQuery === 'undefined') {
this.isLoading = false
}
- Button.VERSION = '3.3.7'
+ Button.VERSION = '3.4.0'
Button.DEFAULTS = {
loadingText: 'loading...'
@@ -298,7 +299,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: carousel.js v3.3.7
+ * Bootstrap: carousel.js v3.4.0
* http://getbootstrap.com/javascript/#carousel
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -329,7 +330,7 @@ if (typeof jQuery === 'undefined') {
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
}
- Carousel.VERSION = '3.3.7'
+ Carousel.VERSION = '3.4.0'
Carousel.TRANSITION_DURATION = 600
@@ -443,7 +444,9 @@ if (typeof jQuery === 'undefined') {
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
if ($.support.transition && this.$element.hasClass('slide')) {
$next.addClass(type)
- $next[0].offsetWidth // force reflow
+ if (typeof $next === 'object' && $next.length) {
+ $next[0].offsetWidth // force reflow
+ }
$active.addClass(direction)
$next.addClass(direction)
$active
@@ -505,10 +508,17 @@ if (typeof jQuery === 'undefined') {
// =================
var clickHandler = function (e) {
- var href
var $this = $(this)
- var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+ var href = $this.attr('href')
+ if (href) {
+ href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+ }
+
+ var target = $this.attr('data-target') || href
+ var $target = $(document).find(target)
+
if (!$target.hasClass('carousel')) return
+
var options = $.extend({}, $target.data(), $this.data())
var slideIndex = $this.attr('data-slide-to')
if (slideIndex) options.interval = false
@@ -536,7 +546,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: collapse.js v3.3.7
+ * Bootstrap: collapse.js v3.4.0
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -567,7 +577,7 @@ if (typeof jQuery === 'undefined') {
if (this.options.toggle) this.toggle()
}
- Collapse.VERSION = '3.3.7'
+ Collapse.VERSION = '3.4.0'
Collapse.TRANSITION_DURATION = 350
@@ -697,7 +707,7 @@ if (typeof jQuery === 'undefined') {
var target = $trigger.attr('data-target')
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
- return $(target)
+ return $(document).find(target)
}
@@ -749,7 +759,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: dropdown.js v3.3.7
+ * Bootstrap: dropdown.js v3.4.0
* http://getbootstrap.com/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -769,7 +779,7 @@ if (typeof jQuery === 'undefined') {
$(element).on('click.bs.dropdown', this.toggle)
}
- Dropdown.VERSION = '3.3.7'
+ Dropdown.VERSION = '3.4.0'
function getParent($this) {
var selector = $this.attr('data-target')
@@ -779,7 +789,7 @@ if (typeof jQuery === 'undefined') {
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
- var $parent = selector && $(selector)
+ var $parent = selector && $(document).find(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
@@ -915,7 +925,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: modal.js v3.3.7
+ * Bootstrap: modal.js v3.4.0
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -949,7 +959,7 @@ if (typeof jQuery === 'undefined') {
}
}
- Modal.VERSION = '3.3.7'
+ Modal.VERSION = '3.4.0'
Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -1238,7 +1248,10 @@ if (typeof jQuery === 'undefined') {
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
var $this = $(this)
var href = $this.attr('href')
- var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+ var target = $this.attr('data-target') ||
+ (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+
+ var $target = $(document).find(target)
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
if ($this.is('a')) e.preventDefault()
@@ -1255,7 +1268,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: tooltip.js v3.3.7
+ * Bootstrap: tooltip.js v3.4.0
* http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame
* ========================================================================
@@ -1282,7 +1295,7 @@ if (typeof jQuery === 'undefined') {
this.init('tooltip', element, options)
}
- Tooltip.VERSION = '3.3.7'
+ Tooltip.VERSION = '3.4.0'
Tooltip.TRANSITION_DURATION = 150
@@ -1776,7 +1789,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: popover.js v3.3.7
+ * Bootstrap: popover.js v3.4.0
* http://getbootstrap.com/javascript/#popovers
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -1796,7 +1809,7 @@ if (typeof jQuery === 'undefined') {
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
- Popover.VERSION = '3.3.7'
+ Popover.VERSION = '3.4.0'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right',
@@ -1885,7 +1898,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.7
+ * Bootstrap: scrollspy.js v3.4.0
* http://getbootstrap.com/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -1914,7 +1927,7 @@ if (typeof jQuery === 'undefined') {
this.process()
}
- ScrollSpy.VERSION = '3.3.7'
+ ScrollSpy.VERSION = '3.4.0'
ScrollSpy.DEFAULTS = {
offset: 10
@@ -2058,7 +2071,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: tab.js v3.3.7
+ * Bootstrap: tab.js v3.4.0
* http://getbootstrap.com/javascript/#tabs
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -2078,7 +2091,7 @@ if (typeof jQuery === 'undefined') {
// jscs:enable requireDollarBeforejQueryAssignment
}
- Tab.VERSION = '3.3.7'
+ Tab.VERSION = '3.4.0'
Tab.TRANSITION_DURATION = 150
@@ -2214,7 +2227,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: affix.js v3.3.7
+ * Bootstrap: affix.js v3.4.0
* http://getbootstrap.com/javascript/#affix
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -2243,7 +2256,7 @@ if (typeof jQuery === 'undefined') {
this.checkPosition()
}
- Affix.VERSION = '3.3.7'
+ Affix.VERSION = '3.4.0'
Affix.RESET = 'affix affix-top affix-bottom'
diff --git a/assets/javascripts/bootstrap.min.js b/assets/javascripts/bootstrap.min.js
index 9bcd2fcc..a5f62912 100644
--- a/assets/javascripts/bootstrap.min.js
+++ b/assets/javascripts/bootstrap.min.js
@@ -1,7 +1 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
-this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(o){"use strict";o.fn.emulateTransitionEnd=function(t){var e=!1,i=this;o(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||o(i).trigger(o.support.transition.end)},t),this},o(function(){o.support.transition=function(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}(),o.support.transition&&(o.event.special.bsTransitionEnd={bindType:o.support.transition.end,delegateType:o.support.transition.end,handle:function(t){if(o(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){"use strict";var e='[data-dismiss="alert"]',a=function(t){s(t).on("click",e,this.close)};a.VERSION="3.4.0",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),i="#"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.closest(".alert")),o.trigger(t=s.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),s.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function(i){return this.each(function(){var t=s(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new a(this)),"string"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on("click.bs.alert.data-api",e,a.prototype.close)}(jQuery),function(s){"use strict";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new n(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}n.VERSION="3.4.0",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",n=i.data();t+="Text",null==n.resetText&&i.data("resetText",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=s(t.target).closest(".btn");i.call(e,"toggle"),s(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),e.is("input,button")?e.trigger("focus"):e.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){s(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){"use strict";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",p.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",p.proxy(this.pause,this)).on("mouseleave.bs.carousel",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data("bs.carousel"),i=p.extend({},c.DEFAULTS,t.data(),"object"==typeof n&&n),o="string"==typeof n?n:i.slide;e||t.data("bs.carousel",e=new c(this,i)),"number"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION="3.4.0",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?"next":"prev",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(t,e){var i=this.$element.find(".item.active"),o=e||this.getItemForDirection(t,i),n=this.interval,s="next"==t?"left":"right",a=this;if(o.hasClass("active"))return this.sliding=!1;var r=o[0],l=p.Event("slide.bs.carousel",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass("active")}var d=p.Event("slid.bs.carousel",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass("slide")?(o.addClass(t),"object"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr("href");i&&(i=i.replace(/.*(?=#[^\s]+$)/,""));var o=e.attr("data-target")||i,n=p(document).find(o);if(n.hasClass("carousel")){var s=p.extend({},n.data(),e.data()),a=e.attr("data-slide-to");a&&(s.interval=!1),r.call(n,s),a&&n.data("bs.carousel").to(a),t.preventDefault()}};p(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),p(window).on("load",function(){p('[data-ride="carousel"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){"use strict";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr("data-target")||(e=t.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data("bs.collapse"),i=a.extend({},r.DEFAULTS,t.data(),"object"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data("bs.collapse",e=new r(this,i)),"string"==typeof o&&e[o]()})}r.VERSION="3.4.0",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(t=e.data("bs.collapse"))&&t.transitioning)){var i=a.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,"hide"),t||e.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var n=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return n.call(this);var s=a.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=a.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!a.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e=a(this);e.attr("data-target")||t.preventDefault();var i=n(e),o=i.data("bs.collapse")?"toggle":e.data();l.call(i,o)})}(jQuery),function(a){"use strict";var t=".dropdown-backdrop",r='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i=e&&a(document).find(e);return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(t).remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass("open")&&(o&&"click"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event("hide.bs.dropdown",i)),o.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",i)))))}))}o.VERSION="3.4.0",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(s(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",s);var n={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(a.Event("shown.bs.dropdown",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger("focus"),e.trigger("click");var n=i.find(".dropdown-menu li:not(.disabled):visible a");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger("focus")}}}};var e=a.fn.dropdown;a.fn.dropdown=function(i){return this.each(function(){var t=a(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new o(this)),"string"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=e,this},a(document).on("click.bs.dropdown.data-api",s).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),function(a){"use strict";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data("bs.modal"),i=a.extend({},s.DEFAULTS,t.data(),"object"==typeof o&&o);e||t.data("bs.modal",e=new s(this,i)),"string"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION="3.4.0",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:i});t?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger("focus").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},s.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},s.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},s.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=a(this),i=e.attr("href"),o=e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,""),n=a(document).find(o),s=n.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is("a")&&t.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),r.call(n,s,this)})}(jQuery),function(g){"use strict";var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};m.VERSION="3.4.0",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){return(t=g.extend({},this.getDefaults(),this.$element.data(),t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d<c.top?"bottom":"right"==s&&l.right+h>c.width?"left":"left"==s&&l.left-h<c.left?"right":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass("in");var r=i[0].offsetWidth,l=i[0].offsetHeight;"top"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass("in"),g.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i="BODY"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var t=g.fn.tooltip;g.fn.tooltip=function(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=t,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.0",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype),(s.prototype.constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.0",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(void 0===n[t+1]||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=s(e).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on("load.bs.scrollspy.data-api",function(){s('[data-spy="scroll"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){"use strict";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data("bs.tab");e||t.data("bs.tab",e=new a(this)),"string"==typeof i&&e[i]()})}a.VERSION="3.4.0",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=e.find(".active:last a"),n=r.Event("hide.bs.tab",{relatedTarget:t[0]}),s=r.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(i);this.activate(t.closest("li"),e),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find("> .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e),this.$target=l(this.options.target).on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.0",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?"top":null!=o&&t-o<=l+(r?a:e)&&"bottom"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());"object"!=typeof e&&(o=i=e),"function"==typeof i&&(i=e.top(this.$element)),"function"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var a="affix"+(s?"-"+s:""),r=l.Event(a+".bs.affix");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on("load",function(){l('[data-spy="affix"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery); \ No newline at end of file
diff --git a/assets/javascripts/bootstrap/affix.js b/assets/javascripts/bootstrap/affix.js
index 7f651681..b86bc4f3 100644
--- a/assets/javascripts/bootstrap/affix.js
+++ b/assets/javascripts/bootstrap/affix.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: affix.js v3.3.7
+ * Bootstrap: affix.js v3.4.0
* http://getbootstrap.com/javascript/#affix
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -28,7 +28,7 @@
this.checkPosition()
}
- Affix.VERSION = '3.3.7'
+ Affix.VERSION = '3.4.0'
Affix.RESET = 'affix affix-top affix-bottom'
diff --git a/assets/javascripts/bootstrap/alert.js b/assets/javascripts/bootstrap/alert.js
index db97f3b0..2052d1ad 100644
--- a/assets/javascripts/bootstrap/alert.js
+++ b/assets/javascripts/bootstrap/alert.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: alert.js v3.3.7
+ * Bootstrap: alert.js v3.4.0
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -18,7 +18,7 @@
$(el).on('click', dismiss, this.close)
}
- Alert.VERSION = '3.3.7'
+ Alert.VERSION = '3.4.0'
Alert.TRANSITION_DURATION = 150
@@ -31,7 +31,8 @@
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
- var $parent = $(selector === '#' ? [] : selector)
+ selector = selector === '#' ? [] : selector
+ var $parent = $(document).find(selector)
if (e) e.preventDefault()
diff --git a/assets/javascripts/bootstrap/button.js b/assets/javascripts/bootstrap/button.js
index 843b39c9..e18b8aea 100644
--- a/assets/javascripts/bootstrap/button.js
+++ b/assets/javascripts/bootstrap/button.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: button.js v3.3.7
+ * Bootstrap: button.js v3.4.0
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -19,7 +19,7 @@
this.isLoading = false
}
- Button.VERSION = '3.3.7'
+ Button.VERSION = '3.4.0'
Button.DEFAULTS = {
loadingText: 'loading...'
diff --git a/assets/javascripts/bootstrap/carousel.js b/assets/javascripts/bootstrap/carousel.js
index 6ff954c9..bf780fb2 100644
--- a/assets/javascripts/bootstrap/carousel.js
+++ b/assets/javascripts/bootstrap/carousel.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: carousel.js v3.3.7
+ * Bootstrap: carousel.js v3.4.0
* http://getbootstrap.com/javascript/#carousel
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -30,7 +30,7 @@
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
}
- Carousel.VERSION = '3.3.7'
+ Carousel.VERSION = '3.4.0'
Carousel.TRANSITION_DURATION = 600
@@ -144,7 +144,9 @@
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
if ($.support.transition && this.$element.hasClass('slide')) {
$next.addClass(type)
- $next[0].offsetWidth // force reflow
+ if (typeof $next === 'object' && $next.length) {
+ $next[0].offsetWidth // force reflow
+ }
$active.addClass(direction)
$next.addClass(direction)
$active
@@ -206,10 +208,17 @@
// =================
var clickHandler = function (e) {
- var href
var $this = $(this)
- var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+ var href = $this.attr('href')
+ if (href) {
+ href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+ }
+
+ var target = $this.attr('data-target') || href
+ var $target = $(document).find(target)
+
if (!$target.hasClass('carousel')) return
+
var options = $.extend({}, $target.data(), $this.data())
var slideIndex = $this.attr('data-slide-to')
if (slideIndex) options.interval = false
diff --git a/assets/javascripts/bootstrap/collapse.js b/assets/javascripts/bootstrap/collapse.js
index 12038693..fcf8f3cb 100644
--- a/assets/javascripts/bootstrap/collapse.js
+++ b/assets/javascripts/bootstrap/collapse.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: collapse.js v3.3.7
+ * Bootstrap: collapse.js v3.4.0
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -30,7 +30,7 @@
if (this.options.toggle) this.toggle()
}
- Collapse.VERSION = '3.3.7'
+ Collapse.VERSION = '3.4.0'
Collapse.TRANSITION_DURATION = 350
@@ -160,7 +160,7 @@
var target = $trigger.attr('data-target')
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
- return $(target)
+ return $(document).find(target)
}
diff --git a/assets/javascripts/bootstrap/dropdown.js b/assets/javascripts/bootstrap/dropdown.js
index 04e9c2de..c193f11d 100644
--- a/assets/javascripts/bootstrap/dropdown.js
+++ b/assets/javascripts/bootstrap/dropdown.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: dropdown.js v3.3.7
+ * Bootstrap: dropdown.js v3.4.0
* http://getbootstrap.com/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -19,7 +19,7 @@
$(element).on('click.bs.dropdown', this.toggle)
}
- Dropdown.VERSION = '3.3.7'
+ Dropdown.VERSION = '3.4.0'
function getParent($this) {
var selector = $this.attr('data-target')
@@ -29,7 +29,7 @@
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
- var $parent = selector && $(selector)
+ var $parent = selector && $(document).find(selector)
return $parent && $parent.length ? $parent : $this.parent()
}
diff --git a/assets/javascripts/bootstrap/modal.js b/assets/javascripts/bootstrap/modal.js
index f84142d8..329be053 100644
--- a/assets/javascripts/bootstrap/modal.js
+++ b/assets/javascripts/bootstrap/modal.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: modal.js v3.3.7
+ * Bootstrap: modal.js v3.4.0
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -33,7 +33,7 @@
}
}
- Modal.VERSION = '3.3.7'
+ Modal.VERSION = '3.4.0'
Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -322,7 +322,10 @@
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
var $this = $(this)
var href = $this.attr('href')
- var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+ var target = $this.attr('data-target') ||
+ (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+
+ var $target = $(document).find(target)
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
if ($this.is('a')) e.preventDefault()
diff --git a/assets/javascripts/bootstrap/popover.js b/assets/javascripts/bootstrap/popover.js
index efe19567..a61f2b8d 100644
--- a/assets/javascripts/bootstrap/popover.js
+++ b/assets/javascripts/bootstrap/popover.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: popover.js v3.3.7
+ * Bootstrap: popover.js v3.4.0
* http://getbootstrap.com/javascript/#popovers
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -19,7 +19,7 @@
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
- Popover.VERSION = '3.3.7'
+ Popover.VERSION = '3.4.0'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right',
diff --git a/assets/javascripts/bootstrap/scrollspy.js b/assets/javascripts/bootstrap/scrollspy.js
index fe198095..fd3e9aff 100644
--- a/assets/javascripts/bootstrap/scrollspy.js
+++ b/assets/javascripts/bootstrap/scrollspy.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.7
+ * Bootstrap: scrollspy.js v3.4.0
* http://getbootstrap.com/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -28,7 +28,7 @@
this.process()
}
- ScrollSpy.VERSION = '3.3.7'
+ ScrollSpy.VERSION = '3.4.0'
ScrollSpy.DEFAULTS = {
offset: 10
diff --git a/assets/javascripts/bootstrap/tab.js b/assets/javascripts/bootstrap/tab.js
index c4a86354..990c25be 100644
--- a/assets/javascripts/bootstrap/tab.js
+++ b/assets/javascripts/bootstrap/tab.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: tab.js v3.3.7
+ * Bootstrap: tab.js v3.4.0
* http://getbootstrap.com/javascript/#tabs
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
@@ -19,7 +19,7 @@
// jscs:enable requireDollarBeforejQueryAssignment
}
- Tab.VERSION = '3.3.7'
+ Tab.VERSION = '3.4.0'
Tab.TRANSITION_DURATION = 150
diff --git a/assets/javascripts/bootstrap/tooltip.js b/assets/javascripts/bootstrap/tooltip.js
index e35d9c7c..968a9787 100644
--- a/assets/javascripts/bootstrap/tooltip.js
+++ b/assets/javascripts/bootstrap/tooltip.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: tooltip.js v3.3.7
+ * Bootstrap: tooltip.js v3.4.0
* http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame
* ========================================================================
@@ -26,7 +26,7 @@
this.init('tooltip', element, options)
}
- Tooltip.VERSION = '3.3.7'
+ Tooltip.VERSION = '3.4.0'
Tooltip.TRANSITION_DURATION = 150
diff --git a/assets/javascripts/bootstrap/transition.js b/assets/javascripts/bootstrap/transition.js
index db76596e..18013205 100644
--- a/assets/javascripts/bootstrap/transition.js
+++ b/assets/javascripts/bootstrap/transition.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: transition.js v3.3.7
+ * Bootstrap: transition.js v3.4.0
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
diff --git a/assets/stylesheets/_bootstrap.scss b/assets/stylesheets/_bootstrap.scss
index e72d1def..201fb017 100644
--- a/assets/stylesheets/_bootstrap.scss
+++ b/assets/stylesheets/_bootstrap.scss
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Bootstrap v3.4.0 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
diff --git a/assets/stylesheets/bootstrap/_alerts.scss b/assets/stylesheets/bootstrap/_alerts.scss
index 7d1e1fdd..beecbc10 100644
--- a/assets/stylesheets/bootstrap/_alerts.scss
+++ b/assets/stylesheets/bootstrap/_alerts.scss
@@ -15,8 +15,7 @@
// Headings for larger alerts
h4 {
margin-top: 0;
- // Specified for the h4 to prevent conflicts of changing $headings-color
- color: inherit;
+ color: inherit; // Specified for the h4 to prevent conflicts of changing $headings-color
}
// Provide class for links that match alerts
diff --git a/assets/stylesheets/bootstrap/_badges.scss b/assets/stylesheets/bootstrap/_badges.scss
index 70002e08..44d5dd6f 100644
--- a/assets/stylesheets/bootstrap/_badges.scss
+++ b/assets/stylesheets/bootstrap/_badges.scss
@@ -10,11 +10,11 @@
padding: 3px 7px;
font-size: $font-size-small;
font-weight: $badge-font-weight;
- color: $badge-color;
line-height: $badge-line-height;
- vertical-align: middle;
- white-space: nowrap;
+ color: $badge-color;
text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
background-color: $badge-bg;
border-radius: $badge-border-radius;
diff --git a/assets/stylesheets/bootstrap/_breadcrumbs.scss b/assets/stylesheets/bootstrap/_breadcrumbs.scss
index b61f0c73..535b7d8e 100644
--- a/assets/stylesheets/bootstrap/_breadcrumbs.scss
+++ b/assets/stylesheets/bootstrap/_breadcrumbs.scss
@@ -13,12 +13,12 @@
> li {
display: inline-block;
- + li:before {
+ + li::before {
+ padding: 0 5px;
+ color: $breadcrumb-color;
// [converter] Workaround for https://github.com/sass/libsass/issues/1115
$nbsp: "\00a0";
content: "#{$breadcrumb-separator}#{$nbsp}"; // Unicode space added since inline-block means non-collapsing white-space
- padding: 0 5px;
- color: $breadcrumb-color;
}
}
diff --git a/assets/stylesheets/bootstrap/_button-groups.scss b/assets/stylesheets/bootstrap/_button-groups.scss
index 4b385f56..6a62faf5 100644
--- a/assets/stylesheets/bootstrap/_button-groups.scss
+++ b/assets/stylesheets/bootstrap/_button-groups.scss
@@ -103,18 +103,18 @@
// Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle {
- padding-left: 8px;
padding-right: 8px;
+ padding-left: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
- padding-left: 12px;
padding-right: 12px;
+ padding-left: 12px;
}
// The clickable button for toggling the menu
// Remove the gradient and set the same inset shadow as the :active state
.btn-group.open .dropdown-toggle {
- @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+ @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));
// Show no shadow for `.btn-link` since it has no other button styles.
&.btn-link {
@@ -205,8 +205,8 @@
border-collapse: separate;
> .btn,
> .btn-group {
- float: none;
display: table-cell;
+ float: none;
width: 1%;
}
> .btn-group .btn {
@@ -237,7 +237,7 @@
input[type="radio"],
input[type="checkbox"] {
position: absolute;
- clip: rect(0,0,0,0);
+ clip: rect(0, 0, 0, 0);
pointer-events: none;
}
}
diff --git a/assets/stylesheets/bootstrap/_buttons.scss b/assets/stylesheets/bootstrap/_buttons.scss
index 6452b709..62962d78 100644
--- a/assets/stylesheets/bootstrap/_buttons.scss
+++ b/assets/stylesheets/bootstrap/_buttons.scss
@@ -11,12 +11,12 @@
margin-bottom: 0; // For input.btn
font-weight: $btn-font-weight;
text-align: center;
+ white-space: nowrap;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid transparent;
- white-space: nowrap;
@include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base);
@include user-select(none);
@@ -38,9 +38,9 @@
&:active,
&.active {
- outline: 0;
background-image: none;
- @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+ outline: 0;
+ @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));
}
&.disabled,
@@ -94,8 +94,8 @@ a.btn {
// Make a button look and behave like a link
.btn-link {
+ font-weight: 400;
color: $link-color;
- font-weight: normal;
border-radius: 0;
&,
diff --git a/assets/stylesheets/bootstrap/_carousel.scss b/assets/stylesheets/bootstrap/_carousel.scss
index 753d881f..d4aa2270 100644
--- a/assets/stylesheets/bootstrap/_carousel.scss
+++ b/assets/stylesheets/bootstrap/_carousel.scss
@@ -10,12 +10,12 @@
.carousel-inner {
position: relative;
- overflow: hidden;
width: 100%;
+ overflow: hidden;
> .item {
- display: none;
position: relative;
+ display: none;
@include transition(.6s ease-in-out left);
// Account for jankitude on images
@@ -93,34 +93,34 @@
.carousel-control {
position: absolute;
top: 0;
- left: 0;
bottom: 0;
+ left: 0;
width: $carousel-control-width;
- @include opacity($carousel-control-opacity);
font-size: $carousel-control-font-size;
color: $carousel-control-color;
text-align: center;
text-shadow: $carousel-text-shadow;
background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug
+ @include opacity($carousel-control-opacity);
// We can't have this transition here because WebKit cancels the carousel
// animation if you trip this while in the middle of another animation.
// Set gradients for backgrounds
&.left {
- @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
+ @include gradient-horizontal($start-color: rgba(0, 0, 0, .5), $end-color: rgba(0, 0, 0, .0001));
}
&.right {
- left: auto;
right: 0;
- @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
+ left: auto;
+ @include gradient-horizontal($start-color: rgba(0, 0, 0, .0001), $end-color: rgba(0, 0, 0, .5));
}
// Hover/focus state
&:hover,
&:focus {
- outline: 0;
color: $carousel-control-color;
text-decoration: none;
+ outline: 0;
@include opacity(.9);
}
@@ -131,9 +131,9 @@
.glyphicon-chevron-right {
position: absolute;
top: 50%;
- margin-top: -10px;
z-index: 5;
display: inline-block;
+ margin-top: -10px;
}
.icon-prev,
.glyphicon-chevron-left {
@@ -147,21 +147,20 @@
}
.icon-prev,
.icon-next {
- width: 20px;
+ width: 20px;
height: 20px;
- line-height: 1;
font-family: serif;
+ line-height: 1;
}
-
.icon-prev {
- &:before {
- content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
+ &::before {
+ content: "\2039";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
}
}
.icon-next {
- &:before {
- content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
+ &::before {
+ content: "\203a";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
}
}
}
@@ -177,21 +176,18 @@
left: 50%;
z-index: 15;
width: 60%;
- margin-left: -30%;
padding-left: 0;
- list-style: none;
+ margin-left: -30%;
text-align: center;
+ list-style: none;
li {
display: inline-block;
- width: 10px;
+ width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
- border: 1px solid $carousel-indicator-border-color;
- border-radius: 10px;
cursor: pointer;
-
// IE8-9 hack for event handling
//
// Internet Explorer 8-9 does not support clicks on elements without a set
@@ -202,12 +198,16 @@
// For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
// set alpha transparency for the best results possible.
background-color: #000 \9; // IE8
- background-color: rgba(0,0,0,0); // IE9
+ background-color: rgba(0, 0, 0, 0); // IE9
+
+ border: 1px solid $carousel-indicator-border-color;
+ border-radius: 10px;
}
+
.active {
- margin: 0;
- width: 12px;
+ width: 12px;
height: 12px;
+ margin: 0;
background-color: $carousel-indicator-active-bg;
}
}
@@ -217,15 +217,16 @@
// Hidden by default for smaller viewports
.carousel-caption {
position: absolute;
- left: 15%;
right: 15%;
bottom: 20px;
+ left: 15%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: $carousel-caption-color;
text-align: center;
text-shadow: $carousel-text-shadow;
+
& .btn {
text-shadow: none; // No shadow for button elements in carousel-caption
}
@@ -258,8 +259,8 @@
// Show and left align the captions
.carousel-caption {
- left: 20%;
right: 20%;
+ left: 20%;
padding-bottom: 30px;
}
diff --git a/assets/stylesheets/bootstrap/_code.scss b/assets/stylesheets/bootstrap/_code.scss
index caa5f063..8e2b2a7f 100644
--- a/assets/stylesheets/bootstrap/_code.scss
+++ b/assets/stylesheets/bootstrap/_code.scss
@@ -27,12 +27,12 @@ kbd {
color: $kbd-color;
background-color: $kbd-bg;
border-radius: $border-radius-small;
- box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
kbd {
padding: 0;
font-size: 100%;
- font-weight: bold;
+ font-weight: 700;
box-shadow: none;
}
}
@@ -44,9 +44,9 @@ pre {
margin: 0 0 ($line-height-computed / 2);
font-size: ($font-size-base - 1); // 14px to 13px
line-height: $line-height-base;
+ color: $pre-color;
word-break: break-all;
word-wrap: break-word;
- color: $pre-color;
background-color: $pre-bg;
border: 1px solid $pre-border-color;
border-radius: $border-radius-base;
diff --git a/assets/stylesheets/bootstrap/_component-animations.scss b/assets/stylesheets/bootstrap/_component-animations.scss
index ca3b43ca..ca4d6b06 100644
--- a/assets/stylesheets/bootstrap/_component-animations.scss
+++ b/assets/stylesheets/bootstrap/_component-animations.scss
@@ -10,6 +10,7 @@
.fade {
opacity: 0;
@include transition(opacity .15s linear);
+
&.in {
opacity: 1;
}
diff --git a/assets/stylesheets/bootstrap/_dropdowns.scss b/assets/stylesheets/bootstrap/_dropdowns.scss
index aac84597..0a5898a8 100644
--- a/assets/stylesheets/bootstrap/_dropdowns.scss
+++ b/assets/stylesheets/bootstrap/_dropdowns.scss
@@ -10,10 +10,10 @@
height: 0;
margin-left: 2px;
vertical-align: middle;
- border-top: $caret-width-base dashed;
- border-top: $caret-width-base solid \9; // IE8
+ border-top: $caret-width-base dashed;
+ border-top: $caret-width-base solid \9; // IE8
border-right: $caret-width-base solid transparent;
- border-left: $caret-width-base solid transparent;
+ border-left: $caret-width-base solid transparent;
}
// The dropdown wrapper (div)
@@ -38,15 +38,15 @@
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0; // override default ul
- list-style: none;
font-size: $font-size-base;
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
+ list-style: none;
background-color: $dropdown-bg;
+ background-clip: padding-box;
border: 1px solid $dropdown-fallback-border; // IE8 fallback
border: 1px solid $dropdown-border;
border-radius: $border-radius-base;
- @include box-shadow(0 6px 12px rgba(0,0,0,.175));
- background-clip: padding-box;
+ @include box-shadow(0 6px 12px rgba(0, 0, 0, .175));
// Aligns the dropdown menu to right
//
@@ -66,20 +66,17 @@
display: block;
padding: 3px 20px;
clear: both;
- font-weight: normal;
+ font-weight: 400;
line-height: $line-height-base;
color: $dropdown-link-color;
white-space: nowrap; // prevent links from randomly breaking onto new lines
- }
-}
-// Hover/Focus state
-.dropdown-menu > li > a {
- &:hover,
- &:focus {
- text-decoration: none;
- color: $dropdown-link-hover-color;
- background-color: $dropdown-link-hover-bg;
+ &:hover,
+ &:focus {
+ color: $dropdown-link-hover-color;
+ text-decoration: none;
+ background-color: $dropdown-link-hover-bg;
+ }
}
}
@@ -90,8 +87,8 @@
&:focus {
color: $dropdown-link-active-color;
text-decoration: none;
- outline: 0;
background-color: $dropdown-link-active-bg;
+ outline: 0;
}
}
@@ -110,10 +107,10 @@
&:hover,
&:focus {
text-decoration: none;
+ cursor: $cursor-disabled;
background-color: transparent;
background-image: none; // Remove CSS gradient
@include reset-filter;
- cursor: $cursor-disabled;
}
}
@@ -135,8 +132,8 @@
// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
// menu with the parent.
.dropdown-menu-right {
- left: auto; // Reset the default from `.dropdown-menu`
right: 0;
+ left: auto; // Reset the default from `.dropdown-menu`
}
// With v3, we enabled auto-flipping if you have a dropdown within a right
// aligned nav component. To enable the undoing of that, we provide an override
@@ -145,8 +142,8 @@
// This is only for left-aligning a dropdown menu within a `.navbar-right` or
// `.pull-right` nav component.
.dropdown-menu-left {
- left: 0;
right: auto;
+ left: 0;
}
// Dropdown section headers
@@ -162,10 +159,10 @@
// Backdrop to catch body clicks on mobile, etc.
.dropdown-backdrop {
position: fixed;
- left: 0;
+ top: 0;
right: 0;
bottom: 0;
- top: 0;
+ left: 0;
z-index: ($zindex-dropdown - 10);
}
@@ -184,10 +181,10 @@
.navbar-fixed-bottom .dropdown {
// Reverse the caret
.caret {
+ content: "";
border-top: 0;
border-bottom: $caret-width-base dashed;
border-bottom: $caret-width-base solid \9; // IE8
- content: "";
}
// Different positioning for bottom up menu
.dropdown-menu {
diff --git a/assets/stylesheets/bootstrap/_forms.scss b/assets/stylesheets/bootstrap/_forms.scss
index ac26a6ad..11404276 100644
--- a/assets/stylesheets/bootstrap/_forms.scss
+++ b/assets/stylesheets/bootstrap/_forms.scss
@@ -8,13 +8,13 @@
// Restyle and baseline non-control form elements.
fieldset {
- padding: 0;
- margin: 0;
- border: 0;
// Chrome and Firefox set a `min-width: min-content;` on fieldsets,
// so we reset that to ensure it behaves more like a standard block element.
// See https://github.com/twbs/bootstrap/issues/12359.
min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
}
legend {
@@ -33,7 +33,7 @@ label {
display: inline-block;
max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
margin-bottom: 5px;
- font-weight: bold;
+ font-weight: 700;
}
@@ -43,9 +43,17 @@ label {
// is required to ensure optimum display with or without those classes to better
// address browser inconsistencies.
-// Override content-box in Normalize (* isn't specific enough)
input[type="search"] {
+ // Override content-box in Normalize (* isn't specific enough)
@include box-sizing(border-box);
+
+ // Search inputs in iOS
+ //
+ // This overrides the extra rounded corners on search inputs in iOS so that our
+ // `.form-control` class can properly style them. Note that this cannot simply
+ // be added to `.form-control` as it's not specific enough. For details, see
+ // https://github.com/twbs/bootstrap/issues/11586.
+ -webkit-appearance: none;
}
// Position radios and checkboxes better
@@ -54,6 +62,16 @@ input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9; // IE8-9
line-height: normal;
+
+ // Apply same disabled cursor tweak as for inputs
+ // Some special care is needed because <label>s don't inherit their parent's `cursor`.
+ //
+ // Note: Neither radios nor checkboxes can be readonly.
+ &[disabled],
+ &.disabled,
+ fieldset[disabled] & {
+ cursor: $cursor-disabled;
+ }
}
input[type="file"] {
@@ -123,7 +141,7 @@ output {
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid $input-border;
border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075));
@include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
// Customize the `:focus` state to imitate native WebKit styles.
@@ -134,8 +152,8 @@ output {
// Unstyle the caret on `<select>`s in IE10+.
&::-ms-expand {
- border: 0;
background-color: transparent;
+ border: 0;
}
// Disabled and read-only inputs
@@ -164,18 +182,6 @@ textarea.form-control {
}
-// Search inputs in iOS
-//
-// This overrides the extra rounded corners on search inputs in iOS so that our
-// `.form-control` class can properly style them. Note that this cannot simply
-// be added to `.form-control` as it's not specific enough. For details, see
-// https://github.com/twbs/bootstrap/issues/11586.
-
-input[type="search"] {
- -webkit-appearance: none;
-}
-
-
// Special styles for iOS temporal inputs
//
// In Mobile Safari, setting `display: block` on temporal inputs causes the
@@ -228,11 +234,19 @@ input[type="search"] {
margin-top: 10px;
margin-bottom: 10px;
+ // These are used on elements with <label> descendants
+ &.disabled,
+ fieldset[disabled] & {
+ label {
+ cursor: $cursor-disabled;
+ }
+ }
+
label {
min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
padding-left: 20px;
margin-bottom: 0;
- font-weight: normal;
+ font-weight: 400;
cursor: pointer;
}
}
@@ -241,8 +255,8 @@ input[type="search"] {
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
- margin-left: -20px;
margin-top: 4px \9;
+ margin-left: -20px;
}
.radio + .radio,
@@ -257,45 +271,20 @@ input[type="search"] {
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
+ font-weight: 400;
vertical-align: middle;
- font-weight: normal;
cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
- margin-top: 0;
- margin-left: 10px; // space out consecutive inline controls
-}
-// Apply same disabled cursor tweak as for inputs
-// Some special care is needed because <label>s don't inherit their parent's `cursor`.
-//
-// Note: Neither radios nor checkboxes can be readonly.
-input[type="radio"],
-input[type="checkbox"] {
- &[disabled],
- &.disabled,
- fieldset[disabled] & {
- cursor: $cursor-disabled;
- }
-}
-// These classes are used directly on <label>s
-.radio-inline,
-.checkbox-inline {
+ // These are used directly on <label>s
&.disabled,
fieldset[disabled] & {
cursor: $cursor-disabled;
}
}
-// These classes are used on elements with <label> descendants
-.radio,
-.checkbox {
- &.disabled,
- fieldset[disabled] & {
- label {
- cursor: $cursor-disabled;
- }
- }
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px; // space out consecutive inline controls
}
@@ -305,17 +294,17 @@ input[type="checkbox"] {
// a horizontal form layout.
.form-control-static {
+ min-height: ($line-height-computed + $font-size-base);
// Size it appropriately next to real form controls
padding-top: ($padding-base-vertical + 1);
padding-bottom: ($padding-base-vertical + 1);
// Remove default margin from `p`
margin-bottom: 0;
- min-height: ($line-height-computed + $font-size-base);
&.input-lg,
&.input-sm {
- padding-left: 0;
padding-right: 0;
+ padding-left: 0;
}
}
@@ -560,9 +549,9 @@ input[type="checkbox"] {
.checkbox,
.radio-inline,
.checkbox-inline {
+ padding-top: ($padding-base-vertical + 1); // Default padding plus a border
margin-top: 0;
margin-bottom: 0;
- padding-top: ($padding-base-vertical + 1); // Default padding plus a border
}
// Account for padding we're adding to ensure the alignment and of help text
// and other content below items
@@ -580,9 +569,9 @@ input[type="checkbox"] {
// labels on narrow viewports stack the same as a default form example.
@media (min-width: $screen-sm-min) {
.control-label {
- text-align: right;
- margin-bottom: 0;
padding-top: ($padding-base-vertical + 1); // Default padding plus a border
+ margin-bottom: 0;
+ text-align: right;
}
}
diff --git a/assets/stylesheets/bootstrap/_glyphicons.scss b/assets/stylesheets/bootstrap/_glyphicons.scss
index 07a0fc91..7c9b4bc7 100644
--- a/assets/stylesheets/bootstrap/_glyphicons.scss
+++ b/assets/stylesheets/bootstrap/_glyphicons.scss
@@ -10,13 +10,13 @@
@at-root {
// Import the fonts
@font-face {
- font-family: 'Glyphicons Halflings';
- src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot'));
- src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'),
- url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff2'), '#{$icon-font-path}#{$icon-font-name}.woff2')) format('woff2'),
- url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'),
- url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'),
- url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg');
+ font-family: "Glyphicons Halflings";
+ src: url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{#{$icon-font-name}}.eot"), "#{$icon-font-path}#{#{$icon-font-name}}.eot"));
+ src: url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{#{$icon-font-name}}.eot?#iefix"), "#{$icon-font-path}#{#{$icon-font-name}}.eot?#iefix")) format("embedded-opentype"),
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{#{$icon-font-name}}.woff2"), "#{$icon-font-path}#{#{$icon-font-name}}.woff2")) format("woff2"),
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{#{$icon-font-name}}.woff"), "#{$icon-font-path}#{#{$icon-font-name}}.woff")) format("woff"),
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{#{$icon-font-name}}.ttf"), "#{$icon-font-path}#{#{$icon-font-name}}.ttf")) format("truetype"),
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.svg##{#{$icon-font-svg-id}}"), "#{$icon-font-path}#{$icon-font-name}.svg##{#{$icon-font-svg-id}}")) format("svg");
}
}
@@ -25,283 +25,283 @@
position: relative;
top: 1px;
display: inline-block;
- font-family: 'Glyphicons Halflings';
+ font-family: "Glyphicons Halflings";
font-style: normal;
- font-weight: normal;
+ font-weight: 400;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// Individual icons
-.glyphicon-asterisk { &:before { content: "\002a"; } }
-.glyphicon-plus { &:before { content: "\002b"; } }
+.glyphicon-asterisk { &::before { content: "\002a"; } }
+.glyphicon-plus { &::before { content: "\002b"; } }
.glyphicon-euro,
-.glyphicon-eur { &:before { content: "\20ac"; } }
-.glyphicon-minus { &:before { content: "\2212"; } }
-.glyphicon-cloud { &:before { content: "\2601"; } }
-.glyphicon-envelope { &:before { content: "\2709"; } }
-.glyphicon-pencil { &:before { content: "\270f"; } }
-.glyphicon-glass { &:before { content: "\e001"; } }
-.glyphicon-music { &:before { content: "\e002"; } }
-.glyphicon-search { &:before { content: "\e003"; } }
-.glyphicon-heart { &:before { content: "\e005"; } }
-.glyphicon-star { &:before { content: "\e006"; } }
-.glyphicon-star-empty { &:before { content: "\e007"; } }
-.glyphicon-user { &:before { content: "\e008"; } }
-.glyphicon-film { &:before { content: "\e009"; } }
-.glyphicon-th-large { &:before { content: "\e010"; } }
-.glyphicon-th { &:before { content: "\e011"; } }
-.glyphicon-th-list { &:before { content: "\e012"; } }
-.glyphicon-ok { &:before { content: "\e013"; } }
-.glyphicon-remove { &:before { content: "\e014"; } }
-.glyphicon-zoom-in { &:before { content: "\e015"; } }
-.glyphicon-zoom-out { &:before { content: "\e016"; } }
-.glyphicon-off { &:before { content: "\e017"; } }
-.glyphicon-signal { &:before { content: "\e018"; } }
-.glyphicon-cog { &:before { content: "\e019"; } }
-.glyphicon-trash { &:before { content: "\e020"; } }
-.glyphicon-home { &:before { content: "\e021"; } }
-.glyphicon-file { &:before { content: "\e022"; } }
-.glyphicon-time { &:before { content: "\e023"; } }
-.glyphicon-road { &:before { content: "\e024"; } }
-.glyphicon-download-alt { &:before { content: "\e025"; } }
-.glyphicon-download { &:before { content: "\e026"; } }
-.glyphicon-upload { &:before { content: "\e027"; } }
-.glyphicon-inbox { &:before { content: "\e028"; } }
-.glyphicon-play-circle { &:before { content: "\e029"; } }
-.glyphicon-repeat { &:before { content: "\e030"; } }
-.glyphicon-refresh { &:before { content: "\e031"; } }
-.glyphicon-list-alt { &:before { content: "\e032"; } }
-.glyphicon-lock { &:before { content: "\e033"; } }
-.glyphicon-flag { &:before { content: "\e034"; } }
-.glyphicon-headphones { &:before { content: "\e035"; } }
-.glyphicon-volume-off { &:before { content: "\e036"; } }
-.glyphicon-volume-down { &:before { content: "\e037"; } }
-.glyphicon-volume-up { &:before { content: "\e038"; } }
-.glyphicon-qrcode { &:before { content: "\e039"; } }
-.glyphicon-barcode { &:before { content: "\e040"; } }
-.glyphicon-tag { &:before { content: "\e041"; } }
-.glyphicon-tags { &:before { content: "\e042"; } }
-.glyphicon-book { &:before { content: "\e043"; } }
-.glyphicon-bookmark { &:before { content: "\e044"; } }
-.glyphicon-print { &:before { content: "\e045"; } }
-.glyphicon-camera { &:before { content: "\e046"; } }
-.glyphicon-font { &:before { content: "\e047"; } }
-.glyphicon-bold { &:before { content: "\e048"; } }
-.glyphicon-italic { &:before { content: "\e049"; } }
-.glyphicon-text-height { &:before { content: "\e050"; } }
-.glyphicon-text-width { &:before { content: "\e051"; } }
-.glyphicon-align-left { &:before { content: "\e052"; } }
-.glyphicon-align-center { &:before { content: "\e053"; } }
-.glyphicon-align-right { &:before { content: "\e054"; } }
-.glyphicon-align-justify { &:before { content: "\e055"; } }
-.glyphicon-list { &:before { content: "\e056"; } }
-.glyphicon-indent-left { &:before { content: "\e057"; } }
-.glyphicon-indent-right { &:before { content: "\e058"; } }
-.glyphicon-facetime-video { &:before { content: "\e059"; } }
-.glyphicon-picture { &:before { content: "\e060"; } }
-.glyphicon-map-marker { &:before { content: "\e062"; } }
-.glyphicon-adjust { &:before { content: "\e063"; } }
-.glyphicon-tint { &:before { content: "\e064"; } }
-.glyphicon-edit { &:before { content: "\e065"; } }
-.glyphicon-share { &:before { content: "\e066"; } }
-.glyphicon-check { &:before { content: "\e067"; } }
-.glyphicon-move { &:before { content: "\e068"; } }
-.glyphicon-step-backward { &:before { content: "\e069"; } }
-.glyphicon-fast-backward { &:before { content: "\e070"; } }
-.glyphicon-backward { &:before { content: "\e071"; } }
-.glyphicon-play { &:before { content: "\e072"; } }
-.glyphicon-pause { &:before { content: "\e073"; } }
-.glyphicon-stop { &:before { content: "\e074"; } }
-.glyphicon-forward { &:before { content: "\e075"; } }
-.glyphicon-fast-forward { &:before { content: "\e076"; } }
-.glyphicon-step-forward { &:before { content: "\e077"; } }
-.glyphicon-eject { &:before { content: "\e078"; } }
-.glyphicon-chevron-left { &:before { content: "\e079"; } }
-.glyphicon-chevron-right { &:before { content: "\e080"; } }
-.glyphicon-plus-sign { &:before { content: "\e081"; } }
-.glyphicon-minus-sign { &:before { content: "\e082"; } }
-.glyphicon-remove-sign { &:before { content: "\e083"; } }
-.glyphicon-ok-sign { &:before { content: "\e084"; } }
-.glyphicon-question-sign { &:before { content: "\e085"; } }
-.glyphicon-info-sign { &:before { content: "\e086"; } }
-.glyphicon-screenshot { &:before { content: "\e087"; } }
-.glyphicon-remove-circle { &:before { content: "\e088"; } }
-.glyphicon-ok-circle { &:before { content: "\e089"; } }
-.glyphicon-ban-circle { &:before { content: "\e090"; } }
-.glyphicon-arrow-left { &:before { content: "\e091"; } }
-.glyphicon-arrow-right { &:before { content: "\e092"; } }
-.glyphicon-arrow-up { &:before { content: "\e093"; } }
-.glyphicon-arrow-down { &:before { content: "\e094"; } }
-.glyphicon-share-alt { &:before { content: "\e095"; } }
-.glyphicon-resize-full { &:before { content: "\e096"; } }
-.glyphicon-resize-small { &:before { content: "\e097"; } }
-.glyphicon-exclamation-sign { &:before { content: "\e101"; } }
-.glyphicon-gift { &:before { content: "\e102"; } }
-.glyphicon-leaf { &:before { content: "\e103"; } }
-.glyphicon-fire { &:before { content: "\e104"; } }
-.glyphicon-eye-open { &:before { content: "\e105"; } }
-.glyphicon-eye-close { &:before { content: "\e106"; } }
-.glyphicon-warning-sign { &:before { content: "\e107"; } }
-.glyphicon-plane { &:before { content: "\e108"; } }
-.glyphicon-calendar { &:before { content: "\e109"; } }
-.glyphicon-random { &:before { content: "\e110"; } }
-.glyphicon-comment { &:before { content: "\e111"; } }
-.glyphicon-magnet { &:before { content: "\e112"; } }
-.glyphicon-chevron-up { &:before { content: "\e113"; } }
-.glyphicon-chevron-down { &:before { content: "\e114"; } }
-.glyphicon-retweet { &:before { content: "\e115"; } }
-.glyphicon-shopping-cart { &:before { content: "\e116"; } }
-.glyphicon-folder-close { &:before { content: "\e117"; } }
-.glyphicon-folder-open { &:before { content: "\e118"; } }
-.glyphicon-resize-vertical { &:before { content: "\e119"; } }
-.glyphicon-resize-horizontal { &:before { content: "\e120"; } }
-.glyphicon-hdd { &:before { content: "\e121"; } }
-.glyphicon-bullhorn { &:before { content: "\e122"; } }
-.glyphicon-bell { &:before { content: "\e123"; } }
-.glyphicon-certificate { &:before { content: "\e124"; } }
-.glyphicon-thumbs-up { &:before { content: "\e125"; } }
-.glyphicon-thumbs-down { &:before { content: "\e126"; } }
-.glyphicon-hand-right { &:before { content: "\e127"; } }
-.glyphicon-hand-left { &:before { content: "\e128"; } }
-.glyphicon-hand-up { &:before { content: "\e129"; } }
-.glyphicon-hand-down { &:before { content: "\e130"; } }
-.glyphicon-circle-arrow-right { &:before { content: "\e131"; } }
-.glyphicon-circle-arrow-left { &:before { content: "\e132"; } }
-.glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
-.glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
-.glyphicon-globe { &:before { content: "\e135"; } }
-.glyphicon-wrench { &:before { content: "\e136"; } }
-.glyphicon-tasks { &:before { content: "\e137"; } }
-.glyphicon-filter { &:before { content: "\e138"; } }
-.glyphicon-briefcase { &:before { content: "\e139"; } }
-.glyphicon-fullscreen { &:before { content: "\e140"; } }
-.glyphicon-dashboard { &:before { content: "\e141"; } }
-.glyphicon-paperclip { &:before { content: "\e142"; } }
-.glyphicon-heart-empty { &:before { content: "\e143"; } }
-.glyphicon-link { &:before { content: "\e144"; } }
-.glyphicon-phone { &:before { content: "\e145"; } }
-.glyphicon-pushpin { &:before { content: "\e146"; } }
-.glyphicon-usd { &:before { content: "\e148"; } }
-.glyphicon-gbp { &:before { content: "\e149"; } }
-.glyphicon-sort { &:before { content: "\e150"; } }
-.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } }
-.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } }
-.glyphicon-sort-by-order { &:before { content: "\e153"; } }
-.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } }
-.glyphicon-sort-by-attributes { &:before { content: "\e155"; } }
-.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } }
-.glyphicon-unchecked { &:before { content: "\e157"; } }
-.glyphicon-expand { &:before { content: "\e158"; } }
-.glyphicon-collapse-down { &:before { content: "\e159"; } }
-.glyphicon-collapse-up { &:before { content: "\e160"; } }
-.glyphicon-log-in { &:before { content: "\e161"; } }
-.glyphicon-flash { &:before { content: "\e162"; } }
-.glyphicon-log-out { &:before { content: "\e163"; } }
-.glyphicon-new-window { &:before { content: "\e164"; } }
-.glyphicon-record { &:before { content: "\e165"; } }
-.glyphicon-save { &:before { content: "\e166"; } }
-.glyphicon-open { &:before { content: "\e167"; } }
-.glyphicon-saved { &:before { content: "\e168"; } }
-.glyphicon-import { &:before { content: "\e169"; } }
-.glyphicon-export { &:before { content: "\e170"; } }
-.glyphicon-send { &:before { content: "\e171"; } }
-.glyphicon-floppy-disk { &:before { content: "\e172"; } }
-.glyphicon-floppy-saved { &:before { content: "\e173"; } }
-.glyphicon-floppy-remove { &:before { content: "\e174"; } }
-.glyphicon-floppy-save { &:before { content: "\e175"; } }
-.glyphicon-floppy-open { &:before { content: "\e176"; } }
-.glyphicon-credit-card { &:before { content: "\e177"; } }
-.glyphicon-transfer { &:before { content: "\e178"; } }
-.glyphicon-cutlery { &:before { content: "\e179"; } }
-.glyphicon-header { &:before { content: "\e180"; } }
-.glyphicon-compressed { &:before { content: "\e181"; } }
-.glyphicon-earphone { &:before { content: "\e182"; } }
-.glyphicon-phone-alt { &:before { content: "\e183"; } }
-.glyphicon-tower { &:before { content: "\e184"; } }
-.glyphicon-stats { &:before { content: "\e185"; } }
-.glyphicon-sd-video { &:before { content: "\e186"; } }
-.glyphicon-hd-video { &:before { content: "\e187"; } }
-.glyphicon-subtitles { &:before { content: "\e188"; } }
-.glyphicon-sound-stereo { &:before { content: "\e189"; } }
-.glyphicon-sound-dolby { &:before { content: "\e190"; } }
-.glyphicon-sound-5-1 { &:before { content: "\e191"; } }
-.glyphicon-sound-6-1 { &:before { content: "\e192"; } }
-.glyphicon-sound-7-1 { &:before { content: "\e193"; } }
-.glyphicon-copyright-mark { &:before { content: "\e194"; } }
-.glyphicon-registration-mark { &:before { content: "\e195"; } }
-.glyphicon-cloud-download { &:before { content: "\e197"; } }
-.glyphicon-cloud-upload { &:before { content: "\e198"; } }
-.glyphicon-tree-conifer { &:before { content: "\e199"; } }
-.glyphicon-tree-deciduous { &:before { content: "\e200"; } }
-.glyphicon-cd { &:before { content: "\e201"; } }
-.glyphicon-save-file { &:before { content: "\e202"; } }
-.glyphicon-open-file { &:before { content: "\e203"; } }
-.glyphicon-level-up { &:before { content: "\e204"; } }
-.glyphicon-copy { &:before { content: "\e205"; } }
-.glyphicon-paste { &:before { content: "\e206"; } }
+.glyphicon-eur { &::before { content: "\20ac"; } }
+.glyphicon-minus { &::before { content: "\2212"; } }
+.glyphicon-cloud { &::before { content: "\2601"; } }
+.glyphicon-envelope { &::before { content: "\2709"; } }
+.glyphicon-pencil { &::before { content: "\270f"; } }
+.glyphicon-glass { &::before { content: "\e001"; } }
+.glyphicon-music { &::before { content: "\e002"; } }
+.glyphicon-search { &::before { content: "\e003"; } }
+.glyphicon-heart { &::before { content: "\e005"; } }
+.glyphicon-star { &::before { content: "\e006"; } }
+.glyphicon-star-empty { &::before { content: "\e007"; } }
+.glyphicon-user { &::before { content: "\e008"; } }
+.glyphicon-film { &::before { content: "\e009"; } }
+.glyphicon-th-large { &::before { content: "\e010"; } }
+.glyphicon-th { &::before { content: "\e011"; } }
+.glyphicon-th-list { &::before { content: "\e012"; } }
+.glyphicon-ok { &::before { content: "\e013"; } }
+.glyphicon-remove { &::before { content: "\e014"; } }
+.glyphicon-zoom-in { &::before { content: "\e015"; } }
+.glyphicon-zoom-out { &::before { content: "\e016"; } }
+.glyphicon-off { &::before { content: "\e017"; } }
+.glyphicon-signal { &::before { content: "\e018"; } }
+.glyphicon-cog { &::before { content: "\e019"; } }
+.glyphicon-trash { &::before { content: "\e020"; } }
+.glyphicon-home { &::before { content: "\e021"; } }
+.glyphicon-file { &::before { content: "\e022"; } }
+.glyphicon-time { &::before { content: "\e023"; } }
+.glyphicon-road { &::before { content: "\e024"; } }
+.glyphicon-download-alt { &::before { content: "\e025"; } }
+.glyphicon-download { &::before { content: "\e026"; } }
+.glyphicon-upload { &::before { content: "\e027"; } }
+.glyphicon-inbox { &::before { content: "\e028"; } }
+.glyphicon-play-circle { &::before { content: "\e029"; } }
+.glyphicon-repeat { &::before { content: "\e030"; } }
+.glyphicon-refresh { &::before { content: "\e031"; } }
+.glyphicon-list-alt { &::before { content: "\e032"; } }
+.glyphicon-lock { &::before { content: "\e033"; } }
+.glyphicon-flag { &::before { content: "\e034"; } }
+.glyphicon-headphones { &::before { content: "\e035"; } }
+.glyphicon-volume-off { &::before { content: "\e036"; } }
+.glyphicon-volume-down { &::before { content: "\e037"; } }
+.glyphicon-volume-up { &::before { content: "\e038"; } }
+.glyphicon-qrcode { &::before { content: "\e039"; } }
+.glyphicon-barcode { &::before { content: "\e040"; } }
+.glyphicon-tag { &::before { content: "\e041"; } }
+.glyphicon-tags { &::before { content: "\e042"; } }
+.glyphicon-book { &::before { content: "\e043"; } }
+.glyphicon-bookmark { &::before { content: "\e044"; } }
+.glyphicon-print { &::before { content: "\e045"; } }
+.glyphicon-camera { &::before { content: "\e046"; } }
+.glyphicon-font { &::before { content: "\e047"; } }
+.glyphicon-bold { &::before { content: "\e048"; } }
+.glyphicon-italic { &::before { content: "\e049"; } }
+.glyphicon-text-height { &::before { content: "\e050"; } }
+.glyphicon-text-width { &::before { content: "\e051"; } }
+.glyphicon-align-left { &::before { content: "\e052"; } }
+.glyphicon-align-center { &::before { content: "\e053"; } }
+.glyphicon-align-right { &::before { content: "\e054"; } }
+.glyphicon-align-justify { &::before { content: "\e055"; } }
+.glyphicon-list { &::before { content: "\e056"; } }
+.glyphicon-indent-left { &::before { content: "\e057"; } }
+.glyphicon-indent-right { &::before { content: "\e058"; } }
+.glyphicon-facetime-video { &::before { content: "\e059"; } }
+.glyphicon-picture { &::before { content: "\e060"; } }
+.glyphicon-map-marker { &::before { content: "\e062"; } }
+.glyphicon-adjust { &::before { content: "\e063"; } }
+.glyphicon-tint { &::before { content: "\e064"; } }
+.glyphicon-edit { &::before { content: "\e065"; } }
+.glyphicon-share { &::before { content: "\e066"; } }
+.glyphicon-check { &::before { content: "\e067"; } }
+.glyphicon-move { &::before { content: "\e068"; } }
+.glyphicon-step-backward { &::before { content: "\e069"; } }
+.glyphicon-fast-backward { &::before { content: "\e070"; } }
+.glyphicon-backward { &::before { content: "\e071"; } }
+.glyphicon-play { &::before { content: "\e072"; } }
+.glyphicon-pause { &::before { content: "\e073"; } }
+.glyphicon-stop { &::before { content: "\e074"; } }
+.glyphicon-forward { &::before { content: "\e075"; } }
+.glyphicon-fast-forward { &::before { content: "\e076"; } }
+.glyphicon-step-forward { &::before { content: "\e077"; } }
+.glyphicon-eject { &::before { content: "\e078"; } }
+.glyphicon-chevron-left { &::before { content: "\e079"; } }
+.glyphicon-chevron-right { &::before { content: "\e080"; } }
+.glyphicon-plus-sign { &::before { content: "\e081"; } }
+.glyphicon-minus-sign { &::before { content: "\e082"; } }
+.glyphicon-remove-sign { &::before { content: "\e083"; } }
+.glyphicon-ok-sign { &::before { content: "\e084"; } }
+.glyphicon-question-sign { &::before { content: "\e085"; } }
+.glyphicon-info-sign { &::before { content: "\e086"; } }
+.glyphicon-screenshot { &::before { content: "\e087"; } }
+.glyphicon-remove-circle { &::before { content: "\e088"; } }
+.glyphicon-ok-circle { &::before { content: "\e089"; } }
+.glyphicon-ban-circle { &::before { content: "\e090"; } }
+.glyphicon-arrow-left { &::before { content: "\e091"; } }
+.glyphicon-arrow-right { &::before { content: "\e092"; } }
+.glyphicon-arrow-up { &::before { content: "\e093"; } }
+.glyphicon-arrow-down { &::before { content: "\e094"; } }
+.glyphicon-share-alt { &::before { content: "\e095"; } }
+.glyphicon-resize-full { &::before { content: "\e096"; } }
+.glyphicon-resize-small { &::before { content: "\e097"; } }
+.glyphicon-exclamation-sign { &::before { content: "\e101"; } }
+.glyphicon-gift { &::before { content: "\e102"; } }
+.glyphicon-leaf { &::before { content: "\e103"; } }
+.glyphicon-fire { &::before { content: "\e104"; } }
+.glyphicon-eye-open { &::before { content: "\e105"; } }
+.glyphicon-eye-close { &::before { content: "\e106"; } }
+.glyphicon-warning-sign { &::before { content: "\e107"; } }
+.glyphicon-plane { &::before { content: "\e108"; } }
+.glyphicon-calendar { &::before { content: "\e109"; } }
+.glyphicon-random { &::before { content: "\e110"; } }
+.glyphicon-comment { &::before { content: "\e111"; } }
+.glyphicon-magnet { &::before { content: "\e112"; } }
+.glyphicon-chevron-up { &::before { content: "\e113"; } }
+.glyphicon-chevron-down { &::before { content: "\e114"; } }
+.glyphicon-retweet { &::before { content: "\e115"; } }
+.glyphicon-shopping-cart { &::before { content: "\e116"; } }
+.glyphicon-folder-close { &::before { content: "\e117"; } }
+.glyphicon-folder-open { &::before { content: "\e118"; } }
+.glyphicon-resize-vertical { &::before { content: "\e119"; } }
+.glyphicon-resize-horizontal { &::before { content: "\e120"; } }
+.glyphicon-hdd { &::before { content: "\e121"; } }
+.glyphicon-bullhorn { &::before { content: "\e122"; } }
+.glyphicon-bell { &::before { content: "\e123"; } }
+.glyphicon-certificate { &::before { content: "\e124"; } }
+.glyphicon-thumbs-up { &::before { content: "\e125"; } }
+.glyphicon-thumbs-down { &::before { content: "\e126"; } }
+.glyphicon-hand-right { &::before { content: "\e127"; } }
+.glyphicon-hand-left { &::before { content: "\e128"; } }
+.glyphicon-hand-up { &::before { content: "\e129"; } }
+.glyphicon-hand-down { &::before { content: "\e130"; } }
+.glyphicon-circle-arrow-right { &::before { content: "\e131"; } }
+.glyphicon-circle-arrow-left { &::before { content: "\e132"; } }
+.glyphicon-circle-arrow-up { &::before { content: "\e133"; } }
+.glyphicon-circle-arrow-down { &::before { content: "\e134"; } }
+.glyphicon-globe { &::before { content: "\e135"; } }
+.glyphicon-wrench { &::before { content: "\e136"; } }
+.glyphicon-tasks { &::before { content: "\e137"; } }
+.glyphicon-filter { &::before { content: "\e138"; } }
+.glyphicon-briefcase { &::before { content: "\e139"; } }
+.glyphicon-fullscreen { &::before { content: "\e140"; } }
+.glyphicon-dashboard { &::before { content: "\e141"; } }
+.glyphicon-paperclip { &::before { content: "\e142"; } }
+.glyphicon-heart-empty { &::before { content: "\e143"; } }
+.glyphicon-link { &::before { content: "\e144"; } }
+.glyphicon-phone { &::before { content: "\e145"; } }
+.glyphicon-pushpin { &::before { content: "\e146"; } }
+.glyphicon-usd { &::before { content: "\e148"; } }
+.glyphicon-gbp { &::before { content: "\e149"; } }
+.glyphicon-sort { &::before { content: "\e150"; } }
+.glyphicon-sort-by-alphabet { &::before { content: "\e151"; } }
+.glyphicon-sort-by-alphabet-alt { &::before { content: "\e152"; } }
+.glyphicon-sort-by-order { &::before { content: "\e153"; } }
+.glyphicon-sort-by-order-alt { &::before { content: "\e154"; } }
+.glyphicon-sort-by-attributes { &::before { content: "\e155"; } }
+.glyphicon-sort-by-attributes-alt { &::before { content: "\e156"; } }
+.glyphicon-unchecked { &::before { content: "\e157"; } }
+.glyphicon-expand { &::before { content: "\e158"; } }
+.glyphicon-collapse-down { &::before { content: "\e159"; } }
+.glyphicon-collapse-up { &::before { content: "\e160"; } }
+.glyphicon-log-in { &::before { content: "\e161"; } }
+.glyphicon-flash { &::before { content: "\e162"; } }
+.glyphicon-log-out { &::before { content: "\e163"; } }
+.glyphicon-new-window { &::before { content: "\e164"; } }
+.glyphicon-record { &::before { content: "\e165"; } }
+.glyphicon-save { &::before { content: "\e166"; } }
+.glyphicon-open { &::before { content: "\e167"; } }
+.glyphicon-saved { &::before { content: "\e168"; } }
+.glyphicon-import { &::before { content: "\e169"; } }
+.glyphicon-export { &::before { content: "\e170"; } }
+.glyphicon-send { &::before { content: "\e171"; } }
+.glyphicon-floppy-disk { &::before { content: "\e172"; } }
+.glyphicon-floppy-saved { &::before { content: "\e173"; } }
+.glyphicon-floppy-remove { &::before { content: "\e174"; } }
+.glyphicon-floppy-save { &::before { content: "\e175"; } }
+.glyphicon-floppy-open { &::before { content: "\e176"; } }
+.glyphicon-credit-card { &::before { content: "\e177"; } }
+.glyphicon-transfer { &::before { content: "\e178"; } }
+.glyphicon-cutlery { &::before { content: "\e179"; } }
+.glyphicon-header { &::before { content: "\e180"; } }
+.glyphicon-compressed { &::before { content: "\e181"; } }
+.glyphicon-earphone { &::before { content: "\e182"; } }
+.glyphicon-phone-alt { &::before { content: "\e183"; } }
+.glyphicon-tower { &::before { content: "\e184"; } }
+.glyphicon-stats { &::before { content: "\e185"; } }
+.glyphicon-sd-video { &::before { content: "\e186"; } }
+.glyphicon-hd-video { &::before { content: "\e187"; } }
+.glyphicon-subtitles { &::before { content: "\e188"; } }
+.glyphicon-sound-stereo { &::before { content: "\e189"; } }
+.glyphicon-sound-dolby { &::before { content: "\e190"; } }
+.glyphicon-sound-5-1 { &::before { content: "\e191"; } }
+.glyphicon-sound-6-1 { &::before { content: "\e192"; } }
+.glyphicon-sound-7-1 { &::before { content: "\e193"; } }
+.glyphicon-copyright-mark { &::before { content: "\e194"; } }
+.glyphicon-registration-mark { &::before { content: "\e195"; } }
+.glyphicon-cloud-download { &::before { content: "\e197"; } }
+.glyphicon-cloud-upload { &::before { content: "\e198"; } }
+.glyphicon-tree-conifer { &::before { content: "\e199"; } }
+.glyphicon-tree-deciduous { &::before { content: "\e200"; } }
+.glyphicon-cd { &::before { content: "\e201"; } }
+.glyphicon-save-file { &::before { content: "\e202"; } }
+.glyphicon-open-file { &::before { content: "\e203"; } }
+.glyphicon-level-up { &::before { content: "\e204"; } }
+.glyphicon-copy { &::before { content: "\e205"; } }
+.glyphicon-paste { &::before { content: "\e206"; } }
// The following 2 Glyphicons are omitted for the time being because
// they currently use Unicode codepoints that are outside the
// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle
// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.
// Notably, the bug affects some older versions of the Android Browser.
// More info: https://github.com/twbs/bootstrap/issues/10106
-// .glyphicon-door { &:before { content: "\1f6aa"; } }
-// .glyphicon-key { &:before { content: "\1f511"; } }
-.glyphicon-alert { &:before { content: "\e209"; } }
-.glyphicon-equalizer { &:before { content: "\e210"; } }
-.glyphicon-king { &:before { content: "\e211"; } }
-.glyphicon-queen { &:before { content: "\e212"; } }
-.glyphicon-pawn { &:before { content: "\e213"; } }
-.glyphicon-bishop { &:before { content: "\e214"; } }
-.glyphicon-knight { &:before { content: "\e215"; } }
-.glyphicon-baby-formula { &:before { content: "\e216"; } }
-.glyphicon-tent { &:before { content: "\26fa"; } }
-.glyphicon-blackboard { &:before { content: "\e218"; } }
-.glyphicon-bed { &:before { content: "\e219"; } }
-.glyphicon-apple { &:before { content: "\f8ff"; } }
-.glyphicon-erase { &:before { content: "\e221"; } }
-.glyphicon-hourglass { &:before { content: "\231b"; } }
-.glyphicon-lamp { &:before { content: "\e223"; } }
-.glyphicon-duplicate { &:before { content: "\e224"; } }
-.glyphicon-piggy-bank { &:before { content: "\e225"; } }
-.glyphicon-scissors { &:before { content: "\e226"; } }
-.glyphicon-bitcoin { &:before { content: "\e227"; } }
-.glyphicon-btc { &:before { content: "\e227"; } }
-.glyphicon-xbt { &:before { content: "\e227"; } }
-.glyphicon-yen { &:before { content: "\00a5"; } }
-.glyphicon-jpy { &:before { content: "\00a5"; } }
-.glyphicon-ruble { &:before { content: "\20bd"; } }
-.glyphicon-rub { &:before { content: "\20bd"; } }
-.glyphicon-scale { &:before { content: "\e230"; } }
-.glyphicon-ice-lolly { &:before { content: "\e231"; } }
-.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } }
-.glyphicon-education { &:before { content: "\e233"; } }
-.glyphicon-option-horizontal { &:before { content: "\e234"; } }
-.glyphicon-option-vertical { &:before { content: "\e235"; } }
-.glyphicon-menu-hamburger { &:before { content: "\e236"; } }
-.glyphicon-modal-window { &:before { content: "\e237"; } }
-.glyphicon-oil { &:before { content: "\e238"; } }
-.glyphicon-grain { &:before { content: "\e239"; } }
-.glyphicon-sunglasses { &:before { content: "\e240"; } }
-.glyphicon-text-size { &:before { content: "\e241"; } }
-.glyphicon-text-color { &:before { content: "\e242"; } }
-.glyphicon-text-background { &:before { content: "\e243"; } }
-.glyphicon-object-align-top { &:before { content: "\e244"; } }
-.glyphicon-object-align-bottom { &:before { content: "\e245"; } }
-.glyphicon-object-align-horizontal{ &:before { content: "\e246"; } }
-.glyphicon-object-align-left { &:before { content: "\e247"; } }
-.glyphicon-object-align-vertical { &:before { content: "\e248"; } }
-.glyphicon-object-align-right { &:before { content: "\e249"; } }
-.glyphicon-triangle-right { &:before { content: "\e250"; } }
-.glyphicon-triangle-left { &:before { content: "\e251"; } }
-.glyphicon-triangle-bottom { &:before { content: "\e252"; } }
-.glyphicon-triangle-top { &:before { content: "\e253"; } }
-.glyphicon-console { &:before { content: "\e254"; } }
-.glyphicon-superscript { &:before { content: "\e255"; } }
-.glyphicon-subscript { &:before { content: "\e256"; } }
-.glyphicon-menu-left { &:before { content: "\e257"; } }
-.glyphicon-menu-right { &:before { content: "\e258"; } }
-.glyphicon-menu-down { &:before { content: "\e259"; } }
-.glyphicon-menu-up { &:before { content: "\e260"; } }
+// .glyphicon-door { &::before { content: "\1f6aa"; } }
+// .glyphicon-key { &::before { content: "\1f511"; } }
+.glyphicon-alert { &::before { content: "\e209"; } }
+.glyphicon-equalizer { &::before { content: "\e210"; } }
+.glyphicon-king { &::before { content: "\e211"; } }
+.glyphicon-queen { &::before { content: "\e212"; } }
+.glyphicon-pawn { &::before { content: "\e213"; } }
+.glyphicon-bishop { &::before { content: "\e214"; } }
+.glyphicon-knight { &::before { content: "\e215"; } }
+.glyphicon-baby-formula { &::before { content: "\e216"; } }
+.glyphicon-tent { &::before { content: "\26fa"; } }
+.glyphicon-blackboard { &::before { content: "\e218"; } }
+.glyphicon-bed { &::before { content: "\e219"; } }
+.glyphicon-apple { &::before { content: "\f8ff"; } }
+.glyphicon-erase { &::before { content: "\e221"; } }
+.glyphicon-hourglass { &::before { content: "\231b"; } }
+.glyphicon-lamp { &::before { content: "\e223"; } }
+.glyphicon-duplicate { &::before { content: "\e224"; } }
+.glyphicon-piggy-bank { &::before { content: "\e225"; } }
+.glyphicon-scissors { &::before { content: "\e226"; } }
+.glyphicon-bitcoin { &::before { content: "\e227"; } }
+.glyphicon-btc { &::before { content: "\e227"; } }
+.glyphicon-xbt { &::before { content: "\e227"; } }
+.glyphicon-yen { &::before { content: "\00a5"; } }
+.glyphicon-jpy { &::before { content: "\00a5"; } }
+.glyphicon-ruble { &::before { content: "\20bd"; } }
+.glyphicon-rub { &::before { content: "\20bd"; } }
+.glyphicon-scale { &::before { content: "\e230"; } }
+.glyphicon-ice-lolly { &::before { content: "\e231"; } }
+.glyphicon-ice-lolly-tasted { &::before { content: "\e232"; } }
+.glyphicon-education { &::before { content: "\e233"; } }
+.glyphicon-option-horizontal { &::before { content: "\e234"; } }
+.glyphicon-option-vertical { &::before { content: "\e235"; } }
+.glyphicon-menu-hamburger { &::before { content: "\e236"; } }
+.glyphicon-modal-window { &::before { content: "\e237"; } }
+.glyphicon-oil { &::before { content: "\e238"; } }
+.glyphicon-grain { &::before { content: "\e239"; } }
+.glyphicon-sunglasses { &::before { content: "\e240"; } }
+.glyphicon-text-size { &::before { content: "\e241"; } }
+.glyphicon-text-color { &::before { content: "\e242"; } }
+.glyphicon-text-background { &::before { content: "\e243"; } }
+.glyphicon-object-align-top { &::before { content: "\e244"; } }
+.glyphicon-object-align-bottom { &::before { content: "\e245"; } }
+.glyphicon-object-align-horizontal{ &::before { content: "\e246"; } }
+.glyphicon-object-align-left { &::before { content: "\e247"; } }
+.glyphicon-object-align-vertical { &::before { content: "\e248"; } }
+.glyphicon-object-align-right { &::before { content: "\e249"; } }
+.glyphicon-triangle-right { &::before { content: "\e250"; } }
+.glyphicon-triangle-left { &::before { content: "\e251"; } }
+.glyphicon-triangle-bottom { &::before { content: "\e252"; } }
+.glyphicon-triangle-top { &::before { content: "\e253"; } }
+.glyphicon-console { &::before { content: "\e254"; } }
+.glyphicon-superscript { &::before { content: "\e255"; } }
+.glyphicon-subscript { &::before { content: "\e256"; } }
+.glyphicon-menu-left { &::before { content: "\e257"; } }
+.glyphicon-menu-right { &::before { content: "\e258"; } }
+.glyphicon-menu-down { &::before { content: "\e259"; } }
+.glyphicon-menu-up { &::before { content: "\e260"; } }
diff --git a/assets/stylesheets/bootstrap/_grid.scss b/assets/stylesheets/bootstrap/_grid.scss
index b15ca27b..2ddb73de 100644
--- a/assets/stylesheets/bootstrap/_grid.scss
+++ b/assets/stylesheets/bootstrap/_grid.scss
@@ -40,6 +40,16 @@
@include make-row;
}
+.row-no-gutters {
+ margin-right: 0;
+ margin-left: 0;
+
+ [class*="col-"] {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+
// Columns
//
diff --git a/assets/stylesheets/bootstrap/_input-groups.scss b/assets/stylesheets/bootstrap/_input-groups.scss
index 81f46f3e..04015fef 100644
--- a/assets/stylesheets/bootstrap/_input-groups.scss
+++ b/assets/stylesheets/bootstrap/_input-groups.scss
@@ -12,8 +12,8 @@
// Undo padding and float of grid classes
&[class*="col-"] {
float: none;
- padding-left: 0;
padding-right: 0;
+ padding-left: 0;
}
.form-control {
@@ -77,7 +77,7 @@
.input-group-addon {
padding: $padding-base-vertical $padding-base-horizontal;
font-size: $font-size-base;
- font-weight: normal;
+ font-weight: 400;
line-height: 1;
color: $input-color;
text-align: center;
diff --git a/assets/stylesheets/bootstrap/_jumbotron.scss b/assets/stylesheets/bootstrap/_jumbotron.scss
index a27da473..7215b991 100644
--- a/assets/stylesheets/bootstrap/_jumbotron.scss
+++ b/assets/stylesheets/bootstrap/_jumbotron.scss
@@ -4,7 +4,7 @@
.jumbotron {
- padding-top: $jumbotron-padding;
+ padding-top: $jumbotron-padding;
padding-bottom: $jumbotron-padding;
margin-bottom: $jumbotron-padding;
color: $jumbotron-color;
@@ -27,9 +27,9 @@
.container &,
.container-fluid & {
- border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container
- padding-left: ($grid-gutter-width / 2);
padding-right: ($grid-gutter-width / 2);
+ padding-left: ($grid-gutter-width / 2);
+ border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container
}
.container {
@@ -37,13 +37,13 @@
}
@media screen and (min-width: $screen-sm-min) {
- padding-top: ($jumbotron-padding * 1.6);
+ padding-top: ($jumbotron-padding * 1.6);
padding-bottom: ($jumbotron-padding * 1.6);
.container &,
.container-fluid & {
- padding-left: ($jumbotron-padding * 2);
padding-right: ($jumbotron-padding * 2);
+ padding-left: ($jumbotron-padding * 2);
}
h1,
diff --git a/assets/stylesheets/bootstrap/_labels.scss b/assets/stylesheets/bootstrap/_labels.scss
index 42ed6ea1..f7f30139 100644
--- a/assets/stylesheets/bootstrap/_labels.scss
+++ b/assets/stylesheets/bootstrap/_labels.scss
@@ -6,7 +6,7 @@
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
- font-weight: bold;
+ font-weight: 700;
line-height: 1;
color: $label-color;
text-align: center;
diff --git a/assets/stylesheets/bootstrap/_list-group.scss b/assets/stylesheets/bootstrap/_list-group.scss
index 7cb83aab..529f179e 100644
--- a/assets/stylesheets/bootstrap/_list-group.scss
+++ b/assets/stylesheets/bootstrap/_list-group.scss
@@ -9,8 +9,8 @@
.list-group {
// No need to set list-style: none; since .list-group-item is block level
- margin-bottom: 20px;
padding-left: 0; // reset padding because ul and ol
+ margin-bottom: 20px;
}
@@ -35,44 +35,14 @@
margin-bottom: 0;
@include border-bottom-radius($list-group-border-radius);
}
-}
-
-
-// Interactive list items
-//
-// Use anchor or button elements instead of `li`s or `div`s to create interactive items.
-// Includes an extra `.active` modifier class for showing selected items.
-
-a.list-group-item,
-button.list-group-item {
- color: $list-group-link-color;
-
- .list-group-item-heading {
- color: $list-group-link-heading-color;
- }
-
- // Hover state
- &:hover,
- &:focus {
- text-decoration: none;
- color: $list-group-link-hover-color;
- background-color: $list-group-hover-bg;
- }
-}
-
-button.list-group-item {
- width: 100%;
- text-align: left;
-}
-.list-group-item {
// Disabled state
&.disabled,
&.disabled:hover,
&.disabled:focus {
- background-color: $list-group-disabled-bg;
color: $list-group-disabled-color;
cursor: $cursor-disabled;
+ background-color: $list-group-disabled-bg;
// Force color to inherit for custom content
.list-group-item-heading {
@@ -105,6 +75,34 @@ button.list-group-item {
}
+// Interactive list items
+//
+// Use anchor or button elements instead of `li`s or `div`s to create interactive items.
+// Includes an extra `.active` modifier class for showing selected items.
+
+a.list-group-item,
+button.list-group-item {
+ color: $list-group-link-color;
+
+ .list-group-item-heading {
+ color: $list-group-link-heading-color;
+ }
+
+ // Hover state
+ &:hover,
+ &:focus {
+ color: $list-group-link-hover-color;
+ text-decoration: none;
+ background-color: $list-group-hover-bg;
+ }
+}
+
+button.list-group-item {
+ width: 100%;
+ text-align: left;
+}
+
+
// Contextual variants
//
// Add modifier classes to change text and background color on individual items.
diff --git a/assets/stylesheets/bootstrap/_media.scss b/assets/stylesheets/bootstrap/_media.scss
index 8c835e86..e4ae4457 100644
--- a/assets/stylesheets/bootstrap/_media.scss
+++ b/assets/stylesheets/bootstrap/_media.scss
@@ -9,8 +9,8 @@
.media,
.media-body {
- zoom: 1;
overflow: hidden;
+ zoom: 1;
}
.media-body {
diff --git a/assets/stylesheets/bootstrap/_modals.scss b/assets/stylesheets/bootstrap/_modals.scss
index 823870f2..942ea8f5 100644
--- a/assets/stylesheets/bootstrap/_modals.scss
+++ b/assets/stylesheets/bootstrap/_modals.scss
@@ -14,14 +14,14 @@
// Container that the modal scrolls within
.modal {
- display: none;
- overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $zindex-modal;
+ display: none;
+ overflow: hidden;
-webkit-overflow-scrolling: touch;
// Prevent Chrome on Windows from adding a focus outline. For details, see
@@ -51,11 +51,11 @@
.modal-content {
position: relative;
background-color: $modal-content-bg;
+ background-clip: padding-box;
border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
border: 1px solid $modal-content-border-color;
border-radius: $border-radius-large;
- @include box-shadow(0 3px 9px rgba(0,0,0,.5));
- background-clip: padding-box;
+ @include box-shadow(0 3px 9px rgba(0, 0, 0, .5));
// Remove focus outline from opened modal
outline: 0;
}
@@ -108,8 +108,8 @@
// Properly space out buttons
.btn + .btn {
- margin-left: 5px;
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
+ margin-left: 5px;
}
// but override that for button groups
.btn-group .btn + .btn {
@@ -138,7 +138,7 @@
margin: 30px auto;
}
.modal-content {
- @include box-shadow(0 5px 15px rgba(0,0,0,.5));
+ @include box-shadow(0 5px 15px rgba(0, 0, 0, .5));
}
// Modal sizes
diff --git a/assets/stylesheets/bootstrap/_navbar.scss b/assets/stylesheets/bootstrap/_navbar.scss
index 11e5c01c..c36ba00b 100644
--- a/assets/stylesheets/bootstrap/_navbar.scss
+++ b/assets/stylesheets/bootstrap/_navbar.scss
@@ -48,11 +48,11 @@
// content for the user's viewport.
.navbar-collapse {
- overflow-x: visible;
padding-right: $navbar-padding-horizontal;
- padding-left: $navbar-padding-horizontal;
+ padding-left: $navbar-padding-horizontal;
+ overflow-x: visible;
border-top: 1px solid transparent;
- box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
@include clearfix;
-webkit-overflow-scrolling: touch;
@@ -81,8 +81,8 @@
.navbar-fixed-top &,
.navbar-static-top &,
.navbar-fixed-bottom & {
- padding-left: 0;
padding-right: 0;
+ padding-left: 0;
}
}
}
@@ -108,11 +108,11 @@
> .navbar-header,
> .navbar-collapse {
margin-right: -$navbar-padding-horizontal;
- margin-left: -$navbar-padding-horizontal;
+ margin-left: -$navbar-padding-horizontal;
@media (min-width: $grid-float-breakpoint) {
margin-right: 0;
- margin-left: 0;
+ margin-left: 0;
}
}
}
@@ -162,10 +162,10 @@
.navbar-brand {
float: left;
+ height: $navbar-height;
padding: $navbar-padding-vertical $navbar-padding-horizontal;
font-size: $font-size-large;
line-height: $line-height-computed;
- height: $navbar-height;
&:hover,
&:focus {
@@ -193,8 +193,8 @@
.navbar-toggle {
position: relative;
float: right;
- margin-right: $navbar-padding-horizontal;
padding: 9px 10px;
+ margin-right: $navbar-padding-horizontal;
@include navbar-vertical-align(34px);
background-color: transparent;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
@@ -233,7 +233,7 @@
margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);
> li > a {
- padding-top: 10px;
+ padding-top: 10px;
padding-bottom: 10px;
line-height: $line-height-computed;
}
@@ -270,7 +270,7 @@
> li {
float: left;
> a {
- padding-top: $navbar-padding-vertical;
+ padding-top: $navbar-padding-vertical;
padding-bottom: $navbar-padding-vertical;
}
}
@@ -284,12 +284,12 @@
// our navbars.
.navbar-form {
- margin-left: -$navbar-padding-horizontal;
- margin-right: -$navbar-padding-horizontal;
padding: 10px $navbar-padding-horizontal;
+ margin-right: -$navbar-padding-horizontal;
+ margin-left: -$navbar-padding-horizontal;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
- $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+ $shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
@include box-shadow($shadow);
// Mixin behavior for optimum display
@@ -311,11 +311,11 @@
// Undo 100% width for pull classes
@media (min-width: $grid-float-breakpoint) {
width: auto;
- border: 0;
- margin-left: 0;
- margin-right: 0;
padding-top: 0;
padding-bottom: 0;
+ margin-right: 0;
+ margin-left: 0;
+ border: 0;
@include box-shadow(none);
}
}
@@ -361,8 +361,8 @@
@media (min-width: $grid-float-breakpoint) {
float: left;
- margin-left: $navbar-padding-horizontal;
margin-right: $navbar-padding-horizontal;
+ margin-left: $navbar-padding-horizontal;
}
}
@@ -462,8 +462,8 @@
&,
&:hover,
&:focus {
- background-color: $navbar-default-link-active-bg;
color: $navbar-default-link-active-color;
+ background-color: $navbar-default-link-active-bg;
}
}
@@ -596,8 +596,8 @@
&,
&:hover,
&:focus {
- background-color: $navbar-inverse-link-active-bg;
color: $navbar-inverse-link-active-color;
+ background-color: $navbar-inverse-link-active-bg;
}
}
diff --git a/assets/stylesheets/bootstrap/_navs.scss b/assets/stylesheets/bootstrap/_navs.scss
index 9d369f30..f4f0a55b 100644
--- a/assets/stylesheets/bootstrap/_navs.scss
+++ b/assets/stylesheets/bootstrap/_navs.scss
@@ -7,8 +7,8 @@
// --------------------------------------------------
.nav {
- margin-bottom: 0;
padding-left: 0; // Override default ul/ol
+ margin-bottom: 0;
list-style: none;
@include clearfix;
@@ -35,8 +35,8 @@
&:focus {
color: $nav-disabled-link-hover-color;
text-decoration: none;
- background-color: transparent;
cursor: $cursor-disabled;
+ background-color: transparent;
}
}
}
@@ -97,10 +97,10 @@
&:hover,
&:focus {
color: $nav-tabs-active-link-hover-color;
+ cursor: default;
background-color: $nav-tabs-active-link-hover-bg;
border: 1px solid $nav-tabs-active-link-hover-border-color;
border-bottom-color: transparent;
- cursor: default;
}
}
}
@@ -163,8 +163,8 @@
> li {
float: none;
> a {
- text-align: center;
margin-bottom: 5px;
+ text-align: center;
}
}
diff --git a/assets/stylesheets/bootstrap/_pager.scss b/assets/stylesheets/bootstrap/_pager.scss
index c2342174..07622389 100644
--- a/assets/stylesheets/bootstrap/_pager.scss
+++ b/assets/stylesheets/bootstrap/_pager.scss
@@ -6,8 +6,8 @@
.pager {
padding-left: 0;
margin: $line-height-computed 0;
- list-style: none;
text-align: center;
+ list-style: none;
@include clearfix;
li {
display: inline;
@@ -47,8 +47,8 @@
> a:focus,
> span {
color: $pager-disabled-color;
- background-color: $pager-bg;
cursor: $cursor-disabled;
+ background-color: $pager-bg;
}
}
}
diff --git a/assets/stylesheets/bootstrap/_pagination.scss b/assets/stylesheets/bootstrap/_pagination.scss
index fecfa9c6..c5308287 100644
--- a/assets/stylesheets/bootstrap/_pagination.scss
+++ b/assets/stylesheets/bootstrap/_pagination.scss
@@ -14,12 +14,20 @@
position: relative;
float: left; // Collapse white-space
padding: $padding-base-vertical $padding-base-horizontal;
+ margin-left: -1px;
line-height: $line-height-base;
- text-decoration: none;
color: $pagination-color;
+ text-decoration: none;
background-color: $pagination-bg;
border: 1px solid $pagination-border;
- margin-left: -1px;
+
+ &:hover,
+ &:focus {
+ z-index: 2;
+ color: $pagination-hover-color;
+ background-color: $pagination-hover-bg;
+ border-color: $pagination-hover-border;
+ }
}
&:first-child {
> a,
@@ -36,17 +44,6 @@
}
}
- > li > a,
- > li > span {
- &:hover,
- &:focus {
- z-index: 2;
- color: $pagination-hover-color;
- background-color: $pagination-hover-bg;
- border-color: $pagination-hover-border;
- }
- }
-
> .active > a,
> .active > span {
&,
@@ -54,9 +51,9 @@
&:focus {
z-index: 3;
color: $pagination-active-color;
+ cursor: default;
background-color: $pagination-active-bg;
border-color: $pagination-active-border;
- cursor: default;
}
}
@@ -68,9 +65,9 @@
> a:hover,
> a:focus {
color: $pagination-disabled-color;
+ cursor: $cursor-disabled;
background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border;
- cursor: $cursor-disabled;
}
}
}
diff --git a/assets/stylesheets/bootstrap/_panels.scss b/assets/stylesheets/bootstrap/_panels.scss
index 6c568def..8947ed25 100644
--- a/assets/stylesheets/bootstrap/_panels.scss
+++ b/assets/stylesheets/bootstrap/_panels.scss
@@ -9,7 +9,7 @@
background-color: $panel-bg;
border: 1px solid transparent;
border-radius: $panel-border-radius;
- @include box-shadow(0 1px 1px rgba(0,0,0,.05));
+ @include box-shadow(0 1px 1px rgba(0, 0, 0, .05));
}
// Panel contents
@@ -113,8 +113,8 @@
margin-bottom: 0;
caption {
- padding-left: $panel-body-padding;
padding-right: $panel-body-padding;
+ padding-left: $panel-body-padding;
}
}
// Add border top radius for first one
@@ -147,8 +147,8 @@
> tbody:last-child,
> tfoot:last-child {
> tr:last-child {
- border-bottom-left-radius: ($panel-border-radius - 1);
border-bottom-right-radius: ($panel-border-radius - 1);
+ border-bottom-left-radius: ($panel-border-radius - 1);
td:first-child,
th:first-child {
@@ -208,8 +208,8 @@
}
}
> .table-responsive {
- border: 0;
margin-bottom: 0;
+ border: 0;
}
}
diff --git a/assets/stylesheets/bootstrap/_popovers.scss b/assets/stylesheets/bootstrap/_popovers.scss
index 9b90a2e9..8fb05eae 100644
--- a/assets/stylesheets/bootstrap/_popovers.scss
+++ b/assets/stylesheets/bootstrap/_popovers.scss
@@ -15,24 +15,44 @@
// So reset our font and text properties to avoid inheriting weird values.
@include reset-text;
font-size: $font-size-base;
-
background-color: $popover-bg;
background-clip: padding-box;
border: 1px solid $popover-fallback-border-color;
border: 1px solid $popover-border-color;
border-radius: $border-radius-large;
- @include box-shadow(0 5px 10px rgba(0,0,0,.2));
+ @include box-shadow(0 5px 10px rgba(0, 0, 0, .2));
// Offset the popover to account for the popover arrow
- &.top { margin-top: -$popover-arrow-width; }
- &.right { margin-left: $popover-arrow-width; }
- &.bottom { margin-top: $popover-arrow-width; }
- &.left { margin-left: -$popover-arrow-width; }
+ &.top { margin-top: -$popover-arrow-width; }
+ &.right { margin-left: $popover-arrow-width; }
+ &.bottom { margin-top: $popover-arrow-width; }
+ &.left { margin-left: -$popover-arrow-width; }
+
+ // Arrows
+ // .arrow is outer, .arrow::after is inner
+ > .arrow {
+ border-width: $popover-arrow-outer-width;
+
+ &,
+ &::after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ }
+
+ &::after {
+ content: "";
+ border-width: $popover-arrow-width;
+ }
+ }
}
.popover-title {
- margin: 0; // reset heading margin
padding: 8px 14px;
+ margin: 0; // reset heading margin
font-size: $font-size-base;
background-color: $popover-title-bg;
border-bottom: 1px solid darken($popover-title-bg, 5%);
@@ -43,71 +63,48 @@
padding: 9px 14px;
}
-// Arrows
-//
-// .arrow is outer, .arrow:after is inner
-
-.popover > .arrow {
- &,
- &:after {
- position: absolute;
- display: block;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
- }
-}
-.popover > .arrow {
- border-width: $popover-arrow-outer-width;
-}
-.popover > .arrow:after {
- border-width: $popover-arrow-width;
- content: "";
-}
-
.popover {
&.top > .arrow {
+ bottom: -$popover-arrow-outer-width;
left: 50%;
margin-left: -$popover-arrow-outer-width;
- border-bottom-width: 0;
border-top-color: $popover-arrow-outer-fallback-color; // IE8 fallback
border-top-color: $popover-arrow-outer-color;
- bottom: -$popover-arrow-outer-width;
- &:after {
- content: " ";
+ border-bottom-width: 0;
+ &::after {
bottom: 1px;
margin-left: -$popover-arrow-width;
- border-bottom-width: 0;
+ content: " ";
border-top-color: $popover-arrow-color;
+ border-bottom-width: 0;
}
}
&.right > .arrow {
top: 50%;
left: -$popover-arrow-outer-width;
margin-top: -$popover-arrow-outer-width;
- border-left-width: 0;
border-right-color: $popover-arrow-outer-fallback-color; // IE8 fallback
border-right-color: $popover-arrow-outer-color;
- &:after {
- content: " ";
- left: 1px;
+ border-left-width: 0;
+ &::after {
bottom: -$popover-arrow-width;
- border-left-width: 0;
+ left: 1px;
+ content: " ";
border-right-color: $popover-arrow-color;
+ border-left-width: 0;
}
}
&.bottom > .arrow {
+ top: -$popover-arrow-outer-width;
left: 50%;
margin-left: -$popover-arrow-outer-width;
border-top-width: 0;
border-bottom-color: $popover-arrow-outer-fallback-color; // IE8 fallback
border-bottom-color: $popover-arrow-outer-color;
- top: -$popover-arrow-outer-width;
- &:after {
- content: " ";
+ &::after {
top: 1px;
margin-left: -$popover-arrow-width;
+ content: " ";
border-top-width: 0;
border-bottom-color: $popover-arrow-color;
}
@@ -120,12 +117,12 @@
border-right-width: 0;
border-left-color: $popover-arrow-outer-fallback-color; // IE8 fallback
border-left-color: $popover-arrow-outer-color;
- &:after {
- content: " ";
+ &::after {
right: 1px;
+ bottom: -$popover-arrow-width;
+ content: " ";
border-right-width: 0;
border-left-color: $popover-arrow-color;
- bottom: -$popover-arrow-width;
}
}
}
diff --git a/assets/stylesheets/bootstrap/_print.scss b/assets/stylesheets/bootstrap/_print.scss
index 66e54ab4..8798d675 100644
--- a/assets/stylesheets/bootstrap/_print.scss
+++ b/assets/stylesheets/bootstrap/_print.scss
@@ -6,96 +6,94 @@
// ==========================================================================
@media print {
- *,
- *:before,
- *:after {
- background: transparent !important;
- color: #000 !important; // Black prints faster: h5bp.com/s
- box-shadow: none !important;
- text-shadow: none !important;
- }
-
- a,
- a:visited {
- text-decoration: underline;
- }
-
- a[href]:after {
- content: " (" attr(href) ")";
- }
-
- abbr[title]:after {
- content: " (" attr(title) ")";
- }
-
- // Don't show links that are fragment identifiers,
- // or use the `javascript:` pseudo protocol
- a[href^="#"]:after,
- a[href^="javascript:"]:after {
- content: "";
- }
-
- pre,
- blockquote {
- border: 1px solid #999;
- page-break-inside: avoid;
- }
-
- thead {
- display: table-header-group; // h5bp.com/t
- }
-
- tr,
- img {
- page-break-inside: avoid;
- }
-
- img {
- max-width: 100% !important;
- }
-
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3;
- }
-
- h2,
- h3 {
- page-break-after: avoid;
- }
-
- // Bootstrap specific changes start
-
- // Bootstrap components
- .navbar {
- display: none;
- }
- .btn,
- .dropup > .btn {
- > .caret {
- border-top-color: #000 !important;
- }
- }
- .label {
- border: 1px solid #000;
- }
-
- .table {
- border-collapse: collapse !important;
-
- td,
- th {
- background-color: #fff !important;
- }
- }
- .table-bordered {
- th,
- td {
- border: 1px solid #ddd !important;
- }
- }
-
- // Bootstrap specific changes end
+ *,
+ *::before,
+ *::after {
+ color: #000 !important; // Black prints faster: h5bp.com/s
+ text-shadow: none !important;
+ background: transparent !important;
+ box-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]::after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]::after {
+ content: " (" attr(title) ")";
+ }
+
+ // Don't show links that are fragment identifiers,
+ // or use the `javascript:` pseudo protocol
+ a[href^="#"]::after,
+ a[href^="javascript:"]::after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group; // h5bp.com/t
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+
+ // Bootstrap specific changes start
+
+ // Bootstrap components
+ .navbar {
+ display: none;
+ }
+ .btn,
+ .dropup > .btn {
+ > .caret {
+ border-top-color: #000 !important;
+ }
+ }
+ .label {
+ border: 1px solid #000;
+ }
+
+ .table {
+ border-collapse: collapse !important;
+
+ td,
+ th {
+ background-color: #fff !important;
+ }
+ }
+ .table-bordered {
+ th,
+ td {
+ border: 1px solid #ddd !important;
+ }
+ }
}
diff --git a/assets/stylesheets/bootstrap/_progress-bars.scss b/assets/stylesheets/bootstrap/_progress-bars.scss
index 343df632..e7897dee 100644
--- a/assets/stylesheets/bootstrap/_progress-bars.scss
+++ b/assets/stylesheets/bootstrap/_progress-bars.scss
@@ -24,12 +24,12 @@
// Outer container
.progress {
- overflow: hidden;
height: $line-height-computed;
margin-bottom: $line-height-computed;
+ overflow: hidden;
background-color: $progress-bg;
border-radius: $progress-border-radius;
- @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
+ @include box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1));
}
// Bar of progress
@@ -42,7 +42,7 @@
color: $progress-bar-color;
text-align: center;
background-color: $progress-bar-bg;
- @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
+ @include box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15));
@include transition(width .6s ease);
}
diff --git a/assets/stylesheets/bootstrap/_responsive-embed.scss b/assets/stylesheets/bootstrap/_responsive-embed.scss
index 080a5118..5a0e0b88 100644
--- a/assets/stylesheets/bootstrap/_responsive-embed.scss
+++ b/assets/stylesheets/bootstrap/_responsive-embed.scss
@@ -16,10 +16,10 @@
video {
position: absolute;
top: 0;
- left: 0;
bottom: 0;
- height: 100%;
+ left: 0;
width: 100%;
+ height: 100%;
border: 0;
}
}
diff --git a/assets/stylesheets/bootstrap/_scaffolding.scss b/assets/stylesheets/bootstrap/_scaffolding.scss
index 362c7e2a..ed86df12 100644
--- a/assets/stylesheets/bootstrap/_scaffolding.scss
+++ b/assets/stylesheets/bootstrap/_scaffolding.scss
@@ -11,8 +11,8 @@
* {
@include box-sizing(border-box);
}
-*:before,
-*:after {
+*::before,
+*::after {
@include box-sizing(border-box);
}
@@ -21,7 +21,7 @@
html {
font-size: 10px;
- -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
@@ -111,7 +111,7 @@ img {
// Horizontal rules
hr {
- margin-top: $line-height-computed;
+ margin-top: $line-height-computed;
margin-bottom: $line-height-computed;
border: 0;
border-top: 1px solid $hr-border;
@@ -126,10 +126,10 @@ hr {
position: absolute;
width: 1px;
height: 1px;
- margin: -1px;
padding: 0;
+ margin: -1px;
overflow: hidden;
- clip: rect(0,0,0,0);
+ clip: rect(0, 0, 0, 0);
border: 0;
}
diff --git a/assets/stylesheets/bootstrap/_tables.scss b/assets/stylesheets/bootstrap/_tables.scss
index affcc58c..7bff4b04 100644
--- a/assets/stylesheets/bootstrap/_tables.scss
+++ b/assets/stylesheets/bootstrap/_tables.scss
@@ -5,13 +5,34 @@
table {
background-color: $table-bg;
+
+ // Table cell sizing
+ //
+ // Reset default table behavior
+
+ col[class*="col-"] {
+ position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
+ display: table-column;
+ float: none;
+ }
+
+ td,
+ th {
+ &[class*="col-"] {
+ position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
+ display: table-cell;
+ float: none;
+ }
+ }
}
+
caption {
padding-top: $table-cell-padding;
padding-bottom: $table-cell-padding;
color: $text-muted;
text-align: left;
}
+
th {
text-align: left;
}
@@ -128,27 +149,6 @@ th {
}
-// Table cell sizing
-//
-// Reset default table behavior
-
-table col[class*="col-"] {
- position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
- float: none;
- display: table-column;
-}
-table {
- td,
- th {
- &[class*="col-"] {
- position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
- float: none;
- display: table-cell;
- }
- }
-}
-
-
// Table backgrounds
//
// Exact selectors below required to override `.table-striped` and prevent
@@ -169,12 +169,12 @@ table {
// will display normally.
.table-responsive {
+ min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
overflow-x: auto;
- min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
@media screen and (max-width: $screen-xs-max) {
width: 100%;
- margin-bottom: ($line-height-computed * 0.75);
+ margin-bottom: ($line-height-computed * .75);
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid $table-border-color;
diff --git a/assets/stylesheets/bootstrap/_theme.scss b/assets/stylesheets/bootstrap/_theme.scss
index c1b0e9c6..eb3a8f57 100644
--- a/assets/stylesheets/bootstrap/_theme.scss
+++ b/assets/stylesheets/bootstrap/_theme.scss
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Bootstrap v3.4.0 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -23,14 +23,14 @@
.btn-info,
.btn-warning,
.btn-danger {
- text-shadow: 0 -1px 0 rgba(0,0,0,.2);
- $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
+ $shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
@include box-shadow($shadow);
// Reset the shadow
&:active,
&.active {
- @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+ @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));
}
&.disabled,
@@ -88,7 +88,11 @@
}
// Apply the mixin to the buttons
-.btn-default { @include btn-styles($btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
+.btn-default {
+ @include btn-styles($btn-default-bg);
+ text-shadow: 0 1px 0 #fff;
+ border-color: #ccc;
+}
.btn-primary { @include btn-styles($btn-primary-bg); }
.btn-success { @include btn-styles($btn-success-bg); }
.btn-info { @include btn-styles($btn-info-bg); }
@@ -102,7 +106,7 @@
.thumbnail,
.img-thumbnail {
- @include box-shadow(0 1px 2px rgba(0,0,0,.075));
+ @include box-shadow(0 1px 2px rgba(0, 0, 0, .075));
}
@@ -132,18 +136,18 @@
@include gradient-vertical($start-color: lighten($navbar-default-bg, 10%), $end-color: $navbar-default-bg);
@include reset-filter; // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
border-radius: $navbar-border-radius;
- $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
+ $shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
@include box-shadow($shadow);
.navbar-nav > .open > a,
.navbar-nav > .active > a {
@include gradient-vertical($start-color: darken($navbar-default-link-active-bg, 5%), $end-color: darken($navbar-default-link-active-bg, 2%));
- @include box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
+ @include box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));
}
}
.navbar-brand,
.navbar-nav > li > a {
- text-shadow: 0 1px 0 rgba(255,255,255,.25);
+ text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
// Inverted navbar
@@ -154,12 +158,12 @@
.navbar-nav > .open > a,
.navbar-nav > .active > a {
@include gradient-vertical($start-color: $navbar-inverse-link-active-bg, $end-color: lighten($navbar-inverse-link-active-bg, 2.5%));
- @include box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
+ @include box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));
}
.navbar-brand,
.navbar-nav > li > a {
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
}
@@ -189,8 +193,8 @@
// Common styles
.alert {
- text-shadow: 0 1px 0 rgba(255,255,255,.2);
- $shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
+ text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
+ $shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
@include box-shadow($shadow);
}
@@ -241,7 +245,7 @@
.list-group {
border-radius: $border-radius-base;
- @include box-shadow(0 1px 2px rgba(0,0,0,.075));
+ @include box-shadow(0 1px 2px rgba(0, 0, 0, .075));
}
.list-group-item.active,
.list-group-item.active:hover,
@@ -262,7 +266,7 @@
// Common styles
.panel {
- @include box-shadow(0 1px 2px rgba(0,0,0,.05));
+ @include box-shadow(0 1px 2px rgba(0, 0, 0, .05));
}
// Mixin for generating new styles
@@ -286,6 +290,6 @@
.well {
@include gradient-vertical($start-color: darken($well-bg, 5%), $end-color: $well-bg);
border-color: darken($well-bg, 10%);
- $shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
+ $shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
@include box-shadow($shadow);
}
diff --git a/assets/stylesheets/bootstrap/_thumbnails.scss b/assets/stylesheets/bootstrap/_thumbnails.scss
index da0e1e76..835452f3 100644
--- a/assets/stylesheets/bootstrap/_thumbnails.scss
+++ b/assets/stylesheets/bootstrap/_thumbnails.scss
@@ -17,8 +17,8 @@
> img,
a > img {
@include img-responsive;
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
}
// [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active
diff --git a/assets/stylesheets/bootstrap/_tooltip.scss b/assets/stylesheets/bootstrap/_tooltip.scss
index f0c16582..69253390 100644
--- a/assets/stylesheets/bootstrap/_tooltip.scss
+++ b/assets/stylesheets/bootstrap/_tooltip.scss
@@ -15,11 +15,23 @@
@include opacity(0);
- &.in { @include opacity($tooltip-opacity); }
- &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }
- &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; }
- &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; }
- &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; }
+ &.in { @include opacity($tooltip-opacity); }
+ &.top {
+ padding: $tooltip-arrow-width 0;
+ margin-top: -3px;
+ }
+ &.right {
+ padding: 0 $tooltip-arrow-width;
+ margin-left: 3px;
+ }
+ &.bottom {
+ padding: $tooltip-arrow-width 0;
+ margin-top: 3px;
+ }
+ &.left {
+ padding: 0 $tooltip-arrow-width;
+ margin-left: -3px;
+ }
}
// Wrapper for the tooltip content
@@ -50,8 +62,8 @@
border-top-color: $tooltip-arrow-color;
}
&.top-left .tooltip-arrow {
- bottom: 0;
right: $tooltip-arrow-width;
+ bottom: 0;
margin-bottom: -$tooltip-arrow-width;
border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
border-top-color: $tooltip-arrow-color;
diff --git a/assets/stylesheets/bootstrap/_type.scss b/assets/stylesheets/bootstrap/_type.scss
index 620796ad..8668269c 100644
--- a/assets/stylesheets/bootstrap/_type.scss
+++ b/assets/stylesheets/bootstrap/_type.scss
@@ -15,7 +15,7 @@ h1, h2, h3, h4, h5, h6,
small,
.small {
- font-weight: normal;
+ font-weight: 400;
line-height: 1;
color: $headings-small-color;
}
@@ -82,8 +82,8 @@ small,
mark,
.mark {
- background-color: $state-warning-bg;
padding: .2em;
+ background-color: $state-warning-bg;
}
// Alignment
@@ -176,8 +176,8 @@ ol {
> li {
display: inline-block;
- padding-left: 5px;
padding-right: 5px;
+ padding-left: 5px;
}
}
@@ -191,7 +191,7 @@ dd {
line-height: $line-height-base;
}
dt {
- font-weight: bold;
+ font-weight: 700;
}
dd {
margin-left: 0; // Undo browser default
@@ -225,13 +225,6 @@ dd {
// Misc
// -------------------------
-// Abbreviations and acronyms
-abbr[title],
-// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
-abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted $abbr-border-color;
-}
.initialism {
font-size: 90%;
@extend .text-uppercase;
@@ -262,8 +255,8 @@ blockquote {
line-height: $line-height-base;
color: $blockquote-small-color;
- &:before {
- content: '\2014 \00A0'; // em dash, nbsp
+ &::before {
+ content: "\2014 \00A0"; // em dash, nbsp
}
}
}
@@ -275,17 +268,17 @@ blockquote {
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
+ text-align: right;
border-right: 5px solid $blockquote-border-color;
border-left: 0;
- text-align: right;
// Account for citation
footer,
small,
.small {
- &:before { content: ''; }
- &:after {
- content: '\00A0 \2014'; // nbsp, em dash
+ &::before { content: ""; }
+ &::after {
+ content: "\00A0 \2014"; // nbsp, em dash
}
}
}
diff --git a/assets/stylesheets/bootstrap/_variables.scss b/assets/stylesheets/bootstrap/_variables.scss
index e0496852..f7754f8e 100644
--- a/assets/stylesheets/bootstrap/_variables.scss
+++ b/assets/stylesheets/bootstrap/_variables.scss
@@ -43,22 +43,22 @@ $link-hover-decoration: underline !default;
//
//## Font, line-height, and color for body text, headings, and more.
-$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
+$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
-$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
+$font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Courier New", monospace !default;
$font-family-base: $font-family-sans-serif !default;
$font-size-base: 14px !default;
$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
-$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
+$font-size-small: ceil(($font-size-base * .85)) !default; // ~12px
$font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px
$font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px
$font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px
$font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px
$font-size-h5: $font-size-base !default;
-$font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px
+$font-size-h6: ceil(($font-size-base * .85)) !default; // ~12px
//** Unit-less `line-height` for use in components like buttons.
$line-height-base: 1.428571429 !default; // 20/14
@@ -239,7 +239,7 @@ $cursor-disabled: not-allowed !default;
//** Background for the dropdown menu.
$dropdown-bg: #fff !default;
//** Dropdown menu `border-color`.
-$dropdown-border: rgba(0,0,0,.15) !default;
+$dropdown-border: rgba(0, 0, 0, .15) !default;
//** Dropdown menu `border-color` **for IE8**.
$dropdown-fallback-border: #ccc !default;
//** Divider color for between dropdown items.
@@ -545,7 +545,7 @@ $popover-bg: #fff !default;
//** Popover maximum width
$popover-max-width: 276px !default;
//** Popover border color
-$popover-border-color: rgba(0,0,0,.2) !default;
+$popover-border-color: rgba(0, 0, 0, .2) !default;
//** Popover fallback border color
$popover-fallback-border-color: #ccc !default;
@@ -603,7 +603,7 @@ $modal-title-line-height: $line-height-base !default;
//** Background color of modal content area
$modal-content-bg: #fff !default;
//** Modal content border color
-$modal-content-border-color: rgba(0,0,0,.2) !default;
+$modal-content-border-color: rgba(0, 0, 0, .2) !default;
//** Modal content border color **for IE8**
$modal-content-fallback-border-color: #999 !default;
@@ -808,7 +808,7 @@ $breadcrumb-separator: "/" !default;
//
//##
-$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
+$carousel-text-shadow: 0 1px 2px rgba(0, 0, 0, .6) !default;
$carousel-control-color: #fff !default;
$carousel-control-width: 15% !default;
diff --git a/assets/stylesheets/bootstrap/_wells.scss b/assets/stylesheets/bootstrap/_wells.scss
index b8657118..9a048bdd 100644
--- a/assets/stylesheets/bootstrap/_wells.scss
+++ b/assets/stylesheets/bootstrap/_wells.scss
@@ -11,10 +11,10 @@
background-color: $well-bg;
border: 1px solid $well-border;
border-radius: $border-radius-base;
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));
blockquote {
border-color: #ddd;
- border-color: rgba(0,0,0,.15);
+ border-color: rgba(0, 0, 0, .15);
}
}
diff --git a/assets/stylesheets/bootstrap/mixins/_alerts.scss b/assets/stylesheets/bootstrap/mixins/_alerts.scss
index 3faf0b5a..b1e6df9d 100644
--- a/assets/stylesheets/bootstrap/mixins/_alerts.scss
+++ b/assets/stylesheets/bootstrap/mixins/_alerts.scss
@@ -1,13 +1,14 @@
// Alerts
@mixin alert-variant($background, $border, $text-color) {
+ color: $text-color;
background-color: $background;
border-color: $border;
- color: $text-color;
hr {
border-top-color: darken($border, 5%);
}
+
.alert-link {
color: darken($text-color, 10%);
}
diff --git a/assets/stylesheets/bootstrap/mixins/_border-radius.scss b/assets/stylesheets/bootstrap/mixins/_border-radius.scss
index ce194998..e03c3908 100644
--- a/assets/stylesheets/bootstrap/mixins/_border-radius.scss
+++ b/assets/stylesheets/bootstrap/mixins/_border-radius.scss
@@ -1,18 +1,18 @@
// Single side border-radius
@mixin border-top-radius($radius) {
+ border-top-left-radius: $radius;
border-top-right-radius: $radius;
- border-top-left-radius: $radius;
}
@mixin border-right-radius($radius) {
+ border-top-right-radius: $radius;
border-bottom-right-radius: $radius;
- border-top-right-radius: $radius;
}
@mixin border-bottom-radius($radius) {
border-bottom-right-radius: $radius;
- border-bottom-left-radius: $radius;
+ border-bottom-left-radius: $radius;
}
@mixin border-left-radius($radius) {
+ border-top-left-radius: $radius;
border-bottom-left-radius: $radius;
- border-top-left-radius: $radius;
}
diff --git a/assets/stylesheets/bootstrap/mixins/_buttons.scss b/assets/stylesheets/bootstrap/mixins/_buttons.scss
index b93f84b2..5afa735e 100644
--- a/assets/stylesheets/bootstrap/mixins/_buttons.scss
+++ b/assets/stylesheets/bootstrap/mixins/_buttons.scss
@@ -12,33 +12,29 @@
&.focus {
color: $color;
background-color: darken($background, 10%);
- border-color: darken($border, 25%);
+ border-color: darken($border, 25%);
}
&:hover {
color: $color;
background-color: darken($background, 10%);
- border-color: darken($border, 12%);
+ border-color: darken($border, 12%);
}
&:active,
&.active,
.open > &.dropdown-toggle {
color: $color;
background-color: darken($background, 10%);
- border-color: darken($border, 12%);
+ background-image: none;
+ border-color: darken($border, 12%);
&:hover,
&:focus,
&.focus {
color: $color;
background-color: darken($background, 17%);
- border-color: darken($border, 25%);
+ border-color: darken($border, 25%);
}
}
- &:active,
- &.active,
- .open > &.dropdown-toggle {
- background-image: none;
- }
&.disabled,
&[disabled],
fieldset[disabled] & {
@@ -46,7 +42,7 @@
&:focus,
&.focus {
background-color: $background;
- border-color: $border;
+ border-color: $border;
}
}
diff --git a/assets/stylesheets/bootstrap/mixins/_center-block.scss b/assets/stylesheets/bootstrap/mixins/_center-block.scss
index e06fb5e2..ed69097f 100644
--- a/assets/stylesheets/bootstrap/mixins/_center-block.scss
+++ b/assets/stylesheets/bootstrap/mixins/_center-block.scss
@@ -2,6 +2,6 @@
@mixin center-block() {
display: block;
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
}
diff --git a/assets/stylesheets/bootstrap/mixins/_clearfix.scss b/assets/stylesheets/bootstrap/mixins/_clearfix.scss
index dc3e2ab4..31dda0b2 100644
--- a/assets/stylesheets/bootstrap/mixins/_clearfix.scss
+++ b/assets/stylesheets/bootstrap/mixins/_clearfix.scss
@@ -6,17 +6,17 @@
// Otherwise it causes space to appear at the top and bottom of elements
// that are clearfixed.
// 2. The use of `table` rather than `block` is only necessary if using
-// `:before` to contain the top-margins of child elements.
+// `::before` to contain the top-margins of child elements.
//
// Source: http://nicolasgallagher.com/micro-clearfix-hack/
@mixin clearfix() {
- &:before,
- &:after {
- content: " "; // 1
+ &::before,
+ &::after {
display: table; // 2
+ content: " "; // 1
}
- &:after {
+ &::after {
clear: both;
}
}
diff --git a/assets/stylesheets/bootstrap/mixins/_forms.scss b/assets/stylesheets/bootstrap/mixins/_forms.scss
index 277aa5f8..46578a14 100644
--- a/assets/stylesheets/bootstrap/mixins/_forms.scss
+++ b/assets/stylesheets/bootstrap/mixins/_forms.scss
@@ -20,18 +20,18 @@
// Set the border and box shadow on specific inputs to match
.form-control {
border-color: $border-color;
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work
&:focus {
border-color: darken($border-color, 10%);
- $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
+ $shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten($border-color, 20%);
@include box-shadow($shadow);
}
}
// Set validation states also for addons
.input-group-addon {
color: $text-color;
- border-color: $border-color;
background-color: $background-color;
+ border-color: $border-color;
}
// Optional feedback icon
.form-control-feedback {
@@ -57,7 +57,7 @@
&:focus {
border-color: $color;
outline: 0;
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px $color-rgba);
}
}
diff --git a/assets/stylesheets/bootstrap/mixins/_gradients.scss b/assets/stylesheets/bootstrap/mixins/_gradients.scss
index a8939f5a..fd814407 100644
--- a/assets/stylesheets/bootstrap/mixins/_gradients.scss
+++ b/assets/stylesheets/bootstrap/mixins/_gradients.scss
@@ -1,5 +1,3 @@
-// Gradients
-
// Horizontal gradient, from left to right
@@ -10,8 +8,8 @@
background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
- background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
+ background-repeat: repeat-x;
}
// Vertical gradient, from top to bottom
@@ -22,36 +20,36 @@
background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
- background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
+ background-repeat: repeat-x;
}
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
- background-repeat: repeat-x;
background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+
background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12
background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
+ background-repeat: repeat-x;
}
@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
- background-repeat: no-repeat;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
+ background-repeat: no-repeat;
}
@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
- background-repeat: no-repeat;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
+ background-repeat: no-repeat;
}
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
background-image: radial-gradient(circle, $inner-color, $outer-color);
background-repeat: no-repeat;
}
-@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
+@mixin gradient-striped($color: rgba(255, 255, 255, .15), $angle: 45deg) {
background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
diff --git a/assets/stylesheets/bootstrap/mixins/_grid-framework.scss b/assets/stylesheets/bootstrap/mixins/_grid-framework.scss
index 16d038c0..2b84cb13 100644
--- a/assets/stylesheets/bootstrap/mixins/_grid-framework.scss
+++ b/assets/stylesheets/bootstrap/mixins/_grid-framework.scss
@@ -13,8 +13,8 @@
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
- padding-left: ceil(($grid-gutter-width / 2));
padding-right: floor(($grid-gutter-width / 2));
+ padding-left: ceil(($grid-gutter-width / 2));
}
}
diff --git a/assets/stylesheets/bootstrap/mixins/_grid.scss b/assets/stylesheets/bootstrap/mixins/_grid.scss
index 59551dac..884ac4f5 100644
--- a/assets/stylesheets/bootstrap/mixins/_grid.scss
+++ b/assets/stylesheets/bootstrap/mixins/_grid.scss
@@ -4,17 +4,17 @@
// Centered container element
@mixin container-fixed($gutter: $grid-gutter-width) {
+ padding-right: ceil(($gutter / 2));
+ padding-left: floor(($gutter / 2));
margin-right: auto;
margin-left: auto;
- padding-left: floor(($gutter / 2));
- padding-right: ceil(($gutter / 2));
@include clearfix;
}
// Creates a wrapper for a series of columns
@mixin make-row($gutter: $grid-gutter-width) {
- margin-left: ceil(($gutter / -2));
margin-right: floor(($gutter / -2));
+ margin-left: ceil(($gutter / -2));
@include clearfix;
}
@@ -24,8 +24,8 @@
float: left;
width: percentage(($columns / $grid-columns));
min-height: 1px;
- padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
+ padding-left: ($gutter / 2);
}
@mixin make-xs-column-offset($columns) {
margin-left: percentage(($columns / $grid-columns));
@@ -41,8 +41,8 @@
@mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
position: relative;
min-height: 1px;
- padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
+ padding-left: ($gutter / 2);
@media (min-width: $screen-sm-min) {
float: left;
@@ -69,8 +69,8 @@
@mixin make-md-column($columns, $gutter: $grid-gutter-width) {
position: relative;
min-height: 1px;
- padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
+ padding-left: ($gutter / 2);
@media (min-width: $screen-md-min) {
float: left;
@@ -97,8 +97,8 @@
@mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
position: relative;
min-height: 1px;
- padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
+ padding-left: ($gutter / 2);
@media (min-width: $screen-lg-min) {
float: left;
diff --git a/assets/stylesheets/bootstrap/mixins/_image.scss b/assets/stylesheets/bootstrap/mixins/_image.scss
index c8dcf5e9..b5a109b2 100644
--- a/assets/stylesheets/bootstrap/mixins/_image.scss
+++ b/assets/stylesheets/bootstrap/mixins/_image.scss
@@ -1,8 +1,3 @@
-// Image Mixins
-// - Responsive image
-// - Retina image
-
-
// Responsive image
//
// Keep images from scaling beyond the width of their parents.
@@ -22,11 +17,11 @@
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
- only screen and ( min--moz-device-pixel-ratio: 2),
- only screen and ( -o-min-device-pixel-ratio: 2/1),
- only screen and ( min-device-pixel-ratio: 2),
- only screen and ( min-resolution: 192dpi),
- only screen and ( min-resolution: 2dppx) {
+ only screen and ( min--moz-device-pixel-ratio: 2),
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
+ only screen and ( min-device-pixel-ratio: 2),
+ only screen and ( min-resolution: 192dpi),
+ only screen and ( min-resolution: 2dppx) {
background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-2x}"), "#{$file-2x}"));
background-size: $width-1x $height-1x;
}
diff --git a/assets/stylesheets/bootstrap/mixins/_opacity.scss b/assets/stylesheets/bootstrap/mixins/_opacity.scss
index 88e9a576..e9c55733 100644
--- a/assets/stylesheets/bootstrap/mixins/_opacity.scss
+++ b/assets/stylesheets/bootstrap/mixins/_opacity.scss
@@ -1,8 +1,7 @@
// Opacity
@mixin opacity($opacity) {
- opacity: $opacity;
- // IE8 filter
- $opacity-ie: ($opacity * 100);
+ $opacity-ie: ($opacity * 100); // IE8 filter
filter: alpha(opacity=$opacity-ie);
+ opacity: $opacity;
}
diff --git a/assets/stylesheets/bootstrap/mixins/_reset-text.scss b/assets/stylesheets/bootstrap/mixins/_reset-text.scss
index c9c28417..8997eca2 100644
--- a/assets/stylesheets/bootstrap/mixins/_reset-text.scss
+++ b/assets/stylesheets/bootstrap/mixins/_reset-text.scss
@@ -2,17 +2,17 @@
font-family: $font-family-base;
// We deliberately do NOT reset font-size.
font-style: normal;
- font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
+ font-weight: 400;
line-height: $line-height-base;
+ line-break: auto;
text-align: left; // Fallback for where `start` is not supported
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
- white-space: normal;
+ letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
+ white-space: normal;
}
diff --git a/assets/stylesheets/bootstrap/mixins/_resize.scss b/assets/stylesheets/bootstrap/mixins/_resize.scss
index 83fa6379..66f233a6 100644
--- a/assets/stylesheets/bootstrap/mixins/_resize.scss
+++ b/assets/stylesheets/bootstrap/mixins/_resize.scss
@@ -1,6 +1,6 @@
// Resize anything
@mixin resizable($direction) {
- resize: $direction; // Options: horizontal, vertical, both
overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
+ resize: $direction; // Options: horizontal, vertical, both
}
diff --git a/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss b/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss
index cbdf7772..d25ef973 100644
--- a/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss
+++ b/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss
@@ -1,7 +1,3 @@
-// Responsive utilities
-
-//
-// More easily include all the states for responsive-utilities.less.
// [converter] $parent hack
@mixin responsive-visibility($parent) {
#{$parent} {
diff --git a/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss b/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss
index b3d0371f..93d57752 100644
--- a/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss
+++ b/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss
@@ -89,12 +89,12 @@
// Optional hyphenation
@mixin hyphens($mode: auto) {
- word-wrap: break-word;
-webkit-hyphens: $mode;
-moz-hyphens: $mode;
-ms-hyphens: $mode; // IE10+
-o-hyphens: $mode;
hyphens: $mode;
+ word-wrap: break-word;
}
// Placeholder text
diff --git a/lib/bootstrap-sass/version.rb b/lib/bootstrap-sass/version.rb
index bf622f2a..0a2d8d23 100644
--- a/lib/bootstrap-sass/version.rb
+++ b/lib/bootstrap-sass/version.rb
@@ -1,4 +1,4 @@
module Bootstrap
VERSION = '3.3.7'
- BOOTSTRAP_SHA = '0b9c4a4007c44201dce9a6cc1a38407005c26c86'
+ BOOTSTRAP_SHA = 'v3.4.0-dev'
end
diff --git a/templates/project/_bootstrap-variables.sass b/templates/project/_bootstrap-variables.sass
index 898495d4..598642a2 100644
--- a/templates/project/_bootstrap-variables.sass
+++ b/templates/project/_bootstrap-variables.sass
@@ -44,22 +44,22 @@
//
//## Font, line-height, and color for body text, headings, and more.
-// $font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif
+// $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif
// $font-family-serif: Georgia, "Times New Roman", Times, serif
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
-// $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace
+// $font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Courier New", monospace
// $font-family-base: $font-family-sans-serif
// $font-size-base: 14px
// $font-size-large: ceil(($font-size-base * 1.25)) // ~18px
-// $font-size-small: ceil(($font-size-base * 0.85)) // ~12px
+// $font-size-small: ceil(($font-size-base * .85)) // ~12px
// $font-size-h1: floor(($font-size-base * 2.6)) // ~36px
// $font-size-h2: floor(($font-size-base * 2.15)) // ~30px
// $font-size-h3: ceil(($font-size-base * 1.7)) // ~24px
// $font-size-h4: ceil(($font-size-base * 1.25)) // ~18px
// $font-size-h5: $font-size-base
-// $font-size-h6: ceil(($font-size-base * 0.85)) // ~12px
+// $font-size-h6: ceil(($font-size-base * .85)) // ~12px
//** Unit-less `line-height` for use in components like buttons.
// $line-height-base: 1.428571429 // 20/14
@@ -240,7 +240,7 @@
//** Background for the dropdown menu.
// $dropdown-bg: #fff
//** Dropdown menu `border-color`.
-// $dropdown-border: rgba(0,0,0,.15)
+// $dropdown-border: rgba(0, 0, 0, .15)
//** Dropdown menu `border-color` **for IE8**.
// $dropdown-fallback-border: #ccc
//** Divider color for between dropdown items.
@@ -546,7 +546,7 @@
//** Popover maximum width
// $popover-max-width: 276px
//** Popover border color
-// $popover-border-color: rgba(0,0,0,.2)
+// $popover-border-color: rgba(0, 0, 0, .2)
//** Popover fallback border color
// $popover-fallback-border-color: #ccc
@@ -604,7 +604,7 @@
//** Background color of modal content area
// $modal-content-bg: #fff
//** Modal content border color
-// $modal-content-border-color: rgba(0,0,0,.2)
+// $modal-content-border-color: rgba(0, 0, 0, .2)
//** Modal content border color **for IE8**
// $modal-content-fallback-border-color: #999
@@ -809,7 +809,7 @@
//
//##
-// $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6)
+// $carousel-text-shadow: 0 1px 2px rgba(0, 0, 0, .6)
// $carousel-control-color: #fff
// $carousel-control-width: 15%