diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index d8b4c6b328c756c39abbaa63369c5a37cbdf6c05..fabedd1f77eb813fa0264d820dbe6ccbf16ec818 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -796,6 +796,11 @@ input[type="color"] {
   color: #555555;
 }
 
+input,
+textarea {
+  width: 210px;
+}
+
 textarea,
 input[type="text"],
 input[type="password"],
@@ -826,6 +831,24 @@ input[type="color"] {
           transition: border linear 0.2s, box-shadow linear 0.2s;
 }
 
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 3px 0;
+  *margin-top: 0;
+  /* IE7 */
+
+  line-height: normal;
+  cursor: pointer;
+}
+
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+input[type="radio"],
+input[type="checkbox"] {
+  width: auto;
+}
+
 .uneditable-textarea {
   width: auto;
   height: auto;
@@ -842,6 +865,11 @@ input[type="file"] {
   line-height: 28px;
 }
 
+select {
+  width: 220px;
+  border: 1px solid #bbb;
+}
+
 select[multiple],
 select[size] {
   height: auto;
diff --git a/less/forms.less b/less/forms.less
index 4a218033aede1ec3c6b1f9def762ae0421266655..277cdf42f1b68e263b8070b89d99e5c6667562a2 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -87,7 +87,13 @@ input[type="color"] {
   color: @gray;
 }
 
-// Reset background, border, and box-shadow for textual inputs and textarea
+// Reset appearance properties for textual inputs and textarea
+// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
+input,
+textarea {
+  width: 210px;
+}
+// Everything else
 textarea,
 input[type="text"],
 input[type="password"],
@@ -111,21 +117,22 @@ input[type="color"] {
   .transition(@transition);
 }
 
-// Unused selectors
+// Position radios and checkboxes better
 input[type="radio"],
 input[type="checkbox"] {
+  margin: 3px 0;
+  *margin-top: 0; /* IE7 */
+  line-height: normal;
+  cursor: pointer;
 }
-input[type="button"],
+
+// Reset width of input buttons, radios, checkboxes
 input[type="submit"],
-input[type="reset"] {
-}
-input[type="file"] {
-}
-input[type="hidden"] {
-}
-input[type="image"] {
-}
-input[type="range"] {
+input[type="reset"],
+input[type="button"],
+input[type="radio"],
+input[type="checkbox"] {
+  width: auto; // Override of generic input selector
 }
 
 // Make uneditable textareas behave like a textarea
@@ -142,6 +149,12 @@ input[type="file"] {
   line-height: 28px;
 }
 
+// Make select elements obey height by applying a border
+select {
+  width: 220px; // default input width + 10px of padding that doesn't get applied
+  border: 1px solid #bbb;
+}
+
 // Make multiple select elements height not fixed
 select[multiple],
 select[size] {