diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index 49e6073cf2d65a8baf56960b3e870a5119df0571..53777491a34a5ec53b7d13896aafd51ea8b829fc 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -1601,20 +1601,11 @@ select:focus:invalid:focus {
 .input-group-btn,
 .input-group input {
   display: table-cell;
-  /*margin: 0;*/
-
-  border-radius: 0;
-}
-
-.input-group-addon.input-small,
-.input-group-btn.input-small,
-.input-group input.input-small {
-  border-radius: 0;
 }
 
-.input-group-addon.input-large,
-.input-group-btn.input-large,
-.input-group input.input-large {
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group input:not(:first-child):not(:last-child) {
   border-radius: 0;
 }
 
@@ -1633,6 +1624,7 @@ select:focus:invalid:focus {
   text-shadow: 0 1px 0 #fff;
   background-color: #eeeeee;
   border: 1px solid #ccc;
+  border-radius: 4px;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
@@ -1641,29 +1633,21 @@ select:focus:invalid:focus {
 .input-group-addon.input-small {
   padding: 2px 10px;
   font-size: 11.9px;
+  border-radius: 3px;
 }
 
 .input-group-addon.input-large {
   padding: 11px 14px;
   font-size: 17.5px;
+  border-radius: 6px;
 }
 
 .input-group input:first-child,
-.input-group-addon:first-child {
-  border-bottom-left-radius: 4px;
-  border-top-left-radius: 4px;
-}
-
-.input-group input:first-child.input-small,
-.input-group-addon:first-child.input-small {
-  border-bottom-left-radius: 3px;
-  border-top-left-radius: 3px;
-}
-
-.input-group input:first-child.input-large,
-.input-group-addon:first-child.input-large {
-  border-bottom-left-radius: 6px;
-  border-top-left-radius: 6px;
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn:first-child,
+.input-group-btn:first-child > .dropdown-toggle:first-child {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
 }
 
 .input-group-addon:first-child {
@@ -1671,21 +1655,11 @@ select:focus:invalid:focus {
 }
 
 .input-group input:last-child,
-.input-group-addon:last-child {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.input-group input:last-child.input-small,
-.input-group-addon:last-child.input-small {
-  border-top-right-radius: 3px;
-  border-bottom-right-radius: 3px;
-}
-
-.input-group input:last-child.input-large,
-.input-group-addon:last-child.input-large {
-  border-top-right-radius: 6px;
-  border-bottom-right-radius: 6px;
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn:last-child,
+.input-group-btn:last-child > .dropdown-toggle {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
 }
 
 .input-group-addon:last-child {
@@ -1700,7 +1674,6 @@ select:focus:invalid:focus {
 .input-group-btn > .btn {
   position: relative;
   float: left;
-  border-radius: 0;
 }
 
 .input-group-btn > .btn + .btn {
@@ -1712,42 +1685,6 @@ select:focus:invalid:focus {
   z-index: 2;
 }
 
-.input-group-btn:first-child > .btn:first-child,
-.input-group-btn:first-child > .dropdown-toggle:first-child {
-  border-bottom-left-radius: 4px;
-  border-top-left-radius: 4px;
-}
-
-.input-group-btn:first-child > .btn:first-child.btn-large,
-.input-group-btn:first-child > .dropdown-toggle:first-child.btn-large {
-  border-bottom-left-radius: 6px;
-  border-top-left-radius: 6px;
-}
-
-.input-group-btn:first-child > .btn:first-child.btn-small,
-.input-group-btn:first-child > .dropdown-toggle:first-child.btn-small {
-  border-bottom-left-radius: 3px;
-  border-top-left-radius: 3px;
-}
-
-.input-group-btn:last-child > .btn:last-child,
-.input-group-btn:last-child > .dropdown-toggle {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.input-group-btn:last-child > .btn:last-child.btn-large,
-.input-group-btn:last-child > .dropdown-toggle.btn-large {
-  border-top-right-radius: 6px;
-  border-bottom-right-radius: 6px;
-}
-
-.input-group-btn:last-child > .btn:last-child.btn-small,
-.input-group-btn:last-child > .dropdown-toggle.btn-small {
-  border-top-right-radius: 3px;
-  border-bottom-right-radius: 3px;
-}
-
 .form-inline input,
 .form-inline select,
 .form-inline textarea,
@@ -2115,6 +2052,7 @@ input[type="button"].btn-block {
 
 .glyphicon:before {
   font-family: 'Glyphicons Halflings';
+  -webkit-font-smoothing: antialiased;
   font-style: normal;
   font-weight: normal;
   line-height: 1;
diff --git a/less/forms.less b/less/forms.less
index 4a99a7793719c218a192e644d920675c342cc900..cc69e935f0c6468caa888ab66bf3aa27566cb50a 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -370,12 +370,8 @@ select:focus:invalid {
 .input-group-btn,
 .input-group input {
   display: table-cell;
-  /*margin: 0;*/
-  border-radius: 0;
-  &.input-small {
-    border-radius: 0;
-  }
-  &.input-large {
+
+  &:not(:first-child):not(:last-child) {
     border-radius: 0;
   }
 }
@@ -398,40 +394,34 @@ select:focus:invalid {
   text-shadow: 0 1px 0 #fff;
   background-color: @gray-lighter;
   border: 1px solid #ccc;
+  border-radius: @border-radius-base;
 
   &.input-small {
     padding: @padding-small;
     font-size: @font-size-small;
-  }
+    border-radius: @border-radius-small;  }
   &.input-large {
     padding: @padding-large;
     font-size: @font-size-large;
+    border-radius: @border-radius-large;
   }
 }
 
 // Reset rounded corners
 .input-group input:first-child,
-.input-group-addon:first-child {
-  .border-left-radius(@border-radius-base);
-  &.input-small {
-    .border-left-radius(@border-radius-small);
-  }
-  &.input-large {
-    .border-left-radius(@border-radius-large);
-  }
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn:first-child,
+.input-group-btn:first-child > .dropdown-toggle:first-child {
+  .border-right-radius(0);
 }
 .input-group-addon:first-child {
   border-right: 0;
 }
 .input-group input:last-child,
-.input-group-addon:last-child {
-  .border-right-radius(@border-radius-base);
-  &.input-small {
-    .border-right-radius(@border-radius-small);
-  }
-  &.input-large {
-    .border-right-radius(@border-radius-large);
-  }
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn:last-child,
+.input-group-btn:last-child > .dropdown-toggle {
+  .border-left-radius(0);
 }
 .input-group-addon:last-child {
   border-left: 0;
@@ -446,7 +436,6 @@ select:focus:invalid {
 .input-group-btn > .btn {
   position: relative;
   float: left; // Collapse white-space
-  border-radius: 0;
   + .btn {
     margin-left: -1px;
   }
@@ -457,29 +446,6 @@ select:focus:invalid {
   }
 }
 
-// Prepended buttons
-.input-group-btn:first-child {
-  // Round the left corners only
-  > .btn:first-child,
-  > .dropdown-toggle:first-child {
-    .border-left-radius(@border-radius-base);
-    &.btn-large { .border-left-radius(@border-radius-large); }
-    &.btn-small { .border-left-radius(@border-radius-small); }
-  }
-}
-
-// Appended buttons
-.input-group-btn:last-child {
-  // Round the right corners only
-  > .btn:last-child,
-  > .dropdown-toggle {
-    .border-right-radius(@border-radius-base);
-    &.btn-large { .border-right-radius(@border-radius-large); }
-    &.btn-small { .border-right-radius(@border-radius-small); }
-  }
-}
-
-
 
 // Inline forms
 // --------------------------------------------------
diff --git a/less/glyphicons.less b/less/glyphicons.less
index e8a96c05f0fc941f59b0328514be7b45b6d86033..0d935ea1928f91d54eb88d1494891efa724ef375 100644
--- a/less/glyphicons.less
+++ b/less/glyphicons.less
@@ -34,6 +34,7 @@
   font-style: normal;
   font-weight: normal;
   line-height: 1;
+  -webkit-font-smoothing: antialiased;
 }
 
 // Individual icons