diff --git a/website/templates/js/cart.js b/website/templates/js/cart.js
index ad69824..20090ca 100644
--- a/website/templates/js/cart.js
+++ b/website/templates/js/cart.js
@@ -145,7 +145,7 @@
 			<div class="col-md-3 col-sm-3 text-right">\
 				<div class="input-group item-update-cart">\
 					<input type="text" placeholder="Qty" value="%(qty)s" \
-						data-item-code="%(item_code)s" class="text-right">\
+						data-item-code="%(item_code)s" class="text-right form-control">\
 					<div class="input-group-btn">\
 						<button class="btn btn-primary" data-item-code="%(item_code)s">\
 							<i class="icon-ok"></i></button>\
@@ -160,7 +160,7 @@
 	render_tax_row: function($cart_taxes, doc, shipping_rules) {
 		var shipping_selector;
 		if(shipping_rules) {
-			shipping_selector = '<select>' + $.map(shipping_rules, function(rule) { 
+			shipping_selector = '<select class="form-control">' + $.map(shipping_rules, function(rule) { 
 					return '<option value="' + rule[0] + '">' + rule[1] + '</option>' }).join("\n") + 
 				'</select>';
 		}
@@ -206,8 +206,8 @@
 	
 	render_address: function($address_wrapper, addresses, address_name) {
 		$.each(addresses, function(i, address) {
-			$(repl('<div class="accordion-group"> \
-				<div class="accordion-heading"> \
+			$(repl('<div class="panel panel-default"> \
+				<div class="panel-heading"> \
 					<div class="row"> \
 						<div class="col-md-10 address-title" \
 							data-address-name="%(name)s"><strong>%(name)s</strong></div> \
@@ -215,23 +215,19 @@
 							data-address-name="%(name)s"></div> \
 					</div> \
 				</div> \
-				<div class="accordion-body collapse" data-address-name="%(name)s"> \
-					<div class="accordion-inner">%(display)s</div> \
+				<div class="panel-collapse collapse" data-address-name="%(name)s"> \
+					<div class="panel-body">%(display)s</div> \
 				</div> \
 			</div>', address))
 				.css({"margin": "10px auto"})
 				.appendTo($address_wrapper);
 		});
 		
-		$address_wrapper.find(".accordion-heading")
-			.css({
-				"background-color": "#eee",
-				"padding": "10px",
-			})
+		$address_wrapper.find(".panel-heading")
 			.find(".address-title")
 				.css({"cursor": "pointer"})
 				.on("click", function() {
-					$address_wrapper.find('.accordion-body[data-address-name="'
+					$address_wrapper.find('.panel-collapse[data-address-name="'
 						+$(this).attr("data-address-name")+'"]').collapse("toggle");
 				});
 			
@@ -265,12 +261,12 @@
 		$address_wrapper.find('input[type="checkbox"][data-address-name="'+ address_name +'"]')
 			.prop("checked", true);
 			
-		$address_wrapper.find(".accordion-body").collapse({
+		$address_wrapper.find(".panel-collapse").collapse({
 			parent: $address_wrapper,
 			toggle: false
 		});
 		
-		$address_wrapper.find('.accordion-body[data-address-name="'+ address_name +'"]')
+		$address_wrapper.find('.panel-collapse[data-address-name="'+ address_name +'"]')
 			.collapse("show");
 	},
 	
