diff --git a/src/inputs/select2/lib/select2-bootstrap.css b/src/inputs/select2/lib/select2-bootstrap.css
index a3c28ca..3c08d5d 100644
--- a/src/inputs/select2/lib/select2-bootstrap.css
+++ b/src/inputs/select2/lib/select2-bootstrap.css
@@ -1,82 +1,104 @@
+/**
+ * Select2 Bootstrap CSS 1.0
+ * Compatible with select2 3.3.2 and bootstrap 2.3.1
+ * MIT License
+ */
 .select2-container {
-  vertical-align:middle;
-}
-
-.select2-container .select2-choice {
-  border:1px solid #ccc;
-  height:28px;
-  border-radius: 3px;
-  line-height: 29px;
-  background-image:none;
-  filter:none;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.select2-container .select2-choice div {
-  border-left:none;
-  background:none;
-  background-image:none;
-  filter:none;
+  vertical-align: middle;
+}
+.select2-container.input-mini {
+  width: 60px;
+}
+.select2-container.input-small {
+  width: 90px;
+}
+.select2-container.input-medium {
+  width: 150px;
+}
+.select2-container.input-large {
+  width: 210px;
+}
+.select2-container.input-xlarge {
+  width: 270px;
+}
+.select2-container.input-xxlarge {
+  width: 530px;
+}
+.select2-container.input-default {
+  width: 220px;
+}
+.select2-container[class*="span"] {
+  float: none;
+  margin-left: 0;
 }
 
+.select2-container .select2-choice,
 .select2-container-multi .select2-choices {
-  border:1px solid #ccc;
-  border-radius: 3px;
-  background-image:none;
-  filter:none;
+  height: 28px;
+  line-height: 29px;
+  border: 1px solid #cccccc;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  background: none;
+  background-color: white;
+  filter: none;
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
 }
 
-.control-group.error .select2-container-multi .select2-choices {
-  border-color:#B94A48;
+.select2-container .select2-choice div, .select2-container .select2-choice .select2-arrow,
+.select2-container.select2-container-disabled .select2-choice div,
+.select2-container.select2-container-disabled .select2-choice .select2-arrow {
+  border-left: none;
+  background: none;
+  filter: none;
 }
 
-.control-group.error .select2-container .select2-choice {
-  border-color:#B94A48;
+.control-group.error [class^="select2-choice"] {
+  border-color: #b94a48;
 }
 
 .select2-container-multi .select2-choices .select2-search-field {
-  height:28px;
+  height: 28px;
   line-height: 27px;
 }
 
 .select2-container-active .select2-choice,
-.select2-container-active .select2-choices,
 .select2-container-multi.select2-container-active .select2-choices {
-    border-color: rgba(82, 168, 236, 0.8);
-    outline: none;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
-    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);
-    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);
+  border-color: rgba(82, 168, 236, 0.8);
+  outline: none;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
 }
 
-.input-append .select2-container, .input-prepend .select2-container {
-  font-size:14px;
+[class^="input-"] .select2-container {
+  font-size: 14px;
 }
 
-.input-prepend .select2-container > a.select2-choice,
-.input-prepend .select2-container-multi .select2-choices {
-  border-top-left-radius: 0px;
-  border-bottom-left-radius: 0px;
+.input-prepend [class^="select2-choice"] {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
 }
 
-.input-append .select2-container > a, 
-.input-append .select2-container-multi .select2-choices {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
+.input-append [class^="select2-choice"] {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
 }
 
-.input-prepend .select2-container > a.select2-choice > div,
-.input-append .select2-container > a.select2-choice > div {
-  display:none;
+.select2-dropdown-open [class^="select2-choice"] {
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0;
 }
 
-.input-append .select2-offscreen,
-.input-prepend .select2-offscreen {
+.select2-dropdown-open.select2-drop-above [class^="select2-choice"] {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+[class^="input-"] .select2-offscreen {
   position: absolute;
 }
 
@@ -84,8 +106,8 @@
  * This stops the quick flash when a native selectbox is shown and 
  * then replaced by a select2 input when javascript kicks in. This can be 
  * removed if javascript is not present 
- */  
+ */
 select.select2 {
-  height:28px;
-  visibility:hidden;
+  height: 28px;
+  visibility: hidden;
 }