Commits

Anonymous committed 018a445

added all the html relevant files

Currently
loginTemplate - indexTemplate - paymentFormTemplate - customerDetailTemplate

Comments (0)

Files changed (66)

+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<!-- By default, only the Clean and Build commands use this build script. -->
+<!-- Commands such as Run, Debug, and Test only use this build script if -->
+<!-- the Compile on Save feature is turned off for the project. -->
+<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
+<!-- in the project's Project Properties dialog box.-->
+<project name="PosWebHtml" default="default" basedir=".">
+    <description>Builds, tests, and runs the project PosWebHtml.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. They are: 
+
+      -pre-init:                 called before initialization of project properties 
+      -post-init:                called after initialization of project properties 
+      -pre-compile:              called before javac compilation 
+      -post-compile:             called after javac compilation 
+      -pre-compile-single:       called before javac compilation of single file
+      -post-compile-single:      called after javac compilation of single file
+      -pre-compile-test:         called before javac compilation of JUnit tests
+      -post-compile-test:        called after javac compilation of JUnit tests
+      -pre-compile-test-single:  called before javac compilation of single JUnit test
+      -post-compile-test-single: called after javac compilation of single JUunit test
+      -pre-dist:                 called before archive building 
+      -post-dist:                called after archive building 
+      -post-clean:               called after cleaning build products 
+      -pre-run-deploy:           called before deploying
+      -post-run-deploy:          called after deploying
+
+    Example of pluging an obfuscator after the compilation could look like 
+
+        <target name="-post-compile">
+            <obfuscate>
+                <fileset dir="${build.classes.dir}"/>
+            </obfuscate>
+        </target>
+
+    For list of available properties check the imported 
+    nbproject/build-impl.xml file. 
+
+
+    Other way how to customize the build is by overriding existing main targets.
+    The target of interest are: 
+
+      init-macrodef-javac:    defines macro for javac compilation
+      init-macrodef-junit:   defines macro for junit execution
+      init-macrodef-debug:    defines macro for class debugging
+      do-dist:                archive building
+      run:                    execution of project 
+      javadoc-build:          javadoc generation 
+
+    Example of overriding the target for project execution could look like 
+
+        <target name="run" depends="<PROJNAME>-impl.jar">
+            <exec dir="bin" executable="launcher.exe">
+                <arg file="${dist.jar}"/>
+            </exec>
+        </target>
+
+    Notice that overridden target depends on jar target and not only on 
+    compile target as regular run target does. Again, for list of available 
+    properties which you can use check the target you are overriding in 
+    nbproject/build-impl.xml file. 
+
+    -->
+</project>

build/web/META-INF/MANIFEST.MF

+Manifest-Version: 1.0
+

build/web/WEB-INF/classes/.netbeans_automatic_build

Empty file added.

build/web/WEB-INF/classes/.netbeans_update_resources

Empty file added.

build/web/WEB-INF/glassfish-web.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
+<glassfish-web-app error-url="">
+  <class-loader delegate="true"/>
+  <jsp-config>
+    <property name="keepgenerated" value="true">
+      <description>Keep a copy of the generated servlet class' java code.</description>
+    </property>
+  </jsp-config>
+</glassfish-web-app>

build/web/confirmOrderTemplate.html

+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>Mobile POS</title>
+
+        <!-- Le styles -->
+        <link href="css/bootstrap.css" rel="stylesheet">
+        <link href="css/pageNatestyle.css" rel="stylesheet">
+        <style>
+            .demo{
+                width:580px;
+                padding:10px;
+                margin:10px auto;
+                border: 1px solid #fff;
+                background-color:#f7f7f7;
+            }
+        </style>
+    </head>
+
+    <body>
+        <div class="container">
+            <img src="http://placehold.it/940x150" />
+        </div>
+        <br><br>
+
+        <div class="container">
+            <div class="row">
+
+
+                <div class="span12" id="divMainProductCol">  <!--start of second col for product search -->
+
+                    <h5> Enter Product ID or name to search </h5>
+                    <p/>
+
+                    <input id="productSearchKey" type="text" placeholder="Product ID or name" class="input-large search-query">
+                    <button type="submit" onclick=searchProduct() class="btn" id="btnProductSearch">Search</button>
+
+                    <div class="row"  id="divSubProductCol">
+
+                    </div>
+
+                    <div class ="pagination" id="productPagination">
+                        <!--
+                          <ul>
+  
+                          <li>Prev</li>
+                          <li><a href="#">1</a></li>
+                          <li><a href="#">2</a></li>
+                          <li><a href="#">3</a></li>
+                          <li><a href="#">4</a></li>
+                          <li><a href="#">Next</a></li>
+                           </ul>
+                        -->
+                    </div>
+
+                    <!--  <div class ="row demo" id ="demo11232">
+                      </div> -->
+
+
+                </div> <!--end of second col -->
+
+
+            </div>
+
+
+
+            <div class="row">
+                <h4> Items added </h4>
+                <table class ="table table-striped" style="background-color:white" id="productTable"  >
+                    <thead>
+                        <tr>
+                            <th >Name &nbsp&nbsp&nbsp&nbsp</th>
+                            <th>Qty</th>
+                            <th>Each</th>
+                            <th>Total</th>
+                            <th></th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    </tbody>
+                </table>
+
+                <br/>
+
+                <div class="row"> <!--start of row-->
+                    <div class="span2">
+                        Tax:      Total:
+                    </div>
+
+
+                </div> <!--end of row-->
+
+                <br/><br/>
+
+                <div class="row"> <!--start of btm row for pay and cancel order -->
+                    <div class="span3">
+                        <button class="btn btn-large btn-danger" type="button" id="clearFormBtn">Remove all products</button>
+                    </div>
+                    <div class="span3">  
+                        <button class="btn btn-large btn-primary" type="button" id="PayBtn" > Pay </button>
+                    </div>
+
+                </div> <!-- end of btm row for pay and cancel order -->
+
+
+
+            </div> <!--end of first col -->
+        </div>
+
+        <!-- jQuery via Google + local fallback, see h5bp.com -->
+        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
+
+        <!-- Bootstrap JS: compiled and minified -->
+        <script src="js/bootstrap.min.js"></script>
+
+        <script src="js/jquery.chromatable.js"></script>
+
+        <script src="js/json2.js"></script>
+
+        <script src="js/jquery.paginate.js"></script>
+
+        <script>
+            
+            function validateSearchField() {
+                 
+                var productSearch = $('#productSearchKey').val();
+                if(productSearch.length==0)
+                {
+                    alert("Please do not leave product ID hehe or name blank!");
+                    return false;
+                }
+                
+            }
+            
+            function searchProduct() {
+                
+                var ifFieldValid = validateSearchField();
+                if(ifFieldValid == false)
+                    return;
+                
+                var searchKeyword = $('#productSearchKey').val();
+                
+                console.log("product searchKey val =="+searchKeyword);
+                
+                var url; 
+                if(isNumber(searchKeyword))
+                    url = "http://lowe.jschua.com/DinoPos/api/products/" +searchKeyword;
+                else
+                    url = "http://lowe.jschua.com/DinoPos/api/products/?name=" +searchKeyword;
+                
+                // console.log(url);
+                
+                var totalProductFound = 0;
+                
+                $.ajax({
+                    url: url,
+                    dataType:'json',
+                    async:false,
+                    success:function(data){
+                        clearSearchResult();
+                    
+                        if(data!=null)
+                        {
+                            if(data instanceof Array)
+                            {
+                                // On success, 'data' contains a list of products.
+                                $.each(data, function (key, val) {
+                                    console.log(val.Name);
+                                
+                                    displayProductInfo(val,totalProductFound);
+                                    totalProductFound++;
+                                });
+                            }
+                            else
+                            {
+                                for(var i =0;i<7;i++)
+                                {
+                                    displayProductInfo(data,totalProductFound);
+                                    totalProductFound++;
+                                }
+                                console.log(data.Name);
+                            }
+                        }
+                    }
+                    
+                }).done(createPagnation(totalProductFound));
+               
+            }
+            
+            //global var 
+            var currentPage=1; //edited in showPage
+            var totalPage=0; //set in createPagnation
+             
+            function createPagnation(totalElement)
+            {
+                totalPage = Math.ceil(totalElement/2);
+                
+                var mainUl = document.createElement("ul");
+                console.log("number==!"+totalElement);
+                
+                var subUl = document.createElement("li");
+                subUl.className ="prev disabled"
+                subUl.innerHTML ="<a href=\"#\" onClick=\"showPage(-1)\">Prev</a>";
+                mainUl.appendChild(subUl);
+                //for(var i =1;i<=number;i++)
+                for(var x=1;x<=Math.ceil(totalElement/2);x++)
+                {
+                   
+                    var subUl = document.createElement("li");
+                    subUl.className =x;
+                    if(x==1)
+                        subUl.className = subUl.className +" active";
+                    subUl.innerHTML ="<a href=\"#\" onClick=\"showPage("+x+")\">"+x+"</a>";
+                    // subUl.onclick = showPage(subUl.innerHTML);
+                    //subUl.on("click",showPage(subUl.innerHTML));
+                    mainUl.appendChild(subUl);
+                }
+                var subUl = document.createElement("li");
+                subUl.innerHTML ="<a href=\"#\" onClick=\"showPage(0)\">Next</a>";
+                subUl.className = "next";
+                mainUl.appendChild(subUl);
+                
+                var test = document.getElementById("productPagination");
+                test.appendChild(mainUl);
+                
+            }
+            
+            /**
+             *Method take in the page number depending on what user selected.
+             *if pageNumber == 0, it means user clicked next button
+             *if pageNumber ==-1, it means user clicked previous button
+             */
+            function showPage(pageNumber)
+            {
+            
+                $('#productPagination ul li.'+currentPage).removeClass('active');
+                
+                //-1 = prev, 0 = next
+                if(pageNumber!=-1 && pageNumber!=0){
+                    currentPage = pageNumber;
+                }
+                else if(pageNumber==-1) //prev was selected
+                {
+                    if(currentPage!=1)
+                    {
+                        currentPage = currentPage-1;
+                        pageNumber = currentPage;
+                    }else{
+                        pageNumber=1;
+                    }
+                }
+                else if(pageNumber==0) //next was selected
+                {
+                    if(currentPage!=totalPage){
+                        currentPage = currentPage+1;
+                        pageNumber = currentPage;
+                    }else{
+                        pageNumber=totalPage;
+                    }
+                }
+                
+                
+                $('._current','#divSubProductCol').removeClass('_current').hide();
+                
+                var productNo1;
+                if(pageNumber==1){    
+                    productNo1 = 0;
+                }
+                else{    
+                    productNo1 = (pageNumber-1)*2;
+                }
+                var productNo2 = productNo1+1;
+               
+                
+                $('#productNo_'+productNo1).addClass('_current').show();
+                $('#productNo_'+productNo2).addClass('_current').show();
+              
+              
+              
+                /**
+                 *below code to disable the pageNumber button
+                 */
+                //console.log($('#productPagination ul li.next'));
+                //$('#productPagination ul li.next').addClass('disabled');
+                if(pageNumber!=0 && pageNumber!=-1){
+                    $('#productPagination ul li.'+pageNumber).addClass('active');
+                    $('#productPagination ul li.next').removeClass('disabled');
+                    $('#productPagination ul li.prev').removeClass('disabled');
+                }
+                if(pageNumber ==totalPage){
+                    $('#productPagination ul li.next').addClass('disabled');
+                }
+                if(pageNumber ==1){
+                    $('#productPagination ul li.previous').addClass('disabled');
+                }   
+              
+              
+              
+            }
+            
+            
+            /**
+             *function clear the pagnation and the searchresult
+             */
+            function clearSearchResult()
+            {
+         
+                if($('#divSubProductCol').children().length >0)
+                {
+                    $('#divSubProductCol').empty();
+                }
+                if($('#productPagination').children().length >0)
+                {
+                    $('#productPagination').empty();
+                }
+            }
+            
+            function displayProductInfo(val,productNumbering)
+            {
+                var divInPlace =  document.getElementById("divSubProductCol"); // $('#divSubProductCol');
+                  
+                var mainDiv = document.createElement("div");
+                //mainDiv.className ="row";
+                mainDiv.id = "productNo_"+productNumbering;
+                
+               
+                if(productNumbering >1)
+                {
+                    mainDiv.setAttribute("style", "display:none")
+                    mainDiv.className ="pagedemo";
+                }
+                else
+                {
+                    mainDiv.className ="pagedemo _current";
+                }
+                    
+            
+                var divForImage = document.createElement("div");
+                divForImage.className ="span2";
+                divForImage.innerHTML ="<img src=\""+val.ImageUrl+"\" height=150 width=150>"
+                               
+                var divForProductInfo = document.createElement("div");
+                divForProductInfo.className ="span4";
+                divForProductInfo.setAttribute("id", "div_"+val.Product_ID);
+                var productBrand = "<h3> <span id=\"productBrand\">"+val.Brand+"</span></h4>";
+                var productTitle = "<h4> <span id=\"productTitle\">"+val.Name+"</span></h4>";
+                var productDescription ="<h6> <span id=\"productDescription\">"+val.Description+"</span></h6>";
+                var productPrice = "<h6> Price $<span id=\"productPrice\">"+val.Pricesell+"</span> </h6>";
+                var qtyText ="Qty"
+                //var qtyText = "</p><p class=\"span1\" align=\"left\"> Qty </p>";
+                divForProductInfo.innerHTML= productBrand+productTitle+productDescription+productPrice+qtyText;
+                                
+                var addToCartButton = document.createElement("input");
+                addToCartButton.setAttribute("id",val.Product_ID);
+                addToCartButton.setAttribute("type","button");
+                var info = "addItemToTable("+val.Product_ID+")"
+                addToCartButton.setAttribute("onClick",info);
+                addToCartButton.setAttribute("value","Add this item to cart!");
+                addToCartButton.className ="btn span4";
+                                
+                var qtyTextField = document.createElement("input")
+                qtyTextField.setAttribute("type", "text");
+                qtyTextField.setAttribute("id","qty");
+                qtyTextField.setAttribute("text","1");
+                qtyTextField.className ="input-small";
+                                
+                divForProductInfo.appendChild(qtyTextField);
+                divForProductInfo.appendChild(addToCartButton);
+                                
+                mainDiv.appendChild(divForImage);
+                mainDiv.appendChild(divForProductInfo); 
+               
+                divInPlace.appendChild(mainDiv);
+            }
+            
+            function isNumber (o){
+                return ! isNaN (o-0) && o != null;
+            }
+   
+            function checkFormValidation(){
+                console.log("check form validation");
+  		
+                if($("#textCustomerName").val().length==0)
+                {
+                    alert("Customer name cannot be blank");
+                    return false;
+                }
+                if($("#textCustomerAddress").val().length==0)
+                {
+                    alert("Customer address cannot be blank");
+                    return false;
+                }
+                if($("#textCustomerContact").val().length==0)
+                {
+                    alert("Customer contact cannot be blank");
+                    return false;
+                }
+                if($("#textCustomerEmail").val().length==0)
+                {
+                    alert("Customer email cannot be blank");
+                    return false;
+                }
+                if($("#textCreditCard").val().length==0)
+                {
+                    alert("Customer credit card no cannot be blank");
+                    return false;
+                }
+                if($("#textCW2").val().length==0)
+                {
+                    alert("Customer cw2 cannot be blank");
+                    return false;
+                }
+                if($("#textCreditCardExpiry").val().length==0)
+                {
+                    alert("Customer expiry cannot be blank");
+                    return false;
+                }
+		
+                return false;
+            }
+   
+
+        
+
+  
+            function readCookie(name) {
+                var nameEQ = name + "=";
+                var ca = document.cookie.split(';');
+                for(var i=0;i < ca.length;i++) {
+                    var c = ca[i];
+                    while (c.charAt(0)==' ') c = c.substring(1,c.length);
+                    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+                }
+                return null;
+            }
+  
+  
+            function createCookie(name,value,days) {
+                if (days) {
+                    var date = new Date();
+                    date.setTime(date.getTime()+(days*24*60*60*1000));
+                    var expires = "; expires="+date.toGMTString();
+                }
+                else var expires = "";
+                document.cookie = name+"="+value+expires+"; path=/";
+            }
+            
+            function readCookie(name) {
+                var nameEQ = name + "=";
+                var ca = document.cookie.split(';');
+                for(var i=0;i < ca.length;i++) {
+                    var c = ca[i];
+                    while (c.charAt(0)==' ') c = c.substring(1,c.length);
+                    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+                }
+                return null;
+            }
+  
+  
+  
+  
+  
+  
+            $(document).ready(function(){
+                
+                /*  Cookie checking code
+                console.log("readCookie=="+readCookie('login'));
+                
+                if(readCookie('login') ==null)
+                    window.location.replace("login.html");
+   
+                loadContent();
+                 */
+                console.log(readCookie('shoppingCart'));
+                
+                var hehe = new Array();
+                hehe = $.parseJSON(readCookie('shoppingCart'));
+                if(hehe!=null)
+                {
+                    for(var i=0;i<hehe.length;i++)
+                    {        
+                        console.log("productID =="+hehe[i].productId);
+                        console.log("productQty =="+hehe[i].productQty);
+                    }
+                } 
+        
+   
+                
+                var payBtn = $("#PayBtn");
+                var clearFormBtn = $("#clearFormBtn");
+		
+                //either product or payment page
+                var divProduct = $("#divMainProductCol");
+                var divPayment = $("#divPayment");
+		
+                //product info span
+                var productTitle = $("#productTitle");
+       	
+	   
+                clearFormBtn.click(function() {
+                    $("#productTable > tbody").empty();
+                });
+		
+		
+		
+                payBtn.click(function() {
+			
+               	
+                    var allProducts = new Array();
+                    //allProduct[i] = ..
+			
+                  	
+                    $("#productTable tbody tr").each(function() {
+                        
+                        var object = new productBought;
+                        object.productId = $(this).find("#productId").attr('class');
+                        object.productQty = $(this).find("#productQty").html();
+			object.productName= $(this).find("#productId").html();
+                        object.productTotal = $(this).find('#productTotal').html();
+                        object.productEach = $(this).find('#productEach').html();
+                        allProducts.push(object);
+                    });
+			
+			
+                    for(i=0;i<allProducts.length;i++)
+                    {
+                        console.log(allProducts[i]);
+                    }
+                    
+                    
+                    function productBought(productTitle,qty)
+                    {
+                        this.productTitle = productTitle;
+                        this.qty = qty;
+                    }
+		
+                    createCookie('shoppingCart',JSON.stringify(allProducts),0);
+                    
+                    window.location.replace("paymentFormTemplate.html");
+			
+                });
+		
+		
+		
+                //hide the payment at the start
+                divPayment.hide();
+		
+             
+                reinitChromaTable();
+		
+            });
+	
+            function reinitChromaTable()
+            {
+                $('#productTable').chromatable({
+                    width: "100%",
+                    //width: "450px",
+                    height: "300px",
+                    scrolling: "yes"
+	
+                });
+            }
+        
+            function deleteRowItem(o)
+            {
+                //o = button, parent = htmltablecell -> htmltablerow -> htmltablesection 
+                var p = o.parentNode.parentNode;
+                p.parentNode.removeChild(p);
+            };
+            
+            function addItemToTable(productId)
+            {
+                
+                /**
+                 * Check first if existing element exist already
+                 */
+                
+                var totalRowInTable = $('#productTable tbody').children().length;
+                
+                var whetherExistProduct = false;
+            
+                $('#productTable >tbody >tr').each(function(){
+                    var inTableProductId = $(this).find('#productId').attr('class') 
+                
+                    if(inTableProductId == productId ) //item wanted to add already exist in table
+                    {
+                            
+                        //update the qty and total instead
+                        var currentProductQty = $(this).find("#productQty").html();
+                        var currentProductEach = $(this).find('#productEach').html();
+                     
+                        console.log(currentProductQty + " <-- Qty, Each -->"+currentProductEach);
+                     
+                        //finding out the new quantity by adding old quantity + new quantity
+                        var oldProductQty = $('#div_'+productId).find('#qty').val();
+                        var newProductQty = Number(currentProductQty) + Number(oldProductQty);
+                     
+                        //finding out the total by multiplying new qty and product price each
+                        var newTotal = newProductQty * currentProductEach;
+                     
+                        //update the qty field with new qty
+                        $(this).find('#productQty').html(newProductQty);
+                     
+                        //update the total with new total
+                        $(this).find('#productTotal').html('$'+newTotal);
+                     
+                        whetherExistProduct=true;
+                        return;
+                    }
+                    
+                });
+                
+                
+                //product added is a new product
+                if(whetherExistProduct==false)
+                {
+                
+                    var productName = $('#div_'+productId).find('#productTitle').text();
+                    var productPrice = $('#div_'+productId).find('#productPrice').text();
+                    var qtySelected = $('#div_'+productId).find('#qty').val();
+                  
+                    var totalPrice = qtySelected * productPrice;
+                
+                    var tableDetailHeader ="<tr>";
+                    var tableProductTitle ="<td class=\""+productId+"\" id=\"productId\">"+productName+"</td>";
+                    var tableQty = "<td id=\"productQty\">"+qtySelected+"</td>";
+                    var tableEach = "<td id=\"productEach\">"+productPrice+"</td>";
+                    var tableTotal = "<td id=\"productTotal\" >$"+totalPrice+"</td>";
+                    var tableRemoveItemBtn = "<td> <button class=\"btn btn-mini\" onclick=\"deleteRowItem(this)\"> x</button></td>"
+                    var tableDetailFooter ="</tr>";
+                    var entireTable = tableDetailHeader + tableProductTitle + tableQty + tableEach + tableTotal + tableRemoveItemBtn+tableDetailFooter;
+                
+                    $("#productTable > tbody:last").append(entireTable);
+                }  
+                
+               
+                reinitChromaTable();
+            }
+            
+        </script>
+
+    </body>
+
+</html>

build/web/css/bootstrap-responsive.css

+/*!
+ * Bootstrap Responsive v2.1.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+.clearfix {
+  *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.clearfix:after {
+  clear: both;
+}
+
+.hide-text {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 30px;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+
+.visible-phone {
+  display: none !important;
+}
+
+.visible-tablet {
+  display: none !important;
+}
+
+.hidden-desktop {
+  display: none !important;
+}
+
+.visible-desktop {
+  display: inherit !important;
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+  .hidden-desktop {
+    display: inherit !important;
+  }
+  .visible-desktop {
+    display: none !important ;
+  }
+  .visible-tablet {
+    display: inherit !important;
+  }
+  .hidden-tablet {
+    display: none !important;
+  }
+}
+
+@media (max-width: 767px) {
+  .hidden-desktop {
+    display: inherit !important;
+  }
+  .visible-desktop {
+    display: none !important;
+  }
+  .visible-phone {
+    display: inherit !important;
+  }
+  .hidden-phone {
+    display: none !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .row {
+    margin-left: -30px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    min-height: 1px;
+    margin-left: 30px;
+  }
+  .container,
+  .navbar-static-top .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 1170px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .offset12 {
+    margin-left: 1230px;
+  }
+  .offset11 {
+    margin-left: 1130px;
+  }
+  .offset10 {
+    margin-left: 1030px;
+  }
+  .offset9 {
+    margin-left: 930px;
+  }
+  .offset8 {
+    margin-left: 830px;
+  }
+  .offset7 {
+    margin-left: 730px;
+  }
+  .offset6 {
+    margin-left: 630px;
+  }
+  .offset5 {
+    margin-left: 530px;
+  }
+  .offset4 {
+    margin-left: 430px;
+  }
+  .offset3 {
+    margin-left: 330px;
+  }
+  .offset2 {
+    margin-left: 230px;
+  }
+  .offset1 {
+    margin-left: 130px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid [class*="span"] {
+    display: block;
+    float: left;
+    width: 100%;
+    min-height: 30px;
+    margin-left: 2.564102564102564%;
+    *margin-left: 2.5109110747408616%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid .span12 {
+    width: 100%;
+    *width: 99.94680851063829%;
+  }
+  .row-fluid .span11 {
+    width: 91.45299145299145%;
+    *width: 91.39979996362975%;
+  }
+  .row-fluid .span10 {
+    width: 82.90598290598291%;
+    *width: 82.8527914166212%;
+  }
+  .row-fluid .span9 {
+    width: 74.35897435897436%;
+    *width: 74.30578286961266%;
+  }
+  .row-fluid .span8 {
+    width: 65.81196581196582%;
+    *width: 65.75877432260411%;
+  }
+  .row-fluid .span7 {
+    width: 57.26495726495726%;
+    *width: 57.21176577559556%;
+  }
+  .row-fluid .span6 {
+    width: 48.717948717948715%;
+    *width: 48.664757228587014%;
+  }
+  .row-fluid .span5 {
+    width: 40.17094017094017%;
+    *width: 40.11774868157847%;
+  }
+  .row-fluid .span4 {
+    width: 31.623931623931625%;
+    *width: 31.570740134569924%;
+  }
+  .row-fluid .span3 {
+    width: 23.076923076923077%;
+    *width: 23.023731587561375%;
+  }
+  .row-fluid .span2 {
+    width: 14.52991452991453%;
+    *width: 14.476723040552828%;
+  }
+  .row-fluid .span1 {
+    width: 5.982905982905983%;
+    *width: 5.929714493544281%;
+  }
+  .row-fluid .offset12 {
+    margin-left: 105.12820512820512%;
+    *margin-left: 105.02182214948171%;
+  }
+  .row-fluid .offset12:first-child {
+    margin-left: 102.56410256410257%;
+    *margin-left: 102.45771958537915%;
+  }
+  .row-fluid .offset11 {
+    margin-left: 96.58119658119658%;
+    *margin-left: 96.47481360247316%;
+  }
+  .row-fluid .offset11:first-child {
+    margin-left: 94.01709401709402%;
+    *margin-left: 93.91071103837061%;
+  }
+  .row-fluid .offset10 {
+    margin-left: 88.03418803418803%;
+    *margin-left: 87.92780505546462%;
+  }
+  .row-fluid .offset10:first-child {
+    margin-left: 85.47008547008548%;
+    *margin-left: 85.36370249136206%;
+  }
+  .row-fluid .offset9 {
+    margin-left: 79.48717948717949%;
+    *margin-left: 79.38079650845607%;
+  }
+  .row-fluid .offset9:first-child {
+    margin-left: 76.92307692307693%;
+    *margin-left: 76.81669394435352%;
+  }
+  .row-fluid .offset8 {
+    margin-left: 70.94017094017094%;
+    *margin-left: 70.83378796144753%;
+  }
+  .row-fluid .offset8:first-child {
+    margin-left: 68.37606837606839%;
+    *margin-left: 68.26968539734497%;
+  }
+  .row-fluid .offset7 {
+    margin-left: 62.393162393162385%;
+    *margin-left: 62.28677941443899%;
+  }
+  .row-fluid .offset7:first-child {
+    margin-left: 59.82905982905982%;
+    *margin-left: 59.72267685033642%;
+  }
+  .row-fluid .offset6 {
+    margin-left: 53.84615384615384%;
+    *margin-left: 53.739770867430444%;
+  }
+  .row-fluid .offset6:first-child {
+    margin-left: 51.28205128205128%;
+    *margin-left: 51.175668303327875%;
+  }
+  .row-fluid .offset5 {
+    margin-left: 45.299145299145295%;
+    *margin-left: 45.1927623204219%;
+  }
+  .row-fluid .offset5:first-child {
+    margin-left: 42.73504273504273%;
+    *margin-left: 42.62865975631933%;
+  }
+  .row-fluid .offset4 {
+    margin-left: 36.75213675213675%;
+    *margin-left: 36.645753773413354%;
+  }
+  .row-fluid .offset4:first-child {
+    margin-left: 34.18803418803419%;
+    *margin-left: 34.081651209310785%;
+  }
+  .row-fluid .offset3 {
+    margin-left: 28.205128205128204%;
+    *margin-left: 28.0987452264048%;
+  }
+  .row-fluid .offset3:first-child {
+    margin-left: 25.641025641025642%;
+    *margin-left: 25.53464266230224%;
+  }
+  .row-fluid .offset2 {
+    margin-left: 19.65811965811966%;
+    *margin-left: 19.551736679396257%;
+  }
+  .row-fluid .offset2:first-child {
+    margin-left: 17.094017094017094%;
+    *margin-left: 16.98763411529369%;
+  }
+  .row-fluid .offset1 {
+    margin-left: 11.11111111111111%;
+    *margin-left: 11.004728132387708%;
+  }
+  .row-fluid .offset1:first-child {
+    margin-left: 8.547008547008547%;
+    *margin-left: 8.440625568285142%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 30px;
+  }
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
+    width: 1156px;
+  }
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
+    width: 1056px;
+  }
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
+    width: 956px;
+  }
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
+    width: 856px;
+  }
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
+    width: 756px;
+  }
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
+    width: 656px;
+  }
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
+    width: 556px;
+  }
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
+    width: 456px;
+  }
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
+    width: 356px;
+  }
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
+    width: 256px;
+  }
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
+    width: 156px;
+  }
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
+    width: 56px;
+  }
+  .thumbnails {
+    margin-left: -30px;
+  }
+  .thumbnails > li {
+    margin-left: 30px;
+  }
+  .row-fluid .thumbnails {
+    margin-left: 0;
+  }
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+  .row {
+    margin-left: -20px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    min-height: 1px;
+    margin-left: 20px;
+  }
+  .container,
+  .navbar-static-top .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 724px;
+  }
+  .span12 {
+    width: 724px;
+  }
+  .span11 {
+    width: 662px;
+  }
+  .span10 {
+    width: 600px;
+  }
+  .span9 {
+    width: 538px;
+  }
+  .span8 {
+    width: 476px;
+  }
+  .span7 {
+    width: 414px;
+  }
+  .span6 {
+    width: 352px;
+  }
+  .span5 {
+    width: 290px;
+  }
+  .span4 {
+    width: 228px;
+  }
+  .span3 {
+    width: 166px;
+  }
+  .span2 {
+    width: 104px;
+  }
+  .span1 {
+    width: 42px;
+  }
+  .offset12 {
+    margin-left: 764px;
+  }
+  .offset11 {
+    margin-left: 702px;
+  }
+  .offset10 {
+    margin-left: 640px;
+  }
+  .offset9 {
+    margin-left: 578px;
+  }
+  .offset8 {
+    margin-left: 516px;
+  }
+  .offset7 {
+    margin-left: 454px;
+  }
+  .offset6 {
+    margin-left: 392px;
+  }
+  .offset5 {
+    margin-left: 330px;
+  }
+  .offset4 {
+    margin-left: 268px;
+  }
+  .offset3 {
+    margin-left: 206px;
+  }
+  .offset2 {
+    margin-left: 144px;
+  }
+  .offset1 {
+    margin-left: 82px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    line-height: 0;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid [class*="span"] {
+    display: block;
+    float: left;
+    width: 100%;
+    min-height: 30px;
+    margin-left: 2.7624309392265194%;
+    *margin-left: 2.709239449864817%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .row-fluid [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid .span12 {
+    width: 100%;
+    *width: 99.94680851063829%;
+  }
+  .row-fluid .span11 {
+    width: 91.43646408839778%;
+    *width: 91.38327259903608%;
+  }
+  .row-fluid .span10 {
+    width: 82.87292817679558%;
+    *width: 82.81973668743387%;
+  }
+  .row-fluid .span9 {
+    width: 74.30939226519337%;
+    *width: 74.25620077583166%;
+  }
+  .row-fluid .span8 {
+    width: 65.74585635359117%;
+    *width: 65.69266486422946%;
+  }
+  .row-fluid .span7 {
+    width: 57.18232044198895%;
+    *width: 57.12912895262725%;
+  }
+  .row-fluid .span6 {
+    width: 48.61878453038674%;
+    *width: 48.56559304102504%;
+  }
+  .row-fluid .span5 {
+    width: 40.05524861878453%;
+    *width: 40.00205712942283%;
+  }
+  .row-fluid .span4 {
+    width: 31.491712707182323%;
+    *width: 31.43852121782062%;
+  }
+  .row-fluid .span3 {
+    width: 22.92817679558011%;
+    *width: 22.87498530621841%;
+  }
+  .row-fluid .span2 {
+    width: 14.3646408839779%;
+    *width: 14.311449394616199%;
+  }
+  .row-fluid .span1 {
+    width: 5.801104972375691%;
+    *width: 5.747913483013988%;
+  }
+  .row-fluid .offset12 {
+    margin-left: 105.52486187845304%;
+    *margin-left: 105.41847889972962%;
+  }
+  .row-fluid .offset12:first-child {
+    margin-left: 102.76243093922652%;
+    *margin-left: 102.6560479605031%;
+  }
+  .row-fluid .offset11 {
+    margin-left: 96.96132596685082%;
+    *margin-left: 96.8549429881274%;
+  }
+  .row-fluid .offset11:first-child {
+    margin-left: 94.1988950276243%;
+    *margin-left: 94.09251204890089%;
+  }
+  .row-fluid .offset10 {
+    margin-left: 88.39779005524862%;
+    *margin-left: 88.2914070765252%;
+  }
+  .row-fluid .offset10:first-child {
+    margin-left: 85.6353591160221%;
+    *margin-left: 85.52897613729868%;
+  }
+  .row-fluid .offset9 {
+    margin-left: 79.8342541436464%;
+    *margin-left: 79.72787116492299%;
+  }
+  .row-fluid .offset9:first-child {
+    margin-left: 77.07182320441989%;
+    *margin-left: 76.96544022569647%;
+  }
+  .row-fluid .offset8 {
+    margin-left: 71.2707182320442%;
+    *margin-left: 71.16433525332079%;
+  }
+  .row-fluid .offset8:first-child {
+    margin-left: 68.50828729281768%;
+    *margin-left: 68.40190431409427%;
+  }
+  .row-fluid .offset7 {
+    margin-left: 62.70718232044199%;
+    *margin-left: 62.600799341718584%;
+  }
+  .row-fluid .offset7:first-child {
+    margin-left: 59.94475138121547%;
+    *margin-left: 59.838368402492065%;
+  }
+  .row-fluid .offset6 {
+    margin-left: 54.14364640883978%;
+    *margin-left: 54.037263430116376%;
+  }
+  .row-fluid .offset6:first-child {
+    margin-left: 51.38121546961326%;
+    *margin-left: 51.27483249088986%;
+  }
+  .row-fluid .offset5 {
+    margin-left: 45.58011049723757%;
+    *margin-left: 45.47372751851417%;
+  }
+  .row-fluid .offset5:first-child {
+    margin-left: 42.81767955801105%;
+    *margin-left: 42.71129657928765%;
+  }
+  .row-fluid .offset4 {
+    margin-left: 37.01657458563536%;
+    *margin-left: 36.91019160691196%;
+  }
+  .row-fluid .offset4:first-child {
+    margin-left: 34.25414364640884%;
+    *margin-left: 34.14776066768544%;
+  }
+  .row-fluid .offset3 {
+    margin-left: 28.45303867403315%;
+    *margin-left: 28.346655695309746%;
+  }
+  .row-fluid .offset3:first-child {
+    margin-left: 25.69060773480663%;
+    *margin-left: 25.584224756083227%;
+  }
+  .row-fluid .offset2 {
+    margin-left: 19.88950276243094%;
+    *margin-left: 19.783119783707537%;
+  }
+  .row-fluid .offset2:first-child {
+    margin-left: 17.12707182320442%;
+    *margin-left: 17.02068884448102%;
+  }
+  .row-fluid .offset1 {
+    margin-left: 11.32596685082873%;
+    *margin-left: 11.219583872105325%;
+  }
+  .row-fluid .offset1:first-child {
+    margin-left: 8.56353591160221%;
+    *margin-left: 8.457152932878806%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 20px;
+  }
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
+    width: 710px;
+  }
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
+    width: 648px;
+  }
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
+    width: 586px;
+  }
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
+    width: 524px;
+  }
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
+    width: 462px;
+  }
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
+    width: 400px;
+  }
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
+    width: 338px;
+  }
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
+    width: 276px;
+  }
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
+    width: 214px;
+  }
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
+    width: 152px;
+  }
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
+    width: 90px;
+  }
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
+    width: 28px;
+  }
+}
+
+@media (max-width: 767px) {
+  body {
+    padding-right: 20px;
+    padding-left: 20px;
+  }
+  .navbar-fixed-top,
+  .navbar-fixed-bottom,
+  .navbar-static-top {
+    margin-right: -20px;
+    margin-left: -20px;
+  }
+  .container-fluid {
+    padding: 0;
+  }
+  .dl-horizontal dt {
+    float: none;
+    width: auto;
+    clear: none;
+    text-align: left;
+  }
+  .dl-horizontal dd {
+    margin-left: 0;
+  }
+  .container {
+    width: auto;
+  }
+  .row-fluid {
+    width: 100%;
+  }
+  .row,
+  .thumbnails {
+    margin-left: 0;
+  }
+  .thumbnails > li {
+    float: none;
+    margin-left: 0;
+  }
+  [class*="span"],
+  .row-fluid [class*="span"] {
+    display: block;
+    float: none;
+    width: 100%;
+    margin-left: 0;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .span12,
+  .row-fluid .span12 {
+    width: 100%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .input-large,
+  .input-xlarge,
+  .input-xxlarge,
+  input[class*="span"],
+  select[class*="span"],
+  textarea[class*="span"],
+  .uneditable-input {
+    display: block;
+    width: 100%;
+    min-height: 30px;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+  }
+  .input-prepend input,
+  .input-append input,
+  .input-prepend input[class*="span"],
+  .input-append input[class*="span"] {
+    display: inline-block;
+    width: auto;
+  }
+  .controls-row [class*="span"] + [class*="span"] {
+    margin-left: 0;
+  }
+  .modal {
+    position: fixed;
+    top: 20px;
+    right: 20px;
+    left: 20px;
+    width: auto;
+    margin: 0;
+  }
+  .modal.fade.in {
+    top: auto;
+  }
+}
+
+@media (max-width: 480px) {
+  .nav-collapse {
+    -webkit-transform: translate3d(0, 0, 0);
+  }
+  .page-header h1 small {
+    display: block;
+    line-height: 20px;
+  }
+  input[type="checkbox"],
+  input[type="radio"] {
+    border: 1px solid #ccc;
+  }
+  .form-horizontal .control-label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  .form-horizontal .control-list {
+    padding-top: 0;
+  }
+  .form-horizontal .form-actions {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+  .modal {
+    top: 10px;
+    right: 10px;
+    left: 10px;
+  }
+  .modal-header .close {
+    padding: 10px;
+    margin: -10px;
+  }
+  .carousel-caption {
+    position: static;
+  }
+}
+
+@media (max-width: 979px) {
+  body {
+    padding-top: 0;
+  }
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
+    position: static;
+  }
+  .navbar-fixed-top {
+    margin-bottom: 20px;
+  }
+  .navbar-fixed-bottom {
+    margin-top: 20px;
+  }
+  .navbar-fixed-top .navbar-inner,
+  .navbar-fixed-bottom .navbar-inner {
+    padding: 5px;
+  }
+  .navbar .container {
+    width: auto;
+    padding: 0;
+  }
+  .navbar .brand {
+    padding-right: 10px;
+    padding-left: 10px;
+    margin: 0 0 0 -5px;
+  }
+  .nav-collapse {
+    clear: both;
+  }
+  .nav-collapse .nav {
+    float: none;
+    margin: 0 0 10px;
+  }
+  .nav-collapse .nav > li {
+    float: none;
+  }
+  .nav-collapse .nav > li > a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav > .divider-vertical {
+    display: none;
+  }
+  .nav-collapse .nav .nav-header {
+    color: #777777;
+    text-shadow: none;
+  }
+  .nav-collapse .nav > li > a,
+  .nav-collapse .dropdown-menu a {
+    padding: 9px 15px;
+    font-weight: bold;
+    color: #777777;
+    -webkit-border-radius: 3px;
+       -moz-border-radius: 3px;
+            border-radius: 3px;
+  }
+  .nav-collapse .btn {
+    padding: 4px 10px 4px;
+    font-weight: normal;
+    -webkit-border-radius: 4px;
+       -moz-border-radius: 4px;
+            border-radius: 4px;
+  }
+  .nav-collapse .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav > li > a:hover,
+  .nav-collapse .dropdown-menu a:hover {
+    background-color: #f2f2f2;
+  }
+  .navbar-inverse .nav-collapse .nav > li > a:hover,
+  .navbar-inverse .nav-collapse .dropdown-menu a:hover {
+    background-color: #111111;
+  }
+  .nav-collapse.in .btn-group {
+    padding: 0;
+    margin-top: 5px;
+  }
+  .nav-collapse .dropdown-menu {
+    position: static;
+    top: auto;
+    left: auto;
+    display: block;
+    float: none;
+    max-width: none;
+    padding: 0;
+    margin: 0 15px;
+    background-color: transparent;
+    border: none;
+    -webkit-border-radius: 0;
+       -moz-border-radius: 0;
+            border-radius: 0;
+    -webkit-box-shadow: none;
+       -moz-box-shadow: none;
+            box-shadow: none;
+  }
+  .nav-collapse .dropdown-menu:before,
+  .nav-collapse .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .dropdown-menu .divider {
+    display: none;
+  }
+  .nav-collapse .nav > li > .dropdown-menu:before,
+  .nav-collapse .nav > li > .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .navbar-form,
+  .nav-collapse .navbar-search {
+    float: none;
+    padding: 10px 15px;
+    margin: 10px 0;
+    border-top: 1px solid #f2f2f2;
+    border-bottom: 1px solid #f2f2f2;
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+       -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  }
+  .navbar-inverse .nav-collapse .navbar-form,
+  .navbar-inverse .nav-collapse .navbar-search {
+    border-top-color: #111111;
+    border-bottom-color: #111111;
+  }
+  .navbar .nav-collapse .nav.pull-right {
+    float: none;
+    margin-left: 0;
+  }
+  .nav-collapse,
+  .nav-collapse.collapse {
+    height: 0;
+    overflow: hidden;
+  }
+  .navbar .btn-navbar {
+    display: block;
+  }
+  .navbar-static .navbar-inner {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+}
+
+@media (min-width: 980px) {
+  .nav-collapse.collapse {
+    height: auto !important;
+    overflow: visible !important;
+  }
+}

build/web/css/bootstrap.css

+/*!
+ * Bootstrap v2.1.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+  display: block;
+}
+
+audio,
+canvas,
+video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+audio:not([controls]) {
+  display: none;
+}
+
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+      -ms-text-size-adjust: 100%;
+}
+
+a:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+
+a:hover,
+a:active {
+  outline: 0;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sup {
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+img {
+  width: auto\9;
+  height: auto;
+  max-width: 100%;
+  vertical-align: middle;
+  border: 0;
+  -ms-interpolation-mode: bicubic;
+}
+
+#map_canvas img {
+  max-width: none;
+}
+
+button,
+input,
+select,
+textarea {
+  margin: 0;
+  font-size: 100%;
+  vertical-align: middle;
+}
+
+button,
+input {
+  *overflow: visible;
+  line-height: normal;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  cursor: pointer;
+  -webkit-appearance: button;
+}
+
+input[type="search"] {
+  -webkit-box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+  -webkit-appearance: textfield;
+}
+
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+  -webkit-appearance: none;
+}
+
+textarea {
+  overflow: auto;
+  vertical-align: top;
+}
+
+.clearfix {
+  *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+
+.clearfix:after {
+  clear: both;
+}
+
+.hide-text {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 30px;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+body {
+  margin: 0;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 20px;
+  color: #333333;
+  background-color: #ffffff;
+}
+
+a {
+  color: #0088cc;
+  text-decoration: none;
+}
+
+a:hover {
+  color: #005580;
+  text-decoration: underline;
+}
+
+.img-rounded {
+  -webkit-border-radius: 6px;