Repository: tapestry-5
Updated Branches:
  refs/heads/master b81fea525 -> 360177b9c


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.ttf
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.ttf
 
b/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.ttf
index 67fa00b..1413fc6 100644
Binary files 
a/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.ttf
 and 
b/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.ttf
 differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff
 
b/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff
index 8c54182..9e61285 100644
Binary files 
a/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff
 and 
b/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff
 differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff2
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff2
 
b/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff2
new file mode 100644
index 0000000..64539b5
Binary files /dev/null and 
b/tapestry-webresources/src/test/webapp/bootstrap/fonts/glyphicons-halflings-regular.woff2
 differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/affix.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/affix.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/affix.js
index deea294..aaebc8c 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/affix.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/affix.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: affix.js v3.3.1
+ * Bootstrap: affix.js v3.3.2
  * http://getbootstrap.com/javascript/#affix
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -28,7 +28,7 @@
     this.checkPosition()
   }
 
-  Affix.VERSION  = '3.3.1'
+  Affix.VERSION  = '3.3.2'
 
   Affix.RESET    = 'affix affix-top affix-bottom'
 
@@ -53,7 +53,7 @@
     var colliderTop    = initializing ? scrollTop : position.top
     var colliderHeight = initializing ? targetHeight : height
 
-    if (offsetTop != null && colliderTop <= offsetTop) return 'top'
+    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
     if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight 
- offsetBottom)) return 'bottom'
 
     return false

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/alert.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/alert.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/alert.js
index 7b775dd..e8212ca 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/alert.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/alert.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: alert.js v3.3.1
+ * Bootstrap: alert.js v3.3.2
  * http://getbootstrap.com/javascript/#alerts
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -18,7 +18,7 @@
     $(el).on('click', dismiss, this.close)
   }
 
-  Alert.VERSION = '3.3.1'
+  Alert.VERSION = '3.3.2'
 
   Alert.TRANSITION_DURATION = 150
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/button.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/button.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/button.js
index 7b1e134..4d56901 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/button.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/button.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: button.js v3.3.1
+ * Bootstrap: button.js v3.3.2
  * http://getbootstrap.com/javascript/#buttons
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -19,7 +19,7 @@
     this.isLoading = false
   }
 
-  Button.VERSION  = '3.3.1'
+  Button.VERSION  = '3.3.2'
 
   Button.DEFAULTS = {
     loadingText: 'loading...'

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/carousel.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/carousel.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/carousel.js
index 282d618..450e181 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/carousel.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/carousel.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: carousel.js v3.3.1
+ * Bootstrap: carousel.js v3.3.2
  * http://getbootstrap.com/javascript/#carousel
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -30,7 +30,7 @@
       .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
   }
 
-  Carousel.VERSION  = '3.3.1'
+  Carousel.VERSION  = '3.3.2'
 
   Carousel.TRANSITION_DURATION = 600
 
@@ -70,8 +70,11 @@
   }
 
   Carousel.prototype.getItemForDirection = function (direction, active) {
-    var delta = direction == 'prev' ? -1 : 1
     var activeIndex = this.getItemIndex(active)
+    var willWrap = (direction == 'prev' && activeIndex === 0)
+                || (direction == 'next' && activeIndex == (this.$items.length 
- 1))
+    if (willWrap && !this.options.wrap) return active
+    var delta = direction == 'prev' ? -1 : 1
     var itemIndex = (activeIndex + delta) % this.$items.length
     return this.$items.eq(itemIndex)
   }
@@ -116,14 +119,8 @@
     var $next     = next || this.getItemForDirection(type, $active)
     var isCycling = this.interval
     var direction = type == 'next' ? 'left' : 'right'
-    var fallback  = type == 'next' ? 'first' : 'last'
     var that      = this
 
-    if (!$next.length) {
-      if (!this.options.wrap) return
-      $next = this.$element.find('.item')[fallback]()
-    }
-
     if ($next.hasClass('active')) return (this.sliding = false)
 
     var relatedTarget = $next[0]

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/collapse.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/collapse.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/collapse.js
index b2cc125..2bc30e7 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/collapse.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/collapse.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: collapse.js v3.3.1
+ * Bootstrap: collapse.js v3.3.2
  * http://getbootstrap.com/javascript/#collapse
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -28,7 +28,7 @@
     if (this.options.toggle) this.toggle()
   }
 
-  Collapse.VERSION  = '3.3.1'
+  Collapse.VERSION  = '3.3.2'
 
   Collapse.TRANSITION_DURATION = 350
 
@@ -46,7 +46,7 @@
     if (this.transitioning || this.$element.hasClass('in')) return
 
     var activesData
-    var actives = this.$parent && this.$parent.find('> .panel').children('.in, 
.collapsing')
+    var actives = this.$parent && 
this.$parent.children('.panel').children('.in, .collapsing')
 
     if (actives && actives.length) {
       activesData = actives.data('bs.collapse')

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/dropdown.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/dropdown.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/dropdown.js
index 69a40f6..200e1c6 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/dropdown.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/dropdown.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: dropdown.js v3.3.1
+ * Bootstrap: dropdown.js v3.3.2
  * http://getbootstrap.com/javascript/#dropdowns
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -19,7 +19,7 @@
     $(element).on('click.bs.dropdown', this.toggle)
   }
 
-  Dropdown.VERSION = '3.3.1'
+  Dropdown.VERSION = '3.3.2'
 
   Dropdown.prototype.toggle = function (e) {
     var $this = $(this)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/modal.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/modal.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/modal.js
index 93891aa..e7704b8 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/modal.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/modal.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: modal.js v3.3.1
+ * Bootstrap: modal.js v3.3.2
  * http://getbootstrap.com/javascript/#modals
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -30,7 +30,7 @@
     }
   }
 
-  Modal.VERSION  = '3.3.1'
+  Modal.VERSION  = '3.3.2'
 
   Modal.TRANSITION_DURATION = 300
   Modal.BACKDROP_TRANSITION_DURATION = 150

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/popover.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/popover.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/popover.js
index db272bd..be65b11 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/popover.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/popover.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: popover.js v3.3.1
+ * Bootstrap: popover.js v3.3.2
  * http://getbootstrap.com/javascript/#popovers
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -19,7 +19,7 @@
 
   if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
 
-  Popover.VERSION  = '3.3.1'
+  Popover.VERSION  = '3.3.2'
 
   Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
     placement: 'right',
@@ -86,18 +86,12 @@
 
   function Plugin(option) {
     return this.each(function () {
-      var $this    = $(this)
-      var data     = $this.data('bs.popover')
-      var options  = typeof option == 'object' && option
-      var selector = options && options.selector
+      var $this   = $(this)
+      var data    = $this.data('bs.popover')
+      var options = typeof option == 'object' && option
 
       if (!data && option == 'destroy') return
-      if (selector) {
-        if (!data) $this.data('bs.popover', (data = {}))
-        if (!data[selector]) data[selector] = new Popover(this, options)
-      } else {
-        if (!data) $this.data('bs.popover', (data = new Popover(this, 
options)))
-      }
+      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
       if (typeof option == 'string') data[option]()
     })
   }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/scrollspy.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/scrollspy.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/scrollspy.js
index c468262..0987177 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/scrollspy.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/scrollspy.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: scrollspy.js v3.3.1
+ * Bootstrap: scrollspy.js v3.3.2
  * http://getbootstrap.com/javascript/#scrollspy
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -30,7 +30,7 @@
     this.process()
   }
 
-  ScrollSpy.VERSION  = '3.3.1'
+  ScrollSpy.VERSION  = '3.3.2'
 
   ScrollSpy.DEFAULTS = {
     offset: 10

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/tab.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/tab.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/tab.js
index d59827f..ddb7fc9 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/tab.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/tab.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: tab.js v3.3.1
+ * Bootstrap: tab.js v3.3.2
  * http://getbootstrap.com/javascript/#tabs
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -17,7 +17,7 @@
     this.element = $(element)
   }
 
-  Tab.VERSION = '3.3.1'
+  Tab.VERSION = '3.3.2'
 
   Tab.TRANSITION_DURATION = 150
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/tooltip.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/tooltip.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/tooltip.js
index cda147d..1856df5 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/tooltip.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/tooltip.js
@@ -1,9 +1,9 @@
 /* ========================================================================
- * Bootstrap: tooltip.js v3.3.1
+ * Bootstrap: tooltip.js v3.3.2
  * http://getbootstrap.com/javascript/#tooltip
  * Inspired by the original jQuery.tipsy by Jason Frame
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 
@@ -25,7 +25,7 @@
     this.init('tooltip', element, options)
   }
 
-  Tooltip.VERSION  = '3.3.1'
+  Tooltip.VERSION  = '3.3.2'
 
   Tooltip.TRANSITION_DURATION = 150
 
@@ -346,10 +346,10 @@
   }
 
   Tooltip.prototype.getCalculatedOffset = function (placement, pos, 
actualWidth, actualHeight) {
-    return placement == 'bottom' ? { top: pos.top + pos.height,   left: 
pos.left + pos.width / 2 - actualWidth / 2  } :
-           placement == 'top'    ? { top: pos.top - actualHeight, left: 
pos.left + pos.width / 2 - actualWidth / 2  } :
+    return placement == 'bottom' ? { top: pos.top + pos.height,   left: 
pos.left + pos.width / 2 - actualWidth / 2 } :
+           placement == 'top'    ? { top: pos.top - actualHeight, left: 
pos.left + pos.width / 2 - actualWidth / 2 } :
            placement == 'left'   ? { top: pos.top + pos.height / 2 - 
actualHeight / 2, left: pos.left - actualWidth } :
-        /* placement == 'right' */ { top: pos.top + pos.height / 2 - 
actualHeight / 2, left: pos.left + pos.width   }
+        /* placement == 'right' */ { top: pos.top + pos.height / 2 - 
actualHeight / 2, left: pos.left + pos.width }
 
   }
 
@@ -445,18 +445,12 @@
 
   function Plugin(option) {
     return this.each(function () {
-      var $this    = $(this)
-      var data     = $this.data('bs.tooltip')
-      var options  = typeof option == 'object' && option
-      var selector = options && options.selector
+      var $this   = $(this)
+      var data    = $this.data('bs.tooltip')
+      var options = typeof option == 'object' && option
 
       if (!data && option == 'destroy') return
-      if (selector) {
-        if (!data) $this.data('bs.tooltip', (data = {}))
-        if (!data[selector]) data[selector] = new Tooltip(this, options)
-      } else {
-        if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, 
options)))
-      }
+      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
       if (typeof option == 'string') data[option]()
     })
   }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/js/transition.js
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/js/transition.js 
b/tapestry-webresources/src/test/webapp/bootstrap/js/transition.js
index 68c2bd6..ec9ab68 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/js/transition.js
+++ b/tapestry-webresources/src/test/webapp/bootstrap/js/transition.js
@@ -1,8 +1,8 @@
 /* ========================================================================
- * Bootstrap: transition.js v3.3.1
+ * Bootstrap: transition.js v3.3.2
  * http://getbootstrap.com/javascript/#transitions
  * ========================================================================
- * Copyright 2011-2014 Twitter, Inc.
+ * Copyright 2011-2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * ======================================================================== */
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/alerts.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/alerts.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/alerts.less
index df070b8..5618bfc 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/alerts.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/alerts.less
@@ -18,6 +18,7 @@
     // Specified for the h4 to prevent conflicts of changing @headings-color
     color: inherit;
   }
+  
   // Provide class for links that match alerts
   .alert-link {
     font-weight: @alert-link-font-weight;
@@ -28,6 +29,7 @@
   > ul {
     margin-bottom: 0;
   }
+  
   > p + p {
     margin-top: 5px;
   }
@@ -57,12 +59,15 @@
 .alert-success {
   .alert-variant(@alert-success-bg; @alert-success-border; 
@alert-success-text);
 }
+
 .alert-info {
   .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
 }
+
 .alert-warning {
   .alert-variant(@alert-warning-bg; @alert-warning-border; 
@alert-warning-text);
 }
+
 .alert-danger {
   .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/badges.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/badges.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/badges.less
index b27c405..4a80402 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/badges.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/badges.less
@@ -28,6 +28,7 @@
     position: relative;
     top: -1px;
   }
+  
   .btn-xs & {
     top: 0;
     padding: 1px 5px;
@@ -49,12 +50,15 @@
     color: @badge-active-color;
     background-color: @badge-active-bg;
   }
+  
   .list-group-item > & {
     float: right;
   }
+  
   .list-group-item > & + & {
     margin-right: 5px;
   }
+  
   .nav-pills > li > a > & {
     margin-left: 3px;
   }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/button-groups.less
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/button-groups.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/button-groups.less
index f84febb..13c1800 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/button-groups.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/button-groups.less
@@ -71,13 +71,13 @@
 .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
   border-radius: 0;
 }
-.btn-group > .btn-group:first-child {
+.btn-group > .btn-group:first-child:not(:last-child) {
   > .btn:last-child,
   > .dropdown-toggle {
     .border-right-radius(0);
   }
 }
-.btn-group > .btn-group:last-child > .btn:first-child {
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
   .border-left-radius(0);
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/buttons.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/buttons.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/buttons.less
index 40553c6..5a74604 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/buttons.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/buttons.less
@@ -107,7 +107,7 @@
   &:hover,
   &:focus {
     color: @link-hover-color;
-    text-decoration: underline;
+    text-decoration: @link-hover-decoration;
     background-color: transparent;
   }
   &[disabled],

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/carousel.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/carousel.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/carousel.less
index 5724d8a..4bbe946 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/carousel.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/carousel.less
@@ -27,24 +27,24 @@
 
     // WebKit CSS3 transforms for supported devices
     @media all and (transform-3d), (-webkit-transform-3d) {
-      transition: transform .6s ease-in-out;
-      backface-visibility: hidden;
-      perspective: 1000;
+      .transition-transform(~'0.6s ease-in-out');
+      .backface-visibility(~'hidden');
+      .perspective(1000);
 
       &.next,
       &.active.right {
-        transform: translate3d(100%, 0, 0);
+        .translate3d(100%, 0, 0);
         left: 0;
       }
       &.prev,
       &.active.left {
-        transform: translate3d(-100%, 0, 0);
+        .translate3d(-100%, 0, 0);
         left: 0;
       }
       &.next.left,
       &.prev.right,
       &.active {
-        transform: translate3d(0, 0, 0);
+        .translate3d(0, 0, 0);
         left: 0;
       }
     }
@@ -148,6 +148,7 @@
     width:  20px;
     height: 20px;
     margin-top: -10px;
+    line-height: 1;
     font-family: serif;
   }
 
@@ -195,6 +196,7 @@
     // Internet Explorer 8-9 does not support clicks on elements without a set
     // `background-color`. We cannot use `filter` since that's not viewed as a
     // background color by the browser. Thus, a hack is needed.
+    // See 
https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
     //
     // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
     // set alpha transparency for the best results possible.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/close.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/close.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/close.less
index 9b4e74f..6d5bfe0 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/close.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/close.less
@@ -23,6 +23,7 @@
   // Additional properties for button version
   // iOS requires the button element instead of an anchor tag.
   // If you want the anchor version, it requires `href="#"`.
+  // See 
https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
   button& {
     padding: 0;
     cursor: pointer;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/dropdowns.less
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/dropdowns.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/dropdowns.less
index 84a48c1..0cc46df 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/dropdowns.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/dropdowns.less
@@ -16,6 +16,7 @@
 }
 
 // The dropdown wrapper (div)
+.dropup,
 .dropdown {
   position: relative;
 }
@@ -190,7 +191,7 @@
   .dropdown-menu {
     top: auto;
     bottom: 100%;
-    margin-bottom: 1px;
+    margin-bottom: 2px;
   }
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/forms.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/forms.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/forms.less
index 1bcc2b6..3138c2c 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/forms.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/forms.less
@@ -123,7 +123,7 @@ output {
   background-color: @input-bg;
   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;
+  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.
   .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
   .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
 
@@ -143,7 +143,7 @@ output {
   fieldset[disabled] & {
     cursor: @cursor-disabled;
     background-color: @input-bg-disabled;
-    opacity: 1; // iOS fix for unreadable disabled content
+    opacity: 1; // iOS fix for unreadable disabled content; see 
https://github.com/twbs/bootstrap/issues/11655
   }
 
   // Reset height for `textarea`s
@@ -170,7 +170,7 @@ input[type="search"] {
 // In Mobile Safari, setting `display: block` on temporal inputs causes the
 // text within the input to become vertically misaligned. As a workaround, we
 // set a pixel line-height that matches the given height of the input, but only
-// for Safari.
+// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
 
 @media screen and (-webkit-min-device-pixel-ratio: 0) {
   input[type="date"],
@@ -178,18 +178,16 @@ input[type="search"] {
   input[type="datetime-local"],
   input[type="month"] {
     line-height: @input-height-base;
-  }
-  input[type="date"].input-sm,
-  input[type="time"].input-sm,
-  input[type="datetime-local"].input-sm,
-  input[type="month"].input-sm {
-    line-height: @input-height-small;
-  }
-  input[type="date"].input-lg,
-  input[type="time"].input-lg,
-  input[type="datetime-local"].input-lg,
-  input[type="month"].input-lg {
-    line-height: @input-height-large;
+
+    &.input-sm,
+    .input-group-sm & {
+      line-height: @input-height-small;
+    }
+
+    &.input-lg,
+    .input-group-lg & {
+      line-height: @input-height-large;
+    }
   }
 }
 
@@ -309,16 +307,39 @@ input[type="checkbox"] {
 //
 // Build on `.form-control` with modifier classes to decrease or increase the
 // height and font-size of form controls.
+//
+// The `.form-group-* form-control` variations are sadly duplicated to avoid 
the
+// issue documented in https://github.com/twbs/bootstrap/issues/15074.
 
-.input-sm,
-.form-group-sm .form-control {
+.input-sm {
   .input-size(@input-height-small; @padding-small-vertical; 
@padding-small-horizontal; @font-size-small; @line-height-small; 
@input-border-radius-small);
 }
+.form-group-sm {
+  .form-control {
+    .input-size(@input-height-small; @padding-small-vertical; 
@padding-small-horizontal; @font-size-small; @line-height-small; 
@input-border-radius-small);
+  }
+  .form-control-static {
+    height: @input-height-small;
+    padding: @padding-small-vertical @padding-small-horizontal;
+    font-size: @font-size-small;
+    line-height: @line-height-small;
+  }
+}
 
-.input-lg,
-.form-group-lg .form-control {
+.input-lg {
   .input-size(@input-height-large; @padding-large-vertical; 
@padding-large-horizontal; @font-size-large; @line-height-large; 
@input-border-radius-large);
 }
+.form-group-lg {
+  .form-control {
+    .input-size(@input-height-large; @padding-large-vertical; 
@padding-large-horizontal; @font-size-large; @line-height-large; 
@input-border-radius-large);
+  }
+  .form-control-static {
+    height: @input-height-large;
+    padding: @padding-large-vertical @padding-large-horizontal;
+    font-size: @font-size-large;
+    line-height: @line-height-large;
+  }
+}
 
 
 // Form control feedback states
@@ -450,8 +471,7 @@ input[type="checkbox"] {
     }
 
     // Remove default margin on radios/checkboxes that were used for stacking, 
and
-    // then undo the floating of radios and checkboxes to match (which also 
avoids
-    // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
+    // then undo the floating of radios and checkboxes to match.
     .radio,
     .checkbox {
       display: inline-block;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/glyphicons.less
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/glyphicons.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/glyphicons.less
index 6eab7f7..8b25f89 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/glyphicons.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/glyphicons.less
@@ -12,6 +12,7 @@
   font-family: 'Glyphicons Halflings';
   src: url('@{icon-font-path}@{icon-font-name}.eot');
   src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') 
format('embedded-opentype'),
+       url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),
        url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),
        url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),
        url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') 
format('svg');
@@ -232,3 +233,69 @@
 .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-yen                    { &:before { content: "\00a5"; } }
+.glyphicon-ruble                  { &: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"; } }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/jumbotron.less
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/jumbotron.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/jumbotron.less
index 340d4a3..d641023 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/jumbotron.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/jumbotron.less
@@ -13,6 +13,7 @@
   .h1 {
     color: @jumbotron-heading-color;
   }
+  
   p {
     margin-bottom: (@jumbotron-padding / 2);
     font-size: @jumbotron-font-size;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/media.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/media.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/media.less
index 292e98d..a6bf781 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/media.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/media.less
@@ -7,6 +7,20 @@
   }
 }
 
+.media,
+.media-body {
+  zoom: 1;
+  overflow: hidden;
+}
+
+.media-body {
+  width: 10000px;
+}
+
+.media-object {
+  display: block;
+}
+
 .media-right,
 .media > .pull-right {
   padding-left: 10px;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
 
b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
index 31f8e2f..afd3331 100644
--- 
a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
+++ 
b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
@@ -102,7 +102,7 @@
   // Firefox
   &::-moz-placeholder {
     color: @color;
-    opacity: 1; // See https://github.com/twbs/bootstrap/pull/11526
+    opacity: 1; // Override Firefox's unusual default opacity; see 
https://github.com/twbs/bootstrap/pull/11526
   }
   &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
   &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
index 67fd352..0c83503 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
@@ -331,6 +331,7 @@
 }
 // Menu position and menu caret support for dropups via extra dropup class
 .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+  margin-bottom: 0;
   .border-top-radius(@navbar-border-radius);
   .border-bottom-radius(0);
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
index d0f8f95..04eb2b3 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/panels.less
@@ -36,7 +36,11 @@
   font-size: ceil((@font-size-base * 1.125));
   color: inherit;
 
-  > a {
+  > a,
+  > small,
+  > .small,
+  > small > a,
+  > .small > a {
     color: inherit;
   }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
index 53ee0ec..2748eea 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/popovers.less
@@ -11,7 +11,7 @@
   display: none;
   max-width: @popover-max-width;
   padding: 1px;
-  // Reset font and text propertes given new insertion method
+  // Reset font and text properties given new insertion method
   font-family: @font-family-base;
   font-size: @font-size-base;
   font-weight: normal;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
index ba24498..2242c03 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/tables.less
@@ -111,7 +111,7 @@ th {
 // Default zebra-stripe styles (alternating gray and transparent backgrounds)
 
 .table-striped {
-  > tbody > tr:nth-child(odd) {
+  > tbody > tr:nth-of-type(odd) {
     background-color: @table-bg-accent;
   }
 }
@@ -133,7 +133,7 @@ th {
 // Reset default table behavior
 
 table col[class*="col-"] {
-  position: static; // Prevent border hiding in Firefox and IE9/10 (see 
https://github.com/twbs/bootstrap/issues/11623)
+  position: static; // Prevent border hiding in Firefox and IE9-11 (see 
https://github.com/twbs/bootstrap/issues/11623)
   float: none;
   display: table-column;
 }
@@ -141,7 +141,7 @@ table {
   td,
   th {
     &[class*="col-"] {
-      position: static; // Prevent border hiding in Firefox and IE9/10 (see 
https://github.com/twbs/bootstrap/issues/11623)
+      position: static; // Prevent border hiding in Firefox and IE9-11 (see 
https://github.com/twbs/bootstrap/issues/11623)
       float: none;
       display: table-cell;
     }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
index a15d16e..6f2eb62 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/theme.less
@@ -36,7 +36,7 @@
 // Mixin for generating new styles
 .btn-styles(@btn-color: #555) {
   #gradient > .vertical(@start-color: @btn-color; @end-color: 
darken(@btn-color, 12%));
-  .reset-filter(); // Disable gradients for IE9 because filter bleeds through 
rounded corners
+  .reset-filter(); // Disable gradients for IE9 because filter bleeds through 
rounded corners; see https://github.com/twbs/bootstrap/issues/10620
   background-repeat: repeat-x;
   border-color: darken(@btn-color, 14%);
 
@@ -52,6 +52,7 @@
     border-color: darken(@btn-color, 14%);
   }
 
+  &.disabled,
   &:disabled,
   &[disabled] {
     background-color: darken(@btn-color, 12%);
@@ -130,7 +131,7 @@
 // Inverted navbar
 .navbar-inverse {
   #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); 
@end-color: @navbar-inverse-bg);
-  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns 
don't get triggered
+  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns 
don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
 
   .navbar-nav > .open > a,
   .navbar-nav > .active > a {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
----------------------------------------------------------------------
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
index 9c2a37f..3ebfdcd 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/tooltip.less
@@ -9,7 +9,7 @@
   z-index: @zindex-tooltip;
   display: block;
   visibility: visible;
-  // Reset font and text propertes given new insertion method
+  // Reset font and text properties given new insertion method
   font-family: @font-family-base;
   font-size: @font-size-small;
   font-weight: normal;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360177b9/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
----------------------------------------------------------------------
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
index b13be9d..002be6a 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/variables.less
@@ -14,7 +14,7 @@
 @gray-light:             lighten(@gray-base, 46.7%); // #777
 @gray-lighter:           lighten(@gray-base, 93.5%); // #eee
 
-@brand-primary:         darken(#428bca, 6.5%);
+@brand-primary:         darken(#428bca, 6.5%); // #337ab7
 @brand-success:         #5cb85c;
 @brand-info:            #5bc0de;
 @brand-warning:         #f0ad4e;
@@ -99,7 +99,7 @@
 @padding-xs-vertical:       1px;
 @padding-xs-horizontal:     5px;
 
-@line-height-large:         1.33;
+@line-height-large:         1.3333333; // extra decimals for Win 8.1 Chrome
 @line-height-small:         1.5;
 
 @border-radius-base:        4px;
@@ -187,6 +187,7 @@
 
 // TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
 //** Default `.form-control` border radius
+// This has no effect on `<select>`s in some browsers, due to the limited 
stylability of `<select>`s in CSS.
 @input-border-radius:            @border-radius-base;
 //** Large `.form-control` border radius
 @input-border-radius-large:      @border-radius-large;

Reply via email to