-	
diff --git a/js/libs/bootstrap/less/button-groups.less b/js/libs/bootstrap/less/button-groups.less
index 08fa740f..e4a78cd4 100644
--- a/js/libs/bootstrap/less/button-groups.less
+++ b/js/libs/bootstrap/less/button-groups.less
@@ -18,16 +18,18 @@
     border-top-color: #fff;
   }
 }
-.dropup .caret {
-  .btn-default & {
+.dropup {
+  & .btn-default .caret {
     border-bottom-color: @btn-default-color;
   }
-  .btn-primary &,
-  .btn-success &,
-  .btn-warning &,
-  .btn-danger &,
-  .btn-info & {
-    border-bottom-color: #fff;
+  & .btn-primary,
+  & .btn-success,
+  & .btn-warning,
+  & .btn-danger,
+  & .btn-info {
+   .caret {
+      border-bottom-color: #fff;
+    }
   }
 }
 
diff --git a/js/libs/bootstrap/less/buttons.less b/js/libs/bootstrap/less/buttons.less
index e5c287fd..7b8692ce 100644
--- a/js/libs/bootstrap/less/buttons.less
+++ b/js/libs/bootstrap/less/buttons.less
@@ -41,7 +41,7 @@
   &.disabled,
   &[disabled],
   fieldset[disabled] & {
-    cursor: default;
+    cursor: not-allowed;
     pointer-events: none; // Future-proof disabling of clicks
     .opacity(.65);
     .box-shadow(none);
diff --git a/js/libs/bootstrap/less/dropdowns.less b/js/libs/bootstrap/less/dropdowns.less
index 99cf7d00..d9417358 100644
--- a/js/libs/bootstrap/less/dropdowns.less
+++ b/js/libs/bootstrap/less/dropdowns.less
@@ -75,8 +75,7 @@
   &:focus {
     text-decoration: none;
     color: @dropdown-link-hover-color;
-    #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
-    background-color: darken(@dropdown-link-hover-bg, 5%);
+    background-color: @dropdown-link-hover-bg;
   }
 }
 
@@ -88,8 +87,7 @@
     color: @dropdown-link-active-color;
     text-decoration: none;
     outline: 0;
-    #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
-    background-color: darken(@dropdown-link-active-bg, 5%);
+    background-color: @dropdown-link-active-bg;
   }
 }
 
diff --git a/js/libs/bootstrap/less/forms.less b/js/libs/bootstrap/less/forms.less
index a8847be2..c59cdd4d 100644
--- a/js/libs/bootstrap/less/forms.less
+++ b/js/libs/bootstrap/less/forms.less
@@ -133,9 +133,9 @@ input[type="number"] {
   .form-control-focus();
 
   // 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.
+  // Note: HTML5 says that controls 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] & {
@@ -207,6 +207,20 @@ input[type="number"] {
   margin-left: 10px; // space out consecutive inline controls
 }
 
+// Apply same disabled cursor tweak as for inputs
+//
+// Note: Neither radios nor checkboxes can be readonly.
+input[type="radio"],
+input[type="checkbox"],
+.radio,
+.radio-inline,
+.checkbox,
+.checkbox-inline {
+  &[disabled],
+  fieldset[disabled] & {
+    cursor: not-allowed;
+  }
+}
 
 // Form control sizing
 .input-sm {
diff --git a/js/libs/bootstrap/less/input-groups.less b/js/libs/bootstrap/less/input-groups.less
index 153b2295..570f03f9 100644
--- a/js/libs/bootstrap/less/input-groups.less
+++ b/js/libs/bootstrap/less/input-groups.less
@@ -32,7 +32,7 @@
 .input-group-lg > .input-group-btn > .btn { .input-lg(); }
 .input-group-sm > .form-control,
 .input-group-sm > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn { .input-sm(); }
+.input-group-sm > .input-group-btn > .btn { .input-sm(); }
 
 
 // Display as table-cell
diff --git a/js/libs/bootstrap/less/labels.less b/js/libs/bootstrap/less/labels.less
index 941d27f3..6a022981 100644
--- a/js/libs/bootstrap/less/labels.less
+++ b/js/libs/bootstrap/less/labels.less
@@ -37,18 +37,22 @@
   .label-variant(@label-default-bg);
 }
 
-.label-danger {
-  .label-variant(@label-danger-bg);
+.label-primary {
+  .label-variant(@label-primary-bg);
 }
 
 .label-success {
   .label-variant(@label-success-bg);
 }
 
+.label-info {
+  .label-variant(@label-info-bg);
+}
+
 .label-warning {
   .label-variant(@label-warning-bg);
 }
 
-.label-info {
-  .label-variant(@label-info-bg);
+.label-danger {
+  .label-variant(@label-danger-bg);
 }
diff --git a/js/libs/bootstrap/less/mixins.less b/js/libs/bootstrap/less/mixins.less
index 0f30c298..65d8a0f7 100644
--- a/js/libs/bootstrap/less/mixins.less
+++ b/js/libs/bootstrap/less/mixins.less
@@ -294,10 +294,10 @@
 
 
 
-// RETINA IMAGE SUPPORT
-// --------------------------------------------------
-
+// Retina images
+//
 // Short retina mixin for setting background-image and -size
+
 .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
   background-image: url("@{file-1x}");
 
@@ -314,6 +314,17 @@
 }
 
 
+// Responsive image
+//
+// Keep images from scaling beyond the width of their parents.
+
+.img-responsive(@display: block;) {
+  display: @display;
+  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
+}
+
+
 // COMPONENT MIXINS
 // --------------------------------------------------
 
@@ -376,7 +387,7 @@
       border-color: @border;
     }
   }
-  
+
   // Hover states for `.table-hover`
   // Note: this is not available for cells or rows within `thead` or `tfoot`.
   .table-hover > tbody > tr {
@@ -710,12 +721,12 @@
   font-size: @font-size;
   line-height: @line-height;
   border-radius: @border-radius;
-  
+
   select& {
     height: @input-height;
     line-height: @input-height;
   }
-  
+
   textarea& {
     height: auto;
   }
diff --git a/js/libs/bootstrap/less/navbar.less b/js/libs/bootstrap/less/navbar.less
index 33e90a25..dc11007e 100644
--- a/js/libs/bootstrap/less/navbar.less
+++ b/js/libs/bootstrap/less/navbar.less
@@ -51,7 +51,8 @@
 // content for the user's viewport.
 
 .navbar-collapse {
-  padding: 5px @navbar-padding-horizontal;
+  padding-right: @navbar-padding-horizontal;
+  padding-left:  @navbar-padding-horizontal;
   border-top: 1px solid darken(@navbar-bg, 7%);
   box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
   // Clear floated elements and prevent collapsing of padding
@@ -66,9 +67,21 @@
 
   @media (min-width: @grid-float-breakpoint) {
     width: auto;
-    padding: 0;
+    padding-right: 0;
+    padding-left:  0;
     border-top: 0;
     box-shadow: none;
+
+    &.collapse {
+      display: block !important;
+      height: auto !important;
+      padding-bottom: 0; // Override default setting
+      overflow: visible !important;
+    }
+
+    &.in {
+      overflow-y: visible;
+    }
   }
 }
 
@@ -114,7 +127,6 @@
 
 .navbar-brand {
   float: left;
-  margin-right: (@navbar-padding-horizontal / 2);
   padding-top: @navbar-padding-vertical;
   padding-bottom: @navbar-padding-vertical;
   font-size: @font-size-large;
@@ -159,6 +171,13 @@
   .icon-bar + .icon-bar {
     margin-top: 4px;
   }
+
+  @media (min-width: @grid-float-breakpoint) {
+    position: relative;
+    top: auto;
+    left: auto;
+    display: none;
+  }
 }
 
 
@@ -168,14 +187,11 @@
 // the nav the full height of the horizontal nav (above 768px).
 
 .navbar-nav {
+  padding-top:    (@navbar-padding-vertical / 2);
+  padding-bottom: (@navbar-padding-vertical / 2);
   margin-left: -@navbar-padding-horizontal;
   margin-right: -@navbar-padding-horizontal;
 
-  @media (min-width: @grid-float-breakpoint) {
-    margin-left: 0;
-    margin-right: 0;
-  }
-
   > li > a {
     padding-top:    10px;
     padding-bottom: 10px;
@@ -205,7 +221,7 @@
   }
 
   @media (max-width: @screen-phone-max) {
-    // Dropdowns get custom display
+    // Dropdowns get custom display when collapsed
     .open .dropdown-menu {
       position: static;
       float: none;
@@ -247,6 +263,22 @@
     }
   }
 
+  // Uncollapse the nav
+  @media (min-width: @grid-float-breakpoint) {
+    float: left;
+    margin: 0;
+    padding-top: 0;
+    padding-bottom: 0;
+
+    > li {
+      float: left;
+      > a {
+        padding-top: ((@navbar-height - @line-height-computed) / 2);
+        padding-bottom: ((@navbar-height - @line-height-computed) / 2);
+      }
+    }
+  }
+
 }
 
 
@@ -278,6 +310,8 @@
   padding: 10px @navbar-padding-horizontal;
   border-top: 1px solid darken(@navbar-bg, 7%);
   border-bottom: 1px solid darken(@navbar-bg, 7%);
+  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+  .box-shadow(@shadow);
 
   // Mixin behavior for optimum display
   .form-inline();
@@ -299,6 +333,7 @@
     margin-right: 0;
     padding-top: 0;
     padding-bottom: 0;
+    .box-shadow(none);
   }
 }
 
@@ -351,6 +386,43 @@
 }
 
 
+// Buttons in navbars
+//
+// Vertically center a button within a navbar (when *not* in a form).
+
+.navbar-btn {
+  .navbar-vertical-align(@input-height-base);
+}
+
+
+// Text in navbars
+//
+// Add a class to make any element properly align itself vertically within the navbars.
+
+.navbar-text {
+  float: left;
+  color: @navbar-color;
+  .navbar-vertical-align(@line-height-computed);
+
+  @media (min-width: @grid-float-breakpoint) {
+    margin-left: @navbar-padding-horizontal;
+    margin-right: @navbar-padding-horizontal;
+  }
+}
+
+
+// Links in navbars
+//
+// Add a class to ensure links outside the navbar nav are colored correctly.
+
+// Default navbar variables
+.navbar-link {
+  color: @navbar-link-color;
+  &:hover {
+    color: @navbar-link-hover-color;
+  }
+}
+
 
 // Inverse navbar
 // --------------------------------------------------
@@ -412,8 +484,9 @@
     }
   }
 
-  .navbar-collapse {
-    border-top-color: darken(@navbar-inverse-bg, 7%);
+  .navbar-collapse,
+  .navbar-form {
+    border-color: darken(@navbar-inverse-bg, 7%);
   }
 
   // Dropdowns
@@ -479,85 +552,11 @@
     }
   }
 
-}
-
-
-
-// Responsive navbar
-// --------------------------------------------------
-
-@media screen and (min-width: @grid-float-breakpoint) {
-
-  .navbar-nav {
-    float: left;
-    // undo margin to make nav extend full height of navbar
-    margin-top: 0;
-    margin-bottom: 0;
-
-    > li {
-      float: left;
-      > a {
-        padding-top: ((@navbar-height - @line-height-computed) / 2);
-        padding-bottom: ((@navbar-height - @line-height-computed) / 2);
-      }
+  .navbar-link {
+    color: @navbar-inverse-link-color;
+    &:hover {
+      color: @navbar-inverse-link-hover-color;
     }
   }
 
-  // Required to make the collapsing navbar work on regular desktops
-  .navbar-toggle {
-    position: relative;
-    top: auto;
-    left: auto;
-    display: none;
-  }
-  .navbar-collapse.collapse {
-    display: block !important;
-    height: auto !important;
-    padding-bottom: 0; // Override default setting
-    overflow: visible !important;
-  }
-
-}
-
-
-
-// Buttons in navbars
-//
-// Vertically center a button within a navbar (when *not* in a form).
-
-.navbar-btn {
-  margin-top: ((@navbar-height - @input-height-base) / 2);
-}
-
-
-
-// Text in navbars
-//
-// Add a class to make any element properly align itself vertically within the navbars.
-
-.navbar-text {
-  float: left;
-  .navbar-vertical-align(@line-height-computed);
-}
-
-
-
-// Links in navbars
-//
-// Add a class to ensure links outside the navbar nav are colored correctly.
-
-// Default navbar variables
-.navbar-link {
-  color: @navbar-link-color;
-  &:hover {
-    color: @navbar-link-hover-color;
-  }
-}
-
-// Use the inverse navbar variables
-.navbar-inverse .navbar-link {
-  color: @navbar-inverse-link-color;
-  &:hover {
-    color: @navbar-inverse-link-hover-color;
-  }
 }
diff --git a/js/libs/bootstrap/less/navs.less b/js/libs/bootstrap/less/navs.less
index 610b97e0..e4b3243d 100644
--- a/js/libs/bootstrap/less/navs.less
+++ b/js/libs/bootstrap/less/navs.less
@@ -19,7 +19,7 @@
     > a {
       position: relative;
       display: block;
-      padding: 10px 15px;
+      padding: @nav-link-padding;
       &:hover,
       &:focus {
         text-decoration: none;
@@ -87,7 +87,7 @@
       border: 1px solid transparent;
       border-radius: @border-radius-base @border-radius-base 0 0;
       &:hover {
-        border-color: @nav-tabs-link-hover-border-color;
+        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
       }
     }
 
diff --git a/js/libs/bootstrap/less/pagination.less b/js/libs/bootstrap/less/pagination.less
index 12bb71b1..b480b388 100644
--- a/js/libs/bootstrap/less/pagination.less
+++ b/js/libs/bootstrap/less/pagination.less
@@ -11,18 +11,19 @@
     display: inline; // Remove list-style and block-level defaults
     > a,
     > span {
+      position: relative;
       float: left; // Collapse white-space
       padding: @padding-base-vertical @padding-base-horizontal;
       line-height: @line-height-base;
       text-decoration: none;
       background-color: @pagination-bg;
       border: 1px solid @pagination-border;
-      border-left-width: 0;
+      margin-left: -1px;
     }
     &:first-child {
       > a,
       > span {
-        border-left-width: 1px;
+        margin-left: 0;
         .border-left-radius(@border-radius-base);
       }
     }
@@ -34,16 +35,25 @@
     }
   }
 
-  > li > a:hover,
-  > li > a:focus,
-  > .active > a,
-  > .active > span {
-    background-color: @pagination-active-bg;
+  > li > a,
+  > li > span {
+    &:hover,
+    &:focus {
+      background-color: @pagination-hover-bg;
+    }
   }
+
   > .active > a,
   > .active > span {
-    color: @pagination-active-color;
-    cursor: default;
+    &,
+    &:hover,
+    &:focus {
+      z-index: 2;
+      color: @pagination-active-color;
+      background-color: @pagination-active-bg;
+      border-color: @pagination-active-bg;
+      cursor: default;
+    }
   }
 
   > .disabled {
@@ -53,6 +63,7 @@
     > a:focus {
       color: @pagination-disabled-color;
       background-color: @pagination-bg;
+      border-color: @pagination-border;
       cursor: not-allowed;
     }
   }
diff --git a/js/libs/bootstrap/less/progress-bars.less b/js/libs/bootstrap/less/progress-bars.less
index d4c498c5..49e5df8e 100644
--- a/js/libs/bootstrap/less/progress-bars.less
+++ b/js/libs/bootstrap/less/progress-bars.less
@@ -78,22 +78,18 @@
 // Variations
 // -------------------------
 
-// Danger (red)
-.progress-bar-danger {
-  .progress-bar-variant(@progress-bar-danger-bg);
-}
-
-// Success (green)
 .progress-bar-success {
   .progress-bar-variant(@progress-bar-success-bg);
 }
 
-// Warning (orange)
+.progress-bar-info {
+  .progress-bar-variant(@progress-bar-info-bg);
+}
+
 .progress-bar-warning {
   .progress-bar-variant(@progress-bar-warning-bg);
 }
 
-// Info (teal)
-.progress-bar-info {
-  .progress-bar-variant(@progress-bar-info-bg);
+.progress-bar-danger {
+  .progress-bar-variant(@progress-bar-danger-bg);
 }
diff --git a/js/libs/bootstrap/less/scaffolding.less b/js/libs/bootstrap/less/scaffolding.less
index 0c1774e2..3a6ed3d9 100644
--- a/js/libs/bootstrap/less/scaffolding.less
+++ b/js/libs/bootstrap/less/scaffolding.less
@@ -39,6 +39,14 @@ textarea {
   line-height: inherit;
 }
 
+// Reset unusual Firefox-on-Android default style, see https://github.com/necolas/normalize.css/issues/214
+button,
+input,
+select[multiple],
+textarea {
+  background-image: none;
+}
+
 
 // Links
 // -------------------------
@@ -66,9 +74,7 @@ img {
 
 // Responsive images (ensure images don't scale beyond their parents)
 .img-responsive {
-  display: inline-block;
-  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
+  .img-responsive();
 }
 
 // Rounded corners
diff --git a/js/libs/bootstrap/less/thumbnails.less b/js/libs/bootstrap/less/thumbnails.less
index d209412d..76f79b9e 100644
--- a/js/libs/bootstrap/less/thumbnails.less
+++ b/js/libs/bootstrap/less/thumbnails.less
@@ -20,10 +20,12 @@
 .thumbnail {
   display: block;
 }
-.thumbnail > img,
-.img-thumbnail {
+.thumbnail > img {
   .img-responsive();
 }
+.img-thumbnail {
+  .img-responsive(inline-block);
+}
 
 // Add a hover state for linked versions only
 a.thumbnail:hover,
diff --git a/js/libs/bootstrap/less/variables.less b/js/libs/bootstrap/less/variables.less
index b85aaecf..aa0f9fb0 100644
--- a/js/libs/bootstrap/less/variables.less
+++ b/js/libs/bootstrap/less/variables.less
@@ -296,6 +296,7 @@
 // Navs
 // -------------------------
 
+@nav-link-padding:                          10px 15px;
 @nav-link-hover-bg:                         @gray-lighter;
 
 @nav-disabled-link-color:                   @gray-light;
@@ -326,10 +327,15 @@
 
 @pagination-bg:                        #fff;
 @pagination-border:                    #ddd;
-@pagination-active-bg:                 #f5f5f5;
-@pagination-active-color:              @gray-light;
+
+@pagination-hover-bg:                  @gray-lighter;
+
+@pagination-active-bg:                 @brand-primary;
+@pagination-active-color:              #fff;
+
 @pagination-disabled-color:            @gray-light;
 
+
 // Pager
 // -------------------------
 
@@ -396,6 +402,7 @@
 // -------------------------
 
 @label-default-bg:            @gray-light;
+@label-primary-bg:            @brand-primary;
 @label-success-bg:            @brand-success;
 @label-info-bg:               @brand-info;
 @label-warning-bg:            @brand-warning;
diff --git a/js/styles/default.less b/js/styles/default.less
index 99ed5c5b..474dfa47 100644
--- a/js/styles/default.less
+++ b/js/styles/default.less
@@ -20,6 +20,7 @@
 @navbar-border: @transparent;
 @nav-disabled-link-color: #ccc;
 @nav-disabled-link-hover-color: #bbb;
+@nav-tabs-border-color: @transparent;
 @dropdown-link-hover-bg: #888;
 @dropdown-link-active-color: #fff;
 @list-group-link-color: #333;
@@ -42,6 +43,7 @@
 @modal-content-border-color: #e8e8e8;
 @modal-footer-border-color: #e8e8e8;
 @modal-content-separator-color: #eee;
+@tooltip-max-width: 220px;
 
 
 body {
@@ -369,9 +371,10 @@ body {
 		    position: absolute;
 		    line-height: 10px;
 		    margin-left: -30px;
-		    margin-top: 5px;
-		    padding: 8px;
-		    font-weight: normal;
+		    margin-top: 2px;
+			padding: 0 8px 4px;
+			font-weight: normal;
+			height: 34px;
 		}
 	}		
 	.list-group-item {
@@ -433,6 +436,9 @@ body {
 			}
 		}
 	}
+	.file-list .list-group-item {
+		padding: 0 3px;
+	}
 	.folder {
 		font-weight: bold;
 		color: @folder-color;
@@ -569,20 +575,19 @@ body {
 		min-height: 100px;
 	}
 	
-	.accordion-group {
+	.panel {
 		border: 0;
-		border-bottom: 1px solid @bg-light;
 		border-radius: inherit;
-		margin-bottom: 10px;
-		clear: both;
+		background: @modal-content-bg;
 	}
 	
 	.accordion-heading {
-		padding: 8px 15px;
+		padding: 12px 15px;
 		.accordion-toggle {
 			display: inline;
 			padding: 0;
-			font-weight: 500;
+			font-weight: bold;
+			cursor: pointer;
 			&:hover {
 				text-decoration: underline;
 			}
@@ -595,7 +600,7 @@ body {
 	
 	.accordion-inner {
 		border: 0;
-		padding: 10px 40px;
+		padding: 10px 40px 20px;
 		.form-horizontal {
 			.control-label {
 				text-align: left;
@@ -607,7 +612,7 @@ body {
 	}
 	
 	.tab-pane-button-container {
-		width: 200px;
+		width: 220px;
 		margin: 10px auto 20px;
 	}
 	
@@ -617,7 +622,6 @@ body {
 	}
 	
 	.nav-tabs {
-		border-bottom: 1px solid transparent;
 		margin: 15px 0 0;
 		
 		& > li > a {
@@ -787,40 +791,6 @@ hr {
 	display: none;
 }
 
-.wmd-prompt-dialog {
-	border: 1px solid #999999;
-	background-color: @body-bg;
-}
-
-.wmd-prompt-dialog>div {
-	font-size: 0.8em;
-	font-family: arial, helvetica, sans-serif;
-}
-
-.wmd-prompt-dialog>form>input[type="text"] {
-	border: 1px solid #999999;
-	color: black;
-}
-
-.wmd-prompt-dialog>form>input[type="button"] {
-	border: 1px solid #888888;
-	font-family: trebuchet MS, helvetica, sans-serif;
-	font-size: 0.8em;
-	font-weight: bold;
-}
-
-.dropdown-menu .divider.with-text {
-	height: auto;
-	margin-bottom: 2px;
-	background-color: transparent;
-	border-top: 1px solid #e5e5e5;
-	color: #ccc;
-	font-variant: small-caps;
-	font-weight: bold;
-	padding-left: 20px;
-	cursor: default;
-}
-
 div.dropdown-menu {
 	padding: 5px 20px;
 }