diff --git a/_config.yml b/_config.yml
index d999358724..ddef7b2b9e 100644
--- a/_config.yml
+++ b/_config.yml
@@ -9,4 +9,3 @@ permalink: pretty
source: ./docs
destination: ./_gh_pages
port: 9001
-url: http://getbootstrap.dev:9001
diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html
index 19a9af6362..fcfc7c4828 100644
--- a/docs/_includes/footer.html
+++ b/docs/_includes/footer.html
@@ -4,10 +4,6 @@
-
-
-
diff --git a/docs/_includes/nav-javascript.html b/docs/_includes/nav-javascript.html
index 9422b27fb5..13079580b8 100644
--- a/docs/_includes/nav-javascript.html
+++ b/docs/_includes/nav-javascript.html
@@ -2,7 +2,7 @@
Overview
Individual or compiled
- Data attributes
+ Data attributes
Programmatic API
No Conflict
Events
diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index e192672a01..487d7eb2fc 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -353,14 +353,6 @@ small {
font-size: 85%;
}
-strong {
- font-weight: bold;
-}
-
-em {
- font-style: italic;
-}
-
cite {
font-style: normal;
}
@@ -425,6 +417,7 @@ h6,
.h4,
.h5,
.h6 {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 500;
line-height: 1.1;
}
@@ -818,13 +811,26 @@ pre code {
.col-lg-11,
.col-lg-12 {
position: relative;
- float: left;
- width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
+.col-1,
+.col-2,
+.col-3,
+.col-4,
+.col-5,
+.col-6,
+.col-7,
+.col-8,
+.col-9,
+.col-10,
+.col-11,
+.col-12 {
+ float: left;
+}
+
.col-1 {
width: 8.333333333333332%;
}
@@ -877,6 +883,20 @@ pre code {
.container {
max-width: 728px;
}
+ .col-sm-1,
+ .col-sm-2,
+ .col-sm-3,
+ .col-sm-4,
+ .col-sm-5,
+ .col-sm-6,
+ .col-sm-7,
+ .col-sm-8,
+ .col-sm-9,
+ .col-sm-10,
+ .col-sm-11,
+ .col-sm-12 {
+ float: left;
+ }
.col-sm-1 {
width: 8.333333333333332%;
}
@@ -913,39 +933,6 @@ pre code {
.col-sm-12 {
width: 100%;
}
- .col-offset-1 {
- margin-left: 8.333333333333332%;
- }
- .col-offset-2 {
- margin-left: 16.666666666666664%;
- }
- .col-offset-3 {
- margin-left: 25%;
- }
- .col-offset-4 {
- margin-left: 33.33333333333333%;
- }
- .col-offset-5 {
- margin-left: 41.66666666666667%;
- }
- .col-offset-6 {
- margin-left: 50%;
- }
- .col-offset-7 {
- margin-left: 58.333333333333336%;
- }
- .col-offset-8 {
- margin-left: 66.66666666666666%;
- }
- .col-offset-9 {
- margin-left: 75%;
- }
- .col-offset-10 {
- margin-left: 83.33333333333334%;
- }
- .col-offset-11 {
- margin-left: 91.66666666666666%;
- }
.col-push-1 {
left: 8.333333333333332%;
}
@@ -1018,6 +1005,20 @@ pre code {
.container {
max-width: 940px;
}
+ .col-lg-1,
+ .col-lg-2,
+ .col-lg-3,
+ .col-lg-4,
+ .col-lg-5,
+ .col-lg-6,
+ .col-lg-7,
+ .col-lg-8,
+ .col-lg-9,
+ .col-lg-10,
+ .col-lg-11,
+ .col-lg-12 {
+ float: left;
+ }
.col-lg-1 {
width: 8.333333333333332%;
}
@@ -1054,6 +1055,39 @@ pre code {
.col-lg-12 {
width: 100%;
}
+ .col-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-offset-3 {
+ margin-left: 25%;
+ }
+ .col-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-offset-6 {
+ margin-left: 50%;
+ }
+ .col-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-offset-9 {
+ margin-left: 75%;
+ }
+ .col-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
}
@media (min-width: 1200px) {
@@ -1200,13 +1234,13 @@ th {
background-color: #f5f5f5;
}
-table col[class*="col-span-"] {
+table col[class^="col-"] {
display: table-column;
float: none;
}
-table td[class*="col-span-"],
-table th[class*="col-span-"] {
+table td[class^="col-"],
+table th[class^="col-"] {
display: table-cell;
float: none;
}
@@ -1337,6 +1371,58 @@ input[type="color"]:focus {
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}
+select[disabled],
+textarea[disabled],
+input[type="text"][disabled],
+input[type="password"][disabled],
+input[type="datetime"][disabled],
+input[type="datetime-local"][disabled],
+input[type="date"][disabled],
+input[type="month"][disabled],
+input[type="time"][disabled],
+input[type="week"][disabled],
+input[type="number"][disabled],
+input[type="email"][disabled],
+input[type="url"][disabled],
+input[type="search"][disabled],
+input[type="tel"][disabled],
+input[type="color"][disabled],
+select[readonly],
+textarea[readonly],
+input[type="text"][readonly],
+input[type="password"][readonly],
+input[type="datetime"][readonly],
+input[type="datetime-local"][readonly],
+input[type="date"][readonly],
+input[type="month"][readonly],
+input[type="time"][readonly],
+input[type="week"][readonly],
+input[type="number"][readonly],
+input[type="email"][readonly],
+input[type="url"][readonly],
+input[type="search"][readonly],
+input[type="tel"][readonly],
+input[type="color"][readonly],
+fieldset[disabled] select,
+fieldset[disabled] textarea,
+fieldset[disabled] input[type="text"],
+fieldset[disabled] input[type="password"],
+fieldset[disabled] input[type="datetime"],
+fieldset[disabled] input[type="datetime-local"],
+fieldset[disabled] input[type="date"],
+fieldset[disabled] input[type="month"],
+fieldset[disabled] input[type="time"],
+fieldset[disabled] input[type="week"],
+fieldset[disabled] input[type="number"],
+fieldset[disabled] input[type="email"],
+fieldset[disabled] input[type="url"],
+fieldset[disabled] input[type="search"],
+fieldset[disabled] input[type="tel"],
+fieldset[disabled] input[type="color"] {
+ cursor: not-allowed;
+ background-color: #eeeeee;
+}
+
input,
select,
textarea {
@@ -1490,6 +1576,7 @@ input[type="url"].input-large,
input[type="search"].input-large,
input[type="tel"].input-large,
input[type="color"].input-large {
+ min-height: 56px;
padding: 14px 16px;
font-size: 18px;
border-radius: 6px;
@@ -1511,34 +1598,12 @@ input[type="url"].input-small,
input[type="search"].input-small,
input[type="tel"].input-small,
input[type="color"].input-small {
- min-height: 32px;
+ min-height: 30px;
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
}
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly],
-fieldset[disabled] input,
-fieldset[disabled] select,
-fieldset[disabled] textarea {
- cursor: not-allowed;
- background-color: #eeeeee;
-}
-
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"][readonly],
-input[type="checkbox"][readonly],
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"] {
- background-color: transparent;
-}
-
.has-warning .control-label {
color: #c09853;
}
@@ -1608,21 +1673,6 @@ fieldset[disabled] input[type="checkbox"] {
border-color: #468847;
}
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
- color: #b94a48;
- border-color: #ee5f5b;
-}
-
-input:focus:invalid:focus,
-textarea:focus:invalid:focus,
-select:focus:invalid:focus {
- border-color: #e9322d;
- -webkit-box-shadow: 0 0 6px #f8b9b7;
- box-shadow: 0 0 6px #f8b9b7;
-}
-
.help-block {
display: block;
margin-top: 5px;
@@ -1661,6 +1711,7 @@ select:focus:invalid:focus {
.input-group-addon,
.input-group-btn {
width: 1%;
+ white-space: nowrap;
vertical-align: middle;
}
@@ -2939,7 +2990,8 @@ input[type="button"].btn-block {
}
.list-group {
- margin: 0 0 20px;
+ padding-left: 0;
+ margin-bottom: 20px;
background-color: #ffffff;
}
@@ -3464,6 +3516,10 @@ button.close {
background-color: transparent;
}
+.navbar-nav.pull-right {
+ width: 100%;
+}
+
.navbar-static-top {
border-radius: 0;
}
@@ -3677,7 +3733,7 @@ button.close {
.navbar-brand {
float: left;
margin-right: 5px;
- margin-left: -5px;
+ margin-left: -15px;
}
.navbar-nav {
float: left;
@@ -3692,6 +3748,7 @@ button.close {
}
.navbar-nav.pull-right {
float: right;
+ width: auto;
}
.navbar-toggle {
position: relative;
@@ -4375,10 +4432,6 @@ button.close {
border-radius: 5px 5px 0 0;
}
-.popover-title:empty {
- display: none;
-}
-
.popover-content {
padding: 9px 14px;
}
@@ -5024,6 +5077,7 @@ a.list-group-item.active > .badge,
left: 50%;
z-index: 15;
width: 100px;
+ padding-left: 0;
margin: 0 0 0 -50px;
text-align: center;
list-style: none;
diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css
index e47805d37b..cef5f33343 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -81,7 +81,9 @@ body {
/* Textual links */
.bs-masthead-links {
- margin: 20px 0;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ padding-left: 0;
list-style: none;
}
.bs-masthead-links li {
@@ -711,13 +713,6 @@ input.focused {
/* Tablets and up */
@media screen and (min-width: 768px) {
- /* Reaffix the fixed sidebar */
- .bs-sidebar.affix {
- position: fixed; /* Undo the static from mobile-first approach */
- top: 50px;
- width: 160px;
- }
-
/* Back to top link */
.bs-top {
display: block; /* Unhide */
@@ -779,6 +774,8 @@ input.focused {
/* Widen the fixed sidebar */
.bs-sidebar.affix {
+ position: fixed; /* Undo the static from mobile-first approach */
+ top: 50px;
width: 213px;
}
diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js
index 744b276765..2cbf1957c9 100644
--- a/docs/assets/js/bootstrap.js
+++ b/docs/assets/js/bootstrap.js
@@ -1420,6 +1420,8 @@
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in')
+
+ $tip.find('.popover-title:empty').hide()
}
Popover.prototype.hasContent = function () {
diff --git a/docs/assets/js/bootstrap.min.js b/docs/assets/js/bootstrap.min.js
index 8703c8ae82..3117a381a9 100644
--- a/docs/assets/js/bootstrap.min.js
+++ b/docs/assets/js/bootstrap.min.js
@@ -3,4 +3,4 @@
* Copyright 2012 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
-+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(e.style[n]!==undefined)return{end:t[n]}}e(function(){e.support.transition=t()})}(window.jQuery),+function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed.bs.alert").remove()}var n=e(this),r=n.attr("data-target");r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var i=e(r);t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close.bs.alert"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("bs.alert");i||r.data("bs.alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.bs.alert.data-api",t,n.prototype.close)}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.$element=e(n),this.options=e.extend({},t.DEFAULTS,r)};t.DEFAULTS={loadingText:"loading..."},t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.is("input")?"val":"html",i=n.data();e+="Text",i.resetText||n.data("resetText",n[r]()),n[r](i[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("bs.button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),+function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.DEFAULTS={interval:5e3,pause:"hover"},t.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},t.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},t.prototype.to=function(t){var n=this,r=this.getActiveIndex();if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){n.to(t)}):r==t?this.pause().cycle():this.slide(t>r?"next":"prev",e(this.$items[t]))},t.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},t.prototype.next=function(){if(this.sliding)return;return this.slide("next")},t.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")},t.prototype.slide=function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();var f=e.Event("slide.bs.carousel",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("bs.carousel"),s=e.extend({},t.DEFAULTS,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("bs.carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("bs.carousel").pause().to(o).cycle(),t.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var t=e(this);t.carousel(t.data())})})}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.$element=e(n),this.options=e.extend({},t.DEFAULTS,r),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.DEFAULTS={toggle:!0},t.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},t.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){var i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show.bs.collapse"),"shown.bs.collapse"),e.support.transition&&this.$element[t](this.$element[0][n])},t.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var t=this.dimension();this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide.bs.collapse"),"hidden"),this.$element[t](0)},t.prototype.reset=function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},t.prototype.transition=function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},t.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},t.DEFAULTS,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),+function(e){"use strict";function i(){e(t).remove(),e(n).each(function(t){var n=s(e(this));if(!n.hasClass("open"))return;n.trigger(t=e.Event("hide.bs.dropdown"));if(t.isDefaultPrevented())return;n.removeClass("open").trigger("hidden.bs.dropdown")})}function s(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&e(n);return r&&r.length?r:t.parent()}var t=".dropdown-backdrop",n="[data-toggle=dropdown]",r=function(t){var n=e(t).on("click.bs.dropdown",this.toggle)};r.prototype.toggle=function(t){var n=e(this);if(n.is(".disabled, :disabled"))return;var r=s(n),o=r.hasClass("open");i();if(!o){"ontouchstart"in document.documentElement&&e('
').insertBefore(e(this)).on("click",i),r.trigger(t=e.Event("show.bs.dropdown"));if(t.isDefaultPrevented())return;r.toggleClass("open").trigger("shown.bs.dropdown")}return n.focus(),!1},r.prototype.keydown=function(t){if(!/(38|40|27)/.test(t.keyCode))return;var r=e(this);t.preventDefault(),t.stopPropagation();if(r.is(".disabled, :disabled"))return;var i=s(r),o=i.hasClass("open");if(!o||o&&t.keyCode==27)return t.which==27&&i.find(n).focus(),r.click();var u=e("[role=menu] li:not(.divider):visible a",i);if(!u.length)return;var a=u.index(u.filter(":focus"));t.keyCode==38&&a>0&&a--,t.keyCode==40&&a ').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("bs.modal"),s=e.extend({},t.DEFAULTS,r.data(),typeof n=="object"&&n);i||r.data("bs.modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})});var r=e(document.body).on("bs.modal.shown",".modal",function(){r.addClass("modal-open")}).on("bs.modal.hidden",".modal",function(){r.removeClass("modal-open")})}(window.jQuery),+function(e){"use strict";var t=function(e,t){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",e,t)};t.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},t.prototype.init=function(t,n,r){this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r);var i=this.options.trigger.split(" ");for(var s=i.length;s--;){var o=i[s];if(o=="click")this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if(o!="manual"){var u=o=="hover"?"mouseenter":"focus",a=o=="hover"?"mouseleave":"blur";this.$element.on(u+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(a+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},t.prototype.enter=function(t){var n=this.getDefaults(),r={};this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)});var i=t instanceof this.constructor?t:e(t.currentTarget)[this.type](r).data("bs."+this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},t.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget)[this.type](this._options).data("bs."+this.type);clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},t.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);if(t.isDefaultPrevented())return;var n=this.tip();this.setContent(),this.options.animation&&n.addClass("fade");var r=typeof this.options.placement=="function"?this.options.placement.call(this,n[0],this.$element[0]):this.options.placement;n.detach().css({top:0,left:0,display:"block"}),this.options.container?n.appendTo(this.options.container):n.insertAfter(this.$element);var i,s=this.getPosition(),o=n[0].offsetWidth,u=n[0].offsetHeight;switch(r){case"bottom":i={top:s.top+s.height,left:s.left+s.width/2-o/2};break;case"top":i={top:s.top-u,left:s.left+s.width/2-o/2};break;case"left":i={top:s.top+s.height/2-u/2,left:s.left-o};break;case"right":i={top:s.top+s.height/2-u/2,left:s.left+s.width}}this.applyPlacement(i,r),this.$element.trigger("shown.bs."+this.type)}},t.prototype.applyPlacement=function(e,t){var n,r=this.tip(),i=r[0].offsetWidth,s=r[0].offsetHeight;r.offset(e).addClass(t).addClass("in");var o=r[0].offsetWidth,u=r[0].offsetHeight;t=="top"&&u!=s&&(n=!0,e.top=e.top+s-u);if(t=="bottom"||t=="top"){var a=0;e.left<0&&(a=e.left*-2,e.left=0,r.offset(e),o=r[0].offsetWidth,u=r[0].offsetHeight),this.replaceArrow(a-i+o,o,"left")}else this.replaceArrow(u-s,u,"top");n&&r.offset(e)},t.prototype.replaceArrow=function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},t.prototype.hide=function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide.bs."+this.type);this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden.bs."+this.type),this},t.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},t.prototype.hasContent=function(){return this.getTitle()},t.prototype.getPosition=function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},t.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},t.prototype.tip=function(){return this.$tip=this.$tip||e(this.options.template)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},t.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},t.prototype.enable=function(){this.enabled=!0},t.prototype.disable=function(){this.enabled=!1},t.prototype.toggleEnabled=function(){this.enabled=!this.enabled},t.prototype.toggle=function(t){var n=t?e(t.currentTarget)[this.type](this._options).data("bs."+this.type):this;n.tip().hasClass("in")?n.leave(n):n.enter(n)},t.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("bs.tooltip"),s=typeof n=="object"&&n;i||r.data("bs.tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),+function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),t.prototype.constructor=t,t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},t.prototype.hasContent=function(){return this.getTitle()||this.getContent()},t.prototype.getContent=function(){var e=typeof this.options.content=="function"?this.options.content.call(this.$element[0]):this.options.content;return e||this.$element.attr("data-content")},t.prototype.tip=function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},t.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData(this.type)};var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("bs.popover"),s=typeof n=="object"&&n;i||r.data("bs.popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),+function(e){"use strict";function t(n,r){var i,s=e.proxy(this.process,this),o=e(n).is("body")?e(window):e(n);this.$body=e("body"),this.$scrollElement=o.on("scroll.bs.scroll-spy.data-api",s),this.options=e.extend({},t.DEFAULTS,r),this.selector=(this.options.target||(i=e(n).attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=e([]),this.targets=e([]),this.activeTarget=null,this.refresh(),this.process()}t.DEFAULTS={offset:10},t.prototype.refresh=function(){this.offsets=e([]),this.targets=e([]);var t=this,n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},t.prototype.activate=function(t){this.activeTarget=t,e(this.selector).parents(".active").removeClass("active");var n=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',r=e(n).parents("li").addClass("active");r.parent(".dropdown-menu").length&&(r=r.closest("li.dropdown").addClass("active")),r.trigger("activate")};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("bs.scrollspy"),s=typeof n=="object"&&n;i||r.data("bs.scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),+function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype.show=function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target");r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;var i=n.find(".active:last a")[0],s=e.Event("show.bs.tab",{relatedTarget:i});t.trigger(s);if(s.isDefaultPrevented())return;var o=e(r);this.activate(t.parent("li"),n),this.activate(o,o.parent(),function(){t.trigger({type:"shown.bs.tab",relatedTarget:i})})},t.prototype.activate=function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("bs.tab");i||r.data("bs.tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.options=e.extend({},t.DEFAULTS,r),this.$window=e(window).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(n),this.affixed=this.unpin=null,this.checkPosition()};t.DEFAULTS={offset:0},t.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.top,o=i.bottom,u="affix affix-top affix-bottom";typeof i!="object"&&(o=s=i),typeof s=="function"&&(s=i.top()),typeof o=="function"&&(o=i.bottom());var a=this.unpin!=null&&n+this.unpin<=r.top?!1:o!=null&&r.top+this.$element.height()>=t-o?"bottom":s!=null&&n<=s?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("bs.affix"),s=typeof n=="object"&&n;i||r.data("bs.affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
\ No newline at end of file
++function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(e.style[n]!==undefined)return{end:t[n]}}e(function(){e.support.transition=t()})}(window.jQuery),+function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed.bs.alert").remove()}var n=e(this),r=n.attr("data-target");r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var i=e(r);t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close.bs.alert"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("bs.alert");i||r.data("bs.alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.bs.alert.data-api",t,n.prototype.close)}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.$element=e(n),this.options=e.extend({},t.DEFAULTS,r)};t.DEFAULTS={loadingText:"loading..."},t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.is("input")?"val":"html",i=n.data();e+="Text",i.resetText||n.data("resetText",n[r]()),n[r](i[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("bs.button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),+function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.DEFAULTS={interval:5e3,pause:"hover"},t.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},t.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},t.prototype.to=function(t){var n=this,r=this.getActiveIndex();if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){n.to(t)}):r==t?this.pause().cycle():this.slide(t>r?"next":"prev",e(this.$items[t]))},t.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},t.prototype.next=function(){if(this.sliding)return;return this.slide("next")},t.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")},t.prototype.slide=function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();var f=e.Event("slide.bs.carousel",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("bs.carousel"),s=e.extend({},t.DEFAULTS,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("bs.carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("bs.carousel").pause().to(o).cycle(),t.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var t=e(this);t.carousel(t.data())})})}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.$element=e(n),this.options=e.extend({},t.DEFAULTS,r),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.DEFAULTS={toggle:!0},t.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},t.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){var i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show.bs.collapse"),"shown.bs.collapse"),e.support.transition&&this.$element[t](this.$element[0][n])},t.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var t=this.dimension();this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide.bs.collapse"),"hidden"),this.$element[t](0)},t.prototype.reset=function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},t.prototype.transition=function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},t.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},t.DEFAULTS,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),+function(e){"use strict";function i(){e(t).remove(),e(n).each(function(t){var n=s(e(this));if(!n.hasClass("open"))return;n.trigger(t=e.Event("hide.bs.dropdown"));if(t.isDefaultPrevented())return;n.removeClass("open").trigger("hidden.bs.dropdown")})}function s(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&e(n);return r&&r.length?r:t.parent()}var t=".dropdown-backdrop",n="[data-toggle=dropdown]",r=function(t){var n=e(t).on("click.bs.dropdown",this.toggle)};r.prototype.toggle=function(t){var n=e(this);if(n.is(".disabled, :disabled"))return;var r=s(n),o=r.hasClass("open");i();if(!o){"ontouchstart"in document.documentElement&&e('
').insertBefore(e(this)).on("click",i),r.trigger(t=e.Event("show.bs.dropdown"));if(t.isDefaultPrevented())return;r.toggleClass("open").trigger("shown.bs.dropdown")}return n.focus(),!1},r.prototype.keydown=function(t){if(!/(38|40|27)/.test(t.keyCode))return;var r=e(this);t.preventDefault(),t.stopPropagation();if(r.is(".disabled, :disabled"))return;var i=s(r),o=i.hasClass("open");if(!o||o&&t.keyCode==27)return t.which==27&&i.find(n).focus(),r.click();var u=e("[role=menu] li:not(.divider):visible a",i);if(!u.length)return;var a=u.index(u.filter(":focus"));t.keyCode==38&&a>0&&a--,t.keyCode==40&&a ').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("bs.modal"),s=e.extend({},t.DEFAULTS,r.data(),typeof n=="object"&&n);i||r.data("bs.modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})});var r=e(document.body).on("bs.modal.shown",".modal",function(){r.addClass("modal-open")}).on("bs.modal.hidden",".modal",function(){r.removeClass("modal-open")})}(window.jQuery),+function(e){"use strict";var t=function(e,t){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",e,t)};t.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},t.prototype.init=function(t,n,r){this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r);var i=this.options.trigger.split(" ");for(var s=i.length;s--;){var o=i[s];if(o=="click")this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if(o!="manual"){var u=o=="hover"?"mouseenter":"focus",a=o=="hover"?"mouseleave":"blur";this.$element.on(u+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(a+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},t.prototype.enter=function(t){var n=this.getDefaults(),r={};this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)});var i=t instanceof this.constructor?t:e(t.currentTarget)[this.type](r).data("bs."+this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},t.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget)[this.type](this._options).data("bs."+this.type);clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},t.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);if(t.isDefaultPrevented())return;var n=this.tip();this.setContent(),this.options.animation&&n.addClass("fade");var r=typeof this.options.placement=="function"?this.options.placement.call(this,n[0],this.$element[0]):this.options.placement;n.detach().css({top:0,left:0,display:"block"}),this.options.container?n.appendTo(this.options.container):n.insertAfter(this.$element);var i,s=this.getPosition(),o=n[0].offsetWidth,u=n[0].offsetHeight;switch(r){case"bottom":i={top:s.top+s.height,left:s.left+s.width/2-o/2};break;case"top":i={top:s.top-u,left:s.left+s.width/2-o/2};break;case"left":i={top:s.top+s.height/2-u/2,left:s.left-o};break;case"right":i={top:s.top+s.height/2-u/2,left:s.left+s.width}}this.applyPlacement(i,r),this.$element.trigger("shown.bs."+this.type)}},t.prototype.applyPlacement=function(e,t){var n,r=this.tip(),i=r[0].offsetWidth,s=r[0].offsetHeight;r.offset(e).addClass(t).addClass("in");var o=r[0].offsetWidth,u=r[0].offsetHeight;t=="top"&&u!=s&&(n=!0,e.top=e.top+s-u);if(t=="bottom"||t=="top"){var a=0;e.left<0&&(a=e.left*-2,e.left=0,r.offset(e),o=r[0].offsetWidth,u=r[0].offsetHeight),this.replaceArrow(a-i+o,o,"left")}else this.replaceArrow(u-s,u,"top");n&&r.offset(e)},t.prototype.replaceArrow=function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},t.prototype.hide=function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide.bs."+this.type);this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden.bs."+this.type),this},t.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},t.prototype.hasContent=function(){return this.getTitle()},t.prototype.getPosition=function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},t.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},t.prototype.tip=function(){return this.$tip=this.$tip||e(this.options.template)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},t.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},t.prototype.enable=function(){this.enabled=!0},t.prototype.disable=function(){this.enabled=!1},t.prototype.toggleEnabled=function(){this.enabled=!this.enabled},t.prototype.toggle=function(t){var n=t?e(t.currentTarget)[this.type](this._options).data("bs."+this.type):this;n.tip().hasClass("in")?n.leave(n):n.enter(n)},t.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("bs.tooltip"),s=typeof n=="object"&&n;i||r.data("bs.tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),+function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),t.prototype.constructor=t,t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title:empty").hide()},t.prototype.hasContent=function(){return this.getTitle()||this.getContent()},t.prototype.getContent=function(){var e=typeof this.options.content=="function"?this.options.content.call(this.$element[0]):this.options.content;return e||this.$element.attr("data-content")},t.prototype.tip=function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},t.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData(this.type)};var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("bs.popover"),s=typeof n=="object"&&n;i||r.data("bs.popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),+function(e){"use strict";function t(n,r){var i,s=e.proxy(this.process,this),o=e(n).is("body")?e(window):e(n);this.$body=e("body"),this.$scrollElement=o.on("scroll.bs.scroll-spy.data-api",s),this.options=e.extend({},t.DEFAULTS,r),this.selector=(this.options.target||(i=e(n).attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=e([]),this.targets=e([]),this.activeTarget=null,this.refresh(),this.process()}t.DEFAULTS={offset:10},t.prototype.refresh=function(){this.offsets=e([]),this.targets=e([]);var t=this,n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},t.prototype.activate=function(t){this.activeTarget=t,e(this.selector).parents(".active").removeClass("active");var n=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',r=e(n).parents("li").addClass("active");r.parent(".dropdown-menu").length&&(r=r.closest("li.dropdown").addClass("active")),r.trigger("activate")};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("bs.scrollspy"),s=typeof n=="object"&&n;i||r.data("bs.scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),+function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype.show=function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target");r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;var i=n.find(".active:last a")[0],s=e.Event("show.bs.tab",{relatedTarget:i});t.trigger(s);if(s.isDefaultPrevented())return;var o=e(r);this.activate(t.parent("li"),n),this.activate(o,o.parent(),function(){t.trigger({type:"shown.bs.tab",relatedTarget:i})})},t.prototype.activate=function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("bs.tab");i||r.data("bs.tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.options=e.extend({},t.DEFAULTS,r),this.$window=e(window).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(n),this.affixed=this.unpin=null,this.checkPosition()};t.DEFAULTS={offset:0},t.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.top,o=i.bottom,u="affix affix-top affix-bottom";typeof i!="object"&&(o=s=i),typeof s=="function"&&(s=i.top()),typeof o=="function"&&(o=i.bottom());var a=this.unpin!=null&&n+this.unpin<=r.top?!1:o!=null&&r.top+this.$element.height()>=t-o?"bottom":s!=null&&n<=s?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("bs.affix"),s=typeof n=="object"&&n;i||r.data("bs.affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
\ No newline at end of file
diff --git a/docs/components.html b/docs/components.html
index e2a8837051..ee819a244e 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -6,7 +6,6 @@ lead: "Dozens of reusable components built to provide iconography, dropdowns, na
---
-
@@ -168,6 +167,11 @@ lead: "Dozens of reusable components built to provide iconography, dropdowns, na
Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with our buttons plugin .
+
+
Tooltips & popovers in button groups require special setting
+
When using tooltips or popovers on elements within a .btn-group
, you'll have to specify the option container: 'body'
to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).
+
+
Basic button group
Wrap a series of buttons with .btn
in .btn-group
.
@@ -628,7 +632,7 @@ lead: "Dozens of reusable components built to provide iconography, dropdowns, na
{% highlight html %}
-
+
...
Disabled link
...
diff --git a/docs/css.html b/docs/css.html
index d4e7f77d2f..9c85d35f68 100644
--- a/docs/css.html
+++ b/docs/css.html
@@ -43,7 +43,7 @@ lead: "Fundamental HTML elements styled and enhanced with extensible classes."
These styles can be found within scaffolding.less .
- Normalize reset
+ Normalize reset
For improved cross-browser rendering, we use Normalize , a project by Nicolas Gallagher and Jonathan Neal .
Centering with container
@@ -247,7 +247,7 @@ lead: "Fundamental HTML elements styled and enhanced with extensible classes."
Need more examples?
-
We dive into more grid layouts in a separte page, free of chrome and documentation to better show you the power of the grid.
+
We dive into more grid layouts in a separate page, free of chrome and documentation to better show you the power of the grid.
More grid examples
@@ -1380,21 +1380,6 @@ For example, <section>
should be wrapped as inline.
{% highlight html %}
-{% endhighlight %}
-
-
- Style inputs via default browser functionality. Specify a type
, add the required
attribute if the field is not optional, and (if applicable) specify a pattern
.
-
-
-
Cross-browser compatibility
-
Invalid inputs are styled via the :invalid
CSS selector, which is not supported by Internet Explorer 9 and below.
-
-
-
-{% highlight html %}
-
{% endhighlight %}
@@ -1509,12 +1494,16 @@ For example, <section>
should be wrapped as inline.
Adding on top of existing browser controls, Bootstrap includes other useful form components.
- Add text or buttons before, after, or on both sides of any text-based input. Use .input-group
with a .add-on
to prepend or append elements to an <input>
.
+ Add text or buttons before, after, or on both sides of any text-based input. Use .input-group
with an .add-on
to prepend or append elements to an <input>
.
Cross-browser compatibility
Avoid using <select>
elements here as they cannot be fully styled in WebKit browsers.
+
+
Tooltips & popovers in input groups require special setting
+
When using tooltips or popovers on elements within an .input-group
, you'll have to specify the option container: 'body'
to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).
+
{% highlight html %}
{% endhighlight %}
diff --git a/docs/getting-started.html b/docs/getting-started.html
index 018c8ed0a0..718e8ed79d 100644
--- a/docs/getting-started.html
+++ b/docs/getting-started.html
@@ -48,6 +48,11 @@ lead: "An overview of Bootstrap, how to download and use, basic templates and ex
{% endhighlight %}
+
+
+
LESS compilation
+
If you download the original files, you need to compile Bootstrap's LESS files into usable CSS. To do that, Bootstrap only officially supports Recess , Twitter's CSS hinter built on top of less.js .
+
-
+
{% highlight html %}
@@ -137,7 +142,7 @@ $('#myModal').on('show.bs.modal', function (e) {
Save changes
-
+
{% endhighlight %}
@@ -181,7 +186,7 @@ $('#myModal').on('show.bs.modal', function (e) {
-
+
@@ -207,7 +212,7 @@ $('#myModal').on('show.bs.modal', function (e) {
Save changes
-
+
{% endhighlight %}
@@ -259,7 +264,7 @@ $('#myModal').on('show.bs.modal', function (e) {
remote
path
false
- If a remote url is provided, content will be loaded via jQuery's load
method and injected into the .modal-body
. If you're using the data api, you may alternatively use the href
tag to specify the remote source. An example of this is shown below:
+ If a remote URL is provided, content will be loaded via jQuery's load
method and injected into the .modal-body
. If you're using the data api, you may alternatively use the href
tag to specify the remote source. An example of this is shown below:
{% highlight html %}
Click me
{% endhighlight %}
@@ -305,7 +310,7 @@ $('#myModal').modal({
shown
- This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).
+ This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete).
hide
@@ -313,7 +318,7 @@ $('#myModal').modal({
hidden
- This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).
+ This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).
@@ -739,9 +744,10 @@ $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
-
- Tooltips in input groups
- When using tooltips and popovers with the Bootstrap input groups, you'll have to set the container
(documented below) option to avoid unwanted side effects.
+
+
Tooltips in button groups and input groups require special setting
+
When using tooltips on elements within a .btn-group
or an .input-group
, you'll have to specify the option container: 'body'
(documented below) to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip is triggered).
+
@@ -768,13 +774,13 @@ $('#example').tooltip(options)
animation
boolean
true
- apply a css fade transition to the tooltip
+ apply a CSS fade transition to the tooltip
html
boolean
false
- Insert html into the tooltip. If false, jquery's text
method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
+ Insert HTML into the tooltip. If false, jQuery's text
method will be used to insert content into the DOM. Use text if you're worried about XSS attacks.
placement
@@ -798,7 +804,7 @@ $('#example').tooltip(options)
trigger
string
'hover focus'
- how tooltip is triggered - click | hover | focus | manual. Note you case pass trigger multiple, space seperated, trigger types.
+ how tooltip is triggered - click | hover | focus | manual. Note you case pass trigger multiple, space separated, trigger types.
delay
@@ -815,7 +821,7 @@ $('#example').tooltip(options)
string | false
false
- Appends the tooltip to a specific element container: 'body'
+ Appends the tooltip to a specific element. Example: container: 'body'
@@ -868,6 +874,10 @@ $('#example').tooltip(options)
Plugin dependency
Popovers require the tooltip plugin to be included in your version of Bootstrap.
+
+
Popovers in button groups and input groups require special setting
+
When using popovers on elements within a .btn-group
or an .input-group
, you'll have to specify the option container: 'body'
(documented below) to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the popover is triggered).
+
Static popover
Four options are available: top, right, bottom, and left aligned.
@@ -946,13 +956,13 @@ $('#example').tooltip(options)
animation
boolean
true
- apply a css fade transition to the tooltip
+ apply a CSS fade transition to the tooltip
html
boolean
false
- Insert html into the popover. If false, jquery's text
method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
+ Insert HTML into the popover. If false, jQuery's text
method will be used to insert content into the DOM. Use text if you're worried about XSS attacks.
placement
@@ -999,7 +1009,7 @@ $('#example').tooltip(options)
string | false
false
- Appends the popover to a specific element container: 'body'
+ Appends the popover to a specific element. Example: container: 'body'
@@ -1101,7 +1111,7 @@ $('#example').tooltip(options)
closed
- This event is fired when the alert has been closed (will wait for css transitions to complete).
+ This event is fired when the alert has been closed (will wait for CSS transitions to complete).
@@ -1374,7 +1384,7 @@ $('.nav-tabs').button()
Usage
Via data attributes
- Just add data-toggle="collapse"
and a data-target
to element to automatically assign control of a collapsible element. The data-target
attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse
to the collapsible element. If you'd like it to default open, add the additional class in
.
+ Just add data-toggle="collapse"
and a data-target
to element to automatically assign control of a collapsible element. The data-target
attribute accepts a CSS selector to apply the collapse to. Be sure to add the class collapse
to the collapsible element. If you'd like it to default open, add the additional class in
.
To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector"
. Refer to the demo to see this in action.
Via JavaScript
@@ -1446,7 +1456,7 @@ $('#myCollapsible').collapse({
shown
- This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).
+ This event is fired when a collapse element has been made visible to the user (will wait for CSS transitions to complete).
hide
@@ -1456,7 +1466,7 @@ $('#myCollapsible').collapse({
hidden
- This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).
+ This event is fired when a collapse element has been hidden from the user (will wait for CSS transitions to complete).
diff --git a/js/popover.js b/js/popover.js
index 33edadf7fb..e58e24908c 100644
--- a/js/popover.js
+++ b/js/popover.js
@@ -55,6 +55,8 @@
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in')
+
+ $tip.find('.popover-title:empty').hide()
}
Popover.prototype.hasContent = function () {
diff --git a/less/carousel.less b/less/carousel.less
index 31f9b8aff1..a7a4672c12 100644
--- a/less/carousel.less
+++ b/less/carousel.less
@@ -131,6 +131,7 @@
z-index: 15;
width: 100px;
margin: 0 0 0 -50px;
+ padding-left: 0;
list-style: none;
text-align: center;
diff --git a/less/code.less b/less/code.less
index f1bc0a0cdb..63c255010d 100644
--- a/less/code.less
+++ b/less/code.less
@@ -31,8 +31,6 @@ pre {
line-height: @line-height-base;
word-break: break-all;
word-wrap: break-word;
- white-space: pre;
- white-space: pre-wrap;
background-color: #f5f5f5;
border: 1px solid #ccc; // IE8 fallback
border: 1px solid rgba(0,0,0,.15);
@@ -47,7 +45,6 @@ pre {
code {
padding: 0;
color: inherit;
- white-space: pre;
white-space: pre-wrap;
background-color: transparent;
border: 0;
diff --git a/less/forms.less b/less/forms.less
index 10a315da6a..a96849d5f5 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -72,6 +72,17 @@ input[type="color"] {
outline: 0;
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
}
+
+ // Disabled and read-only inputs
+ // Note: HTML5 says that inputs under a fieldset > legend:first-child won't be
+ // disabled if the fieldset is disabled. Due to implementation difficulty,
+ // we don't honor that edge case; we style them as disabled anyway.
+ &[disabled],
+ &[readonly],
+ fieldset[disabled] & {
+ cursor: not-allowed;
+ background-color: @input-bg-disabled;
+ }
}
// Reset appearance properties for textual inputs and textarea
@@ -184,7 +195,7 @@ textarea {
// Move the options list down to align with labels
.controls > .radio:first-child,
.controls > .checkbox:first-child {
- padding-top: 5px; // has to be padding because margin collaspes
+ padding-top: 5px; // has to be padding because margin collapses
}
*/
@@ -227,6 +238,7 @@ input[type="search"],
input[type="tel"],
input[type="color"] {
&.input-large {
+ min-height: @input-height-large;
padding: @padding-large-vertical @padding-large-horizontal;
font-size: @font-size-large;
border-radius: @border-radius-large;
@@ -240,35 +252,6 @@ input[type="color"] {
}
-// DISABLED STATE
-// --------------
-
-// Disabled and read-only inputs
-// Note: HTML5 says that inputs under a fieldset > legend:first-child won't be
-// disabled if the fieldset is disabled. Due to implementation difficulty,
-// we don't honor that edge case; we style them as disabled anyway.
-input,
-select,
-textarea {
- &[disabled],
- &[readonly],
- fieldset[disabled] & {
- cursor: not-allowed;
- background-color: @input-bg-disabled;
- }
-}
-// Explicitly reset the colors here
-input[type="radio"],
-input[type="checkbox"] {
- &[disabled],
- &[readonly],
- fieldset[disabled] & {
- background-color: transparent;
- }
-}
-
-
-
// FORM FIELD FEEDBACK STATES
// --------------------------
@@ -286,20 +269,6 @@ input[type="checkbox"] {
.form-field-validation(@state-success-text, @state-success-text, @state-success-bg);
}
-// HTML5 invalid states
-// Shares styles with the .control-group.error above
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
- color: #b94a48;
- border-color: #ee5f5b;
- &:focus {
- border-color: darken(#ee5f5b, 10%);
- @shadow: 0 0 6px lighten(#ee5f5b, 20%);
- .box-shadow(@shadow);
- }
-}
-
@@ -352,6 +321,7 @@ select:focus:invalid {
.input-group-addon,
.input-group-btn {
width: 1%;
+ white-space: nowrap;
vertical-align: middle; // Match the inputs
}
@@ -455,7 +425,7 @@ select:focus:invalid {
}
}
-// Only right aline form labels here when the columns stop stacking
+// Only right align form labels here when the columns stop stacking
@media (min-width: 768px) {
.form-horizontal .control-label {
text-align: right;
diff --git a/less/grid.less b/less/grid.less
index b97d1d5c4a..12803f39af 100644
--- a/less/grid.less
+++ b/less/grid.less
@@ -2,7 +2,6 @@
// Grid system
// --------------------------------------------------
-
// Set the container width, and override it for fixed navbars in media queries
.container {
.container-fixed();
@@ -51,9 +50,6 @@
.col-lg-11,
.col-lg-12 {
position: relative;
- // Float and set width: 100%; for easy stacking on mobile devices
- float: left;
- width: 100%;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
@@ -68,6 +64,20 @@
//
// Tiny device columns (smartphones)
+.col-1,
+.col-2,
+.col-3,
+.col-4,
+.col-5,
+.col-6,
+.col-7,
+.col-8,
+.col-9,
+.col-10,
+.col-11,
+.col-12 {
+ float: left;
+}
.col-1 { width: percentage((1 / @grid-columns)); }
.col-2 { width: percentage((2 / @grid-columns)); }
.col-3 { width: percentage((3 / @grid-columns)); }
@@ -87,6 +97,20 @@
max-width: @container-tablet;
}
+ .col-sm-1,
+ .col-sm-2,
+ .col-sm-3,
+ .col-sm-4,
+ .col-sm-5,
+ .col-sm-6,
+ .col-sm-7,
+ .col-sm-8,
+ .col-sm-9,
+ .col-sm-10,
+ .col-sm-11,
+ .col-sm-12 {
+ float: left;
+ }
.col-sm-1 { width: percentage((1 / @grid-columns)); }
.col-sm-2 { width: percentage((2 / @grid-columns)); }
.col-sm-3 { width: percentage((3 / @grid-columns)); }
@@ -100,19 +124,6 @@
.col-sm-11 { width: percentage((11/ @grid-columns)); }
.col-sm-12 { width: 100%; }
- // Offsets
- .col-offset-1 { margin-left: percentage((1 / @grid-columns)); }
- .col-offset-2 { margin-left: percentage((2 / @grid-columns)); }
- .col-offset-3 { margin-left: percentage((3 / @grid-columns)); }
- .col-offset-4 { margin-left: percentage((4 / @grid-columns)); }
- .col-offset-5 { margin-left: percentage((5 / @grid-columns)); }
- .col-offset-6 { margin-left: percentage((6 / @grid-columns)); }
- .col-offset-7 { margin-left: percentage((7 / @grid-columns)); }
- .col-offset-8 { margin-left: percentage((8 / @grid-columns)); }
- .col-offset-9 { margin-left: percentage((9 / @grid-columns)); }
- .col-offset-10 { margin-left: percentage((10/ @grid-columns)); }
- .col-offset-11 { margin-left: percentage((11/ @grid-columns)); }
-
// Push and pull columns for source order changes
.col-push-1 { left: percentage((1 / @grid-columns)); }
.col-push-2 { left: percentage((2 / @grid-columns)); }
@@ -144,6 +155,20 @@
.container {
max-width: @container-desktop;
}
+ .col-lg-1,
+ .col-lg-2,
+ .col-lg-3,
+ .col-lg-4,
+ .col-lg-5,
+ .col-lg-6,
+ .col-lg-7,
+ .col-lg-8,
+ .col-lg-9,
+ .col-lg-10,
+ .col-lg-11,
+ .col-lg-12 {
+ float: left;
+ }
.col-lg-1 { width: percentage((1 / @grid-columns)); }
.col-lg-2 { width: percentage((2 / @grid-columns)); }
.col-lg-3 { width: percentage((3 / @grid-columns)); }
@@ -156,6 +181,19 @@
.col-lg-10 { width: percentage((10/ @grid-columns)); }
.col-lg-11 { width: percentage((11/ @grid-columns)); }
.col-lg-12 { width: 100%; }
+
+ // Offsets
+ .col-offset-1 { margin-left: percentage((1 / @grid-columns)); }
+ .col-offset-2 { margin-left: percentage((2 / @grid-columns)); }
+ .col-offset-3 { margin-left: percentage((3 / @grid-columns)); }
+ .col-offset-4 { margin-left: percentage((4 / @grid-columns)); }
+ .col-offset-5 { margin-left: percentage((5 / @grid-columns)); }
+ .col-offset-6 { margin-left: percentage((6 / @grid-columns)); }
+ .col-offset-7 { margin-left: percentage((7 / @grid-columns)); }
+ .col-offset-8 { margin-left: percentage((8 / @grid-columns)); }
+ .col-offset-9 { margin-left: percentage((9 / @grid-columns)); }
+ .col-offset-10 { margin-left: percentage((10/ @grid-columns)); }
+ .col-offset-11 { margin-left: percentage((11/ @grid-columns)); }
}
// Large desktops and up
diff --git a/less/list-group.less b/less/list-group.less
index d812cc5f94..f9d9f612cd 100644
--- a/less/list-group.less
+++ b/less/list-group.less
@@ -7,7 +7,8 @@
// Easily usable on , , or .
.list-group {
// No need to set list-style: none; since .list-group-item is block level
- margin: 0 0 20px; // reset all margins because ul and ol
+ margin-bottom: 20px;
+ padding-left: 0; // reset padding because ul and ol
background-color: @list-group-bg;
}
diff --git a/less/mixins.less b/less/mixins.less
index 9825e9a2d6..879836a8c6 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -400,6 +400,16 @@
margin-bottom: ((@navbar-height - @element-height) / 2);
}
+// Responsive utilities
+// -------------------------
+// More easily include all the states for responsive-utilities.less.
+.responsive-visibility() {
+ display: block !important;
+ tr& { display: table-row !important; }
+ th&,
+ td& { display: table-cell !important; }
+}
+
// Grid System
@@ -491,5 +501,5 @@
color: @text-color;
border-color: @border-color;
background-color: @background-color;
- }
+ }
}
diff --git a/less/navbar.less b/less/navbar.less
index 59ea92dbda..b8283601d6 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -6,8 +6,8 @@
.navbar {
position: relative;
margin-bottom: 20px;
- padding-left: 15px;
- padding-right: 15px;
+ padding-left: @navbar-padding;
+ padding-right: @navbar-padding;
background-color: @navbar-bg;
border-radius: @border-radius-base;
@@ -48,6 +48,12 @@
color: @navbar-link-disabled-color;
background-color: @navbar-link-disabled-bg;
}
+
+ // Right aligned contents
+ // Make them full width first so that they align properly on mobile
+ &.pull-right {
+ width: 100%;
+ }
}
@@ -90,7 +96,7 @@
max-width: 200px;
margin-left: auto;
margin-right: auto;
- padding: 15px;
+ padding: @navbar-padding;
font-size: @font-size-large;
font-weight: 500;
line-height: @line-height-computed;
@@ -278,7 +284,7 @@
.navbar-brand {
float: left;
- margin-left: -5px;
+ margin-left: -(@navbar-padding);
margin-right: 5px;
}
.navbar-nav {
@@ -296,6 +302,7 @@
&.pull-right {
float: right;
+ width: auto;
}
}
diff --git a/less/navs.less b/less/navs.less
index e5925bf637..d42ad35883 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -59,7 +59,7 @@
}
}
- // Redeclare pull classes because of specifity
+ // Redeclare pull classes because of specificity
// Todo: consider making these utilities !important to avoid this bullshit
> .pull-right {
float: right;
diff --git a/less/popovers.less b/less/popovers.less
index b3399fa34f..bcd30e9198 100644
--- a/less/popovers.less
+++ b/less/popovers.less
@@ -40,10 +40,6 @@
background-color: @popover-title-bg;
border-bottom: 1px solid darken(@popover-title-bg, 5%);
border-radius: 5px 5px 0 0;
-
- &:empty {
- display: none;
- }
}
.popover-content {
diff --git a/less/responsive-utilities.less b/less/responsive-utilities.less
index 082109e5e8..21e5d7556d 100644
--- a/less/responsive-utilities.less
+++ b/less/responsive-utilities.less
@@ -29,34 +29,25 @@
// Hide from screenreaders and browsers
// Credit: HTML5 Boilerplate
.hidden {
- display: none;
- visibility: hidden;
+ display: none !important;
+ visibility: hidden !important;
}
// Visibility utilities
// For Phones
.visible-sm {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.visible-md { display: none !important; }
.visible-lg { display: none !important; }
.hidden-sm { display: none !important; }
.hidden-md {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.hidden-lg {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
@@ -64,25 +55,16 @@
@media (min-width: @screen-tablet) and (max-width: @screen-tablet-max) {
.visible-sm { display: none !important; }
.visible-md {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.visible-lg { display: none !important; }
.hidden-sm {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.hidden-md { display: none !important; }
.hidden-lg {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
}
@@ -91,23 +73,14 @@
.visible-sm { display: none !important; }
.visible-md { display: none !important; }
.visible-lg {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.hidden-sm {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.hidden-md {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.hidden-lg { display: none !important; }
}
@@ -118,10 +91,7 @@
@media print {
.visible-print {
- display: block !important;
- tr& { display: table-row !important; }
- th&,
- td& { display: table-cell !important; }
+ .responsive-visibility();
}
.hidden-print { display: none !important; }
}
diff --git a/less/scaffolding.less b/less/scaffolding.less
index 9f5739710c..e74a4db1c6 100644
--- a/less/scaffolding.less
+++ b/less/scaffolding.less
@@ -27,7 +27,7 @@ body {
background-color: @body-bg;
}
-// Reset fonts for revelant elements
+// Reset fonts for relevant elements
input,
button,
select,
@@ -60,7 +60,7 @@ a:focus {
img {
// Responsive images (ensure images don't scale beyond their parents)
- max-width: 100%; // Part 1: Set a maxium relative to the parent
+ max-width: 100%; // Part 1: Set a maximum relative to the parent
height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
// Match vertical alignment with other comment elements
diff --git a/less/tables.less b/less/tables.less
index fa5fd554b2..88481a9444 100644
--- a/less/tables.less
+++ b/less/tables.less
@@ -184,16 +184,18 @@ th {
// -----------------
// Reset default table behavior
-table col[class*="col-span-"] {
+table col[class^="col-"] {
float: none;
display: table-column;
}
-table td[class*="col-span-"],
-table th[class*="col-span-"] {
+table td[class^="col-"],
+table th[class^="col-"] {
float: none;
display: table-cell;
}
+
+
// TABLE BACKGROUNDS
// -----------------
// Exact selectors below required to override .table-striped
diff --git a/less/type.less b/less/type.less
index 9a6811e3d3..9892d55890 100644
--- a/less/type.less
+++ b/less/type.less
@@ -23,8 +23,6 @@ p {
// Ex: 14px base font * 85% = about 12px
small { font-size: 85%; }
-strong { font-weight: bold; }
-em { font-style: italic; }
cite { font-style: normal; }
// Utility classes
@@ -54,6 +52,7 @@ a.text-success:focus { color: darken(@state-success-text, 10%); }
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
+ font-family: @headings-font-family;
font-weight: @headings-font-weight;
line-height: @headings-line-height;
small {
diff --git a/less/variables.less b/less/variables.less
index a31aafac61..e01d3062d1 100644
--- a/less/variables.less
+++ b/less/variables.less
@@ -53,6 +53,7 @@
@line-height-base: 1.428571429; // 20/14
@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px
+@headings-font-family: @font-family-base;
@headings-font-weight: 500;
@headings-line-height: 1.1;
@@ -128,8 +129,8 @@
@input-color-placeholder: @gray-light;
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
-@input-height-large: (@line-height-computed + (@padding-large-vertical * 2) + 2);
-@input-height-small: (@line-height-computed + (@padding-small-vertical * 2) + 2);
+@input-height-large: (ceil(@font-size-large * @line-height-base) + (@padding-large-vertical * 2) + 2);
+@input-height-small: (ceil(@font-size-small * @line-height-base) + (@padding-small-vertical * 2) + 2);
// Dropdowns
@@ -172,6 +173,7 @@
@navbar-height: 50px;
@navbar-color: #777;
@navbar-bg: #eee;
+@navbar-padding: floor(@grid-gutter-width / 2); // ~15px
// Navbar links
@navbar-link-color: #777;