couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From beno...@apache.org
Subject [10/57] [abbrv] [partial] inital move to rebar compilation
Date Tue, 07 Jan 2014 00:36:30 GMT
http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/js/plugins/prettify.js
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/js/plugins/prettify.js b/apps/fauxton/assets/js/plugins/prettify.js
new file mode 100644
index 0000000..eef5ad7
--- /dev/null
+++ b/apps/fauxton/assets/js/plugins/prettify.js
@@ -0,0 +1,28 @@
+var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
+(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
+[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
+f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
+(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
+{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
+t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
+"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
+l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
+q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
+q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
+"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
+a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
+for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
+m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
+a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
+j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
+"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
+H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
+J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
+I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
+["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
+/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
+["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
+hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
+!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
+250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
+PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/accordion.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/accordion.less b/apps/fauxton/assets/less/bootstrap/accordion.less
new file mode 100644
index 0000000..d63523b
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/accordion.less
@@ -0,0 +1,34 @@
+//
+// Accordion
+// --------------------------------------------------
+
+
+// Parent container
+.accordion {
+  margin-bottom: @baseLineHeight;
+}
+
+// Group == heading + body
+.accordion-group {
+  margin-bottom: 2px;
+  border: 1px solid #e5e5e5;
+  .border-radius(@baseBorderRadius);
+}
+.accordion-heading {
+  border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+  display: block;
+  padding: 8px 15px;
+}
+
+// General toggle styles
+.accordion-toggle {
+  cursor: pointer;
+}
+
+// Inner needs the styles because you can't animate properly with any styles on the element
+.accordion-inner {
+  padding: 9px 15px;
+  border-top: 1px solid #e5e5e5;
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/alerts.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/alerts.less b/apps/fauxton/assets/less/bootstrap/alerts.less
new file mode 100644
index 0000000..0116b19
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/alerts.less
@@ -0,0 +1,79 @@
+//
+// Alerts
+// --------------------------------------------------
+
+
+// Base styles
+// -------------------------
+
+.alert {
+  padding: 8px 35px 8px 14px;
+  margin-bottom: @baseLineHeight;
+  text-shadow: 0 1px 0 rgba(255,255,255,.5);
+  background-color: @warningBackground;
+  border: 1px solid @warningBorder;
+  .border-radius(@baseBorderRadius);
+}
+.alert,
+.alert h4 {
+  // Specified for the h4 to prevent conflicts of changing @headingsColor
+  color: @warningText;
+}
+.alert h4 {
+  margin: 0;
+}
+
+// Adjust close link position
+.alert .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  line-height: @baseLineHeight;
+}
+
+
+// Alternate styles
+// -------------------------
+
+.alert-success {
+  background-color: @successBackground;
+  border-color: @successBorder;
+  color: @successText;
+}
+.alert-success h4 {
+  color: @successText;
+}
+.alert-danger,
+.alert-error {
+  background-color: @errorBackground;
+  border-color: @errorBorder;
+  color: @errorText;
+}
+.alert-danger h4,
+.alert-error h4 {
+  color: @errorText;
+}
+.alert-info {
+  background-color: @infoBackground;
+  border-color: @infoBorder;
+  color: @infoText;
+}
+.alert-info h4 {
+  color: @infoText;
+}
+
+
+// Block alerts
+// -------------------------
+
+.alert-block {
+  padding-top: 14px;
+  padding-bottom: 14px;
+}
+.alert-block > p,
+.alert-block > ul {
+  margin-bottom: 0;
+}
+.alert-block p + p {
+  margin-top: 5px;
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/bootstrap.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/bootstrap.less b/apps/fauxton/assets/less/bootstrap/bootstrap.less
new file mode 100644
index 0000000..6f1abd7
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/bootstrap.less
@@ -0,0 +1,63 @@
+/*!
+ * Bootstrap v2.3.2
+ *
+ * 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.
+ */
+
+// Core variables and mixins
+@import "variables.less"; // Modify this for custom colors, font-sizes, etc
+@import "mixins.less";
+
+// CSS Reset
+@import "reset.less";
+
+// Grid system and page structure
+@import "scaffolding.less";
+@import "grid.less";
+@import "layouts.less";
+
+// Base CSS
+@import "type.less";
+@import "code.less";
+@import "forms.less";
+@import "tables.less";
+
+// Components: common
+@import "/font-awesome/font-awesome.less";
+@import "dropdowns.less";
+@import "wells.less";
+@import "component-animations.less";
+@import "close.less";
+
+// Components: Buttons & Alerts
+@import "buttons.less";
+@import "button-groups.less";
+@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
+
+// Components: Nav
+@import "navs.less";
+@import "navbar.less";
+@import "breadcrumbs.less";
+@import "pagination.less";
+@import "pager.less";
+
+// Components: Popovers
+@import "modals.less";
+@import "tooltip.less";
+@import "popovers.less";
+
+// Components: Misc
+@import "thumbnails.less";
+@import "media.less";
+@import "labels-badges.less";
+@import "progress-bars.less";
+@import "accordion.less";
+@import "carousel.less";
+@import "hero-unit.less";
+
+// Utility classes
+@import "utilities.less"; // Has to be last to override when necessary

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/breadcrumbs.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/breadcrumbs.less b/apps/fauxton/assets/less/bootstrap/breadcrumbs.less
new file mode 100644
index 0000000..f753df6
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/breadcrumbs.less
@@ -0,0 +1,24 @@
+//
+// Breadcrumbs
+// --------------------------------------------------
+
+
+.breadcrumb {
+  padding: 8px 15px;
+  margin: 0 0 @baseLineHeight;
+  list-style: none;
+  background-color: #f5f5f5;
+  .border-radius(@baseBorderRadius);
+  > li {
+    display: inline-block;
+    .ie7-inline-block();
+    text-shadow: 0 1px 0 @white;
+    > .divider {
+      padding: 0 5px;
+      color: #ccc;
+    }
+  }
+  > .active {
+    color: @grayLight;
+  }
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/button-groups.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/button-groups.less b/apps/fauxton/assets/less/bootstrap/button-groups.less
new file mode 100644
index 0000000..55cdc60
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/button-groups.less
@@ -0,0 +1,229 @@
+//
+// Button groups
+// --------------------------------------------------
+
+
+// Make the div behave like a button
+.btn-group {
+  position: relative;
+  display: inline-block;
+  .ie7-inline-block();
+  font-size: 0; // remove as part 1 of font-size inline-block hack
+  vertical-align: middle; // match .btn alignment given font-size hack above
+  white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
+  .ie7-restore-left-whitespace();
+}
+
+// Space out series of button groups
+.btn-group + .btn-group {
+  margin-left: 5px;
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+  font-size: 0; // Hack to remove whitespace that results from using inline-block
+  margin-top: @baseLineHeight / 2;
+  margin-bottom: @baseLineHeight / 2;
+  > .btn + .btn,
+  > .btn-group + .btn,
+  > .btn + .btn-group {
+    margin-left: 5px;
+  }
+}
+
+// Float them, remove border radius, then re-add to first and last elements
+.btn-group > .btn {
+  position: relative;
+  .border-radius(0);
+}
+.btn-group > .btn + .btn {
+  margin-left: -1px;
+}
+.btn-group > .btn,
+.btn-group > .dropdown-menu,
+.btn-group > .popover {
+  font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
+}
+
+// Reset fonts for other sizes
+.btn-group > .btn-mini {
+  font-size: @fontSizeMini;
+}
+.btn-group > .btn-small {
+  font-size: @fontSizeSmall;
+}
+.btn-group > .btn-large {
+  font-size: @fontSizeLarge;
+}
+
+// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
+.btn-group > .btn:first-child {
+  margin-left: 0;
+  .border-top-left-radius(@baseBorderRadius);
+  .border-bottom-left-radius(@baseBorderRadius);
+}
+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+  .border-top-right-radius(@baseBorderRadius);
+  .border-bottom-right-radius(@baseBorderRadius);
+}
+// Reset corners for large buttons
+.btn-group > .btn.large:first-child {
+  margin-left: 0;
+  .border-top-left-radius(@borderRadiusLarge);
+  .border-bottom-left-radius(@borderRadiusLarge);
+}
+.btn-group > .btn.large:last-child,
+.btn-group > .large.dropdown-toggle {
+  .border-top-right-radius(@borderRadiusLarge);
+  .border-bottom-right-radius(@borderRadiusLarge);
+}
+
+// On hover/focus/active, bring the proper btn to front
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active {
+  z-index: 2;
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group > .btn + .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+  .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
+  *padding-top: 5px;
+  *padding-bottom: 5px;
+}
+.btn-group > .btn-mini + .dropdown-toggle {
+  padding-left: 5px;
+  padding-right: 5px;
+  *padding-top: 2px;
+  *padding-bottom: 2px;
+}
+.btn-group > .btn-small + .dropdown-toggle {
+  *padding-top: 5px;
+  *padding-bottom: 4px;
+}
+.btn-group > .btn-large + .dropdown-toggle {
+  padding-left: 12px;
+  padding-right: 12px;
+  *padding-top: 7px;
+  *padding-bottom: 7px;
+}
+
+.btn-group.open {
+
+  // The clickable button for toggling the menu
+  // Remove the gradient and set the same inset shadow as the :active state
+  .dropdown-toggle {
+    background-image: none;
+    .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
+  }
+
+  // Keep the hover's background when dropdown is open
+  .btn.dropdown-toggle {
+    background-color: @btnBackgroundHighlight;
+  }
+  .btn-primary.dropdown-toggle {
+    background-color: @btnPrimaryBackgroundHighlight;
+  }
+  .btn-warning.dropdown-toggle {
+    background-color: @btnWarningBackgroundHighlight;
+  }
+  .btn-danger.dropdown-toggle {
+    background-color: @btnDangerBackgroundHighlight;
+  }
+  .btn-success.dropdown-toggle {
+    background-color: @btnSuccessBackgroundHighlight;
+  }
+  .btn-info.dropdown-toggle {
+    background-color: @btnInfoBackgroundHighlight;
+  }
+  .btn-inverse.dropdown-toggle {
+    background-color: @btnInverseBackgroundHighlight;
+  }
+}
+
+
+// Reposition the caret
+.btn .caret {
+  margin-top: 8px;
+  margin-left: 0;
+}
+// Carets in other button sizes
+.btn-large .caret {
+  margin-top: 6px;
+}
+.btn-large .caret {
+  border-left-width:  5px;
+  border-right-width: 5px;
+  border-top-width:   5px;
+}
+.btn-mini .caret,
+.btn-small .caret {
+  margin-top: 8px;
+}
+// Upside down carets for .dropup
+.dropup .btn-large .caret {
+  border-bottom-width: 5px;
+}
+
+
+
+// Account for other colors
+.btn-primary,
+.btn-warning,
+.btn-danger,
+.btn-info,
+.btn-success,
+.btn-inverse {
+  .caret {
+    border-top-color: @white;
+    border-bottom-color: @white;
+  }
+}
+
+
+
+// Vertical button groups
+// ----------------------
+
+.btn-group-vertical {
+  display: inline-block; // makes buttons only take up the width they need
+  .ie7-inline-block();
+}
+.btn-group-vertical > .btn {
+  display: block;
+  float: none;
+  max-width: 100%;
+  .border-radius(0);
+}
+.btn-group-vertical > .btn + .btn {
+  margin-left: 0;
+  margin-top: -1px;
+}
+.btn-group-vertical > .btn:first-child {
+  .border-radius(@baseBorderRadius @baseBorderRadius 0 0);
+}
+.btn-group-vertical > .btn:last-child {
+  .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
+}
+.btn-group-vertical > .btn-large:first-child {
+  .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
+}
+.btn-group-vertical > .btn-large:last-child {
+  .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/buttons.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/buttons.less b/apps/fauxton/assets/less/bootstrap/buttons.less
new file mode 100644
index 0000000..4cd4d86
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/buttons.less
@@ -0,0 +1,228 @@
+//
+// Buttons
+// --------------------------------------------------
+
+
+// Base styles
+// --------------------------------------------------
+
+// Core
+.btn {
+  display: inline-block;
+  .ie7-inline-block();
+  padding: 4px 12px;
+  margin-bottom: 0; // For input.btn
+  font-size: @baseFontSize;
+  line-height: @baseLineHeight;
+  text-align: center;
+  vertical-align: middle;
+  cursor: pointer;
+  .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
+  border: 1px solid @btnBorder;
+  *border: 0; // Remove the border to prevent IE7's black border on input:focus
+  border-bottom-color: darken(@btnBorder, 10%);
+  .border-radius(@baseBorderRadius);
+  .ie7-restore-left-whitespace(); // Give IE7 some love
+  .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
+
+  // Hover/focus state
+  &:hover,
+  &:focus {
+    color: @grayDark;
+    text-decoration: none;
+    background-position: 0 -15px;
+
+    // transition is only when going to hover/focus, otherwise the background
+    // behind the gradient (there for IE<=9 fallback) gets mismatched
+    .transition(background-position .1s linear);
+  }
+
+  // Focus state for keyboard and accessibility
+  &:focus {
+    .tab-focus();
+  }
+
+  // Active state
+  &.active,
+  &:active {
+    background-image: none;
+    outline: 0;
+    .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
+  }
+
+  // Disabled state
+  &.disabled,
+  &[disabled] {
+    cursor: default;
+    background-image: none;
+    .opacity(65);
+    .box-shadow(none);
+  }
+
+}
+
+
+
+// Button Sizes
+// --------------------------------------------------
+
+// Large
+.btn-large {
+  padding: @paddingLarge;
+  font-size: @fontSizeLarge;
+  .border-radius(@borderRadiusLarge);
+}
+.btn-large [class^="icon-"],
+.btn-large [class*=" icon-"] {
+  margin-top: 4px;
+}
+
+// Small
+.btn-small {
+  padding: @paddingSmall;
+  font-size: @fontSizeSmall;
+  .border-radius(@borderRadiusSmall);
+}
+.btn-small [class^="icon-"],
+.btn-small [class*=" icon-"] {
+  margin-top: 0;
+}
+.btn-mini [class^="icon-"],
+.btn-mini [class*=" icon-"] {
+  margin-top: -1px;
+}
+
+// Mini
+.btn-mini {
+  padding: @paddingMini;
+  font-size: @fontSizeMini;
+  .border-radius(@borderRadiusSmall);
+}
+
+
+// Block button
+// -------------------------
+
+.btn-block {
+  display: block;
+  width: 100%;
+  padding-left: 0;
+  padding-right: 0;
+  .box-sizing(border-box);
+}
+
+// Vertically space out multiple block buttons
+.btn-block + .btn-block {
+  margin-top: 5px;
+}
+
+// Specificity overrides
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+  &.btn-block {
+    width: 100%;
+  }
+}
+
+
+
+// Alternate buttons
+// --------------------------------------------------
+
+// Provide *some* extra contrast for those who can get it
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+  color: rgba(255,255,255,.75);
+}
+
+// Set the backgrounds
+// -------------------------
+.btn-primary {
+  .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
+}
+// Warning appears are orange
+.btn-warning {
+  .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
+}
+// Danger and error appear as red
+.btn-danger {
+  .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
+}
+// Success appears as green
+.btn-success {
+  .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
+}
+// Info appears as a neutral blue
+.btn-info {
+  .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
+}
+// Inverse appears as dark gray
+.btn-inverse {
+  .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
+}
+
+
+// Cross-browser Jank
+// --------------------------------------------------
+
+button.btn,
+input[type="submit"].btn {
+
+  // Firefox 3.6 only I believe
+  &::-moz-focus-inner {
+    padding: 0;
+    border: 0;
+  }
+
+  // IE7 has some default padding on button controls
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+
+  &.btn-large {
+    *padding-top: 7px;
+    *padding-bottom: 7px;
+  }
+  &.btn-small {
+    *padding-top: 3px;
+    *padding-bottom: 3px;
+  }
+  &.btn-mini {
+    *padding-top: 1px;
+    *padding-bottom: 1px;
+  }
+}
+
+
+// Link buttons
+// --------------------------------------------------
+
+// Make a button look and behave like a link
+.btn-link,
+.btn-link:active,
+.btn-link[disabled] {
+  background-color: transparent;
+  background-image: none;
+  .box-shadow(none);
+}
+.btn-link {
+  border-color: transparent;
+  cursor: pointer;
+  color: @linkColor;
+  .border-radius(0);
+}
+.btn-link:hover,
+.btn-link:focus {
+  color: @linkColorHover;
+  text-decoration: underline;
+  background-color: transparent;
+}
+.btn-link[disabled]:hover,
+.btn-link[disabled]:focus {
+  color: @grayDark;
+  text-decoration: none;
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/carousel.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/carousel.less b/apps/fauxton/assets/less/bootstrap/carousel.less
new file mode 100644
index 0000000..55bc050
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/carousel.less
@@ -0,0 +1,158 @@
+//
+// Carousel
+// --------------------------------------------------
+
+
+.carousel {
+  position: relative;
+  margin-bottom: @baseLineHeight;
+  line-height: 1;
+}
+
+.carousel-inner {
+  overflow: hidden;
+  width: 100%;
+  position: relative;
+}
+
+.carousel-inner {
+
+  > .item {
+    display: none;
+    position: relative;
+    .transition(.6s ease-in-out left);
+
+    // Account for jankitude on images
+    > img,
+    > a > img {
+      display: block;
+      line-height: 1;
+    }
+  }
+
+  > .active,
+  > .next,
+  > .prev { display: block; }
+
+  > .active {
+    left: 0;
+  }
+
+  > .next,
+  > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+
+  > .next {
+    left: 100%;
+  }
+  > .prev {
+    left: -100%;
+  }
+  > .next.left,
+  > .prev.right {
+    left: 0;
+  }
+
+  > .active.left {
+    left: -100%;
+  }
+  > .active.right {
+    left: 100%;
+  }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+  position: absolute;
+  top: 40%;
+  left: 15px;
+  width: 40px;
+  height: 40px;
+  margin-top: -20px;
+  font-size: 60px;
+  font-weight: 100;
+  line-height: 30px;
+  color: @white;
+  text-align: center;
+  background: @grayDarker;
+  border: 3px solid @white;
+  .border-radius(23px);
+  .opacity(50);
+
+  // we can't have this transition here
+  // because webkit cancels the carousel
+  // animation if you trip this while
+  // in the middle of another animation
+  // ;_;
+  // .transition(opacity .2s linear);
+
+  // Reposition the right one
+  &.right {
+    left: auto;
+    right: 15px;
+  }
+
+  // Hover/focus state
+  &:hover,
+  &:focus {
+    color: @white;
+    text-decoration: none;
+    .opacity(90);
+  }
+}
+
+// Carousel indicator pips
+// -----------------------------
+.carousel-indicators {
+  position: absolute;
+  top: 15px;
+  right: 15px;
+  z-index: 5;
+  margin: 0;
+  list-style: none;
+
+  li {
+    display: block;
+    float: left;
+    width: 10px;
+    height: 10px;
+    margin-left: 5px;
+    text-indent: -999px;
+    background-color: #ccc;
+    background-color: rgba(255,255,255,.25);
+    border-radius: 5px;
+  }
+  .active {
+    background-color: #fff;
+  }
+}
+
+// Caption for text below images
+// -----------------------------
+
+.carousel-caption {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 15px;
+  background: @grayDark;
+  background: rgba(0,0,0,.75);
+}
+.carousel-caption h4,
+.carousel-caption p {
+  color: @white;
+  line-height: @baseLineHeight;
+}
+.carousel-caption h4 {
+  margin: 0 0 5px;
+}
+.carousel-caption p {
+  margin-bottom: 0;
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/close.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/close.less b/apps/fauxton/assets/less/bootstrap/close.less
new file mode 100644
index 0000000..4c626bd
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/close.less
@@ -0,0 +1,32 @@
+//
+// Close icons
+// --------------------------------------------------
+
+
+.close {
+  float: right;
+  font-size: 20px;
+  font-weight: bold;
+  line-height: @baseLineHeight;
+  color: @black;
+  text-shadow: 0 1px 0 rgba(255,255,255,1);
+  .opacity(20);
+  &:hover,
+  &:focus {
+    color: @black;
+    text-decoration: none;
+    cursor: pointer;
+    .opacity(40);
+  }
+}
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/code.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/code.less b/apps/fauxton/assets/less/bootstrap/code.less
new file mode 100644
index 0000000..266a926
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/code.less
@@ -0,0 +1,61 @@
+//
+// Code (inline and blocK)
+// --------------------------------------------------
+
+
+// Inline and block code styles
+code,
+pre {
+  padding: 0 3px 2px;
+  #font > #family > .monospace;
+  font-size: @baseFontSize - 2;
+  color: @grayDark;
+  .border-radius(3px);
+}
+
+// Inline code
+code {
+  padding: 2px 4px;
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+  white-space: nowrap;
+}
+
+// Blocks of code
+pre {
+  display: block;
+  padding: (@baseLineHeight - 1) / 2;
+  margin: 0 0 @baseLineHeight / 2;
+  font-size: @baseFontSize - 1; // 14px to 13px
+  line-height: @baseLineHeight;
+  word-break: break-all;
+  word-wrap: break-word;
+  white-space: pre;
+  white-space: pre-wrap;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc; // fallback for IE7-8
+  border: 1px solid rgba(0,0,0,.15);
+  .border-radius(@baseBorderRadius);
+
+  // Make prettyprint styles more spaced out for readability
+  &.prettyprint {
+    margin-bottom: @baseLineHeight;
+  }
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    color: inherit;
+    white-space: pre;
+    white-space: pre-wrap;
+    background-color: transparent;
+    border: 0;
+  }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/component-animations.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/component-animations.less b/apps/fauxton/assets/less/bootstrap/component-animations.less
new file mode 100644
index 0000000..d614263
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/component-animations.less
@@ -0,0 +1,22 @@
+//
+// Component animations
+// --------------------------------------------------
+
+
+.fade {
+  opacity: 0;
+  .transition(opacity .15s linear);
+  &.in {
+    opacity: 1;
+  }
+}
+
+.collapse {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  .transition(height .35s ease);
+  &.in {
+    height: auto;
+  }
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/dropdowns.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/dropdowns.less b/apps/fauxton/assets/less/bootstrap/dropdowns.less
new file mode 100644
index 0000000..9e47b47
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/dropdowns.less
@@ -0,0 +1,248 @@
+//
+// Dropdown menus
+// --------------------------------------------------
+
+
+// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
+.dropup,
+.dropdown {
+  position: relative;
+}
+.dropdown-toggle {
+  // The caret makes the toggle a bit too tall in IE7
+  *margin-bottom: -3px;
+}
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+  outline: 0;
+}
+
+// Dropdown arrow/caret
+// --------------------
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  vertical-align: top;
+  border-top:   4px solid @black;
+  border-right: 4px solid transparent;
+  border-left:  4px solid transparent;
+  content: "";
+}
+
+// Place the caret
+.dropdown .caret {
+  margin-top: 8px;
+  margin-left: 2px;
+}
+
+// The dropdown menu (ul)
+// ----------------------
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: @zindexDropdown;
+  display: none; // none by default, but block on "open" of the menu
+  float: left;
+  min-width: 160px;
+  padding: 5px 0;
+  margin: 2px 0 0; // override default ul
+  list-style: none;
+  background-color: @dropdownBackground;
+  border: 1px solid #ccc; // Fallback for IE7-8
+  border: 1px solid @dropdownBorder;
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
+  .border-radius(6px);
+  .box-shadow(0 5px 10px rgba(0,0,0,.2));
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
+
+  // Aligns the dropdown menu to right
+  &.pull-right {
+    right: 0;
+    left: auto;
+  }
+
+  // Dividers (basically an hr) within the dropdown
+  .divider {
+    .nav-divider(@dropdownDividerTop, @dropdownDividerBottom);
+  }
+
+  // Links within the dropdown menu
+  > li > a {
+    display: block;
+    padding: 3px 20px;
+    clear: both;
+    font-weight: normal;
+    line-height: @baseLineHeight;
+    color: @dropdownLinkColor;
+    white-space: nowrap;
+  }
+}
+
+// Hover/Focus state
+// -----------
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
+  text-decoration: none;
+  color: @dropdownLinkColorHover;
+  #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
+}
+
+// Active state
+// ------------
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+  color: @dropdownLinkColorActive;
+  text-decoration: none;
+  outline: 0;
+  #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
+}
+
+// Disabled state
+// --------------
+// Gray out text and ensure the hover/focus state remains gray
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  color: @grayLight;
+}
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  text-decoration: none;
+  background-color: transparent;
+  background-image: none; // Remove CSS gradient
+  .reset-filter();
+  cursor: default;
+}
+
+// Open state for the dropdown
+// ---------------------------
+.open {
+  // IE7's z-index only goes to the nearest positioned ancestor, which would
+  // make the menu appear below buttons that appeared later on the page
+  *z-index: @zindexDropdown;
+
+  & > .dropdown-menu {
+    display: block;
+  }
+}
+
+// Backdrop to catch body clicks on mobile, etc.
+// ---------------------------
+.dropdown-backdrop {
+  position: fixed;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+  z-index: @zindexDropdown - 10;
+}
+
+// Right aligned dropdowns
+// ---------------------------
+.pull-right > .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+
+// Allow for dropdowns to go bottom up (aka, dropup-menu)
+// ------------------------------------------------------
+// Just add .dropup after the standard .dropdown class and you're set, bro.
+// TODO: abstract this so that the navbar fixed styles are not placed here?
+.dropup,
+.navbar-fixed-bottom .dropdown {
+  // Reverse the caret
+  .caret {
+    border-top: 0;
+    border-bottom: 4px solid @black;
+    content: "";
+  }
+  // Different positioning for bottom up menu
+  .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+    margin-bottom: 1px;
+  }
+}
+
+// Sub menus
+// ---------------------------
+.dropdown-submenu {
+  position: relative;
+}
+// Default dropdowns
+.dropdown-submenu > .dropdown-menu {
+  top: 0;
+  left: 100%;
+  margin-top: -6px;
+  margin-left: -1px;
+  .border-radius(0 6px 6px 6px);
+}
+.dropdown-submenu:hover > .dropdown-menu {
+  display: block;
+}
+
+// Dropups
+.dropup .dropdown-submenu > .dropdown-menu {
+  top: auto;
+  bottom: 0;
+  margin-top: 0;
+  margin-bottom: -2px;
+  .border-radius(5px 5px 5px 0);
+}
+
+// Caret to indicate there is a submenu
+.dropdown-submenu > a:after {
+  display: block;
+  content: " ";
+  float: right;
+  width: 0;
+  height: 0;
+  border-color: transparent;
+  border-style: solid;
+  border-width: 5px 0 5px 5px;
+  border-left-color: darken(@dropdownBackground, 20%);
+  margin-top: 5px;
+  margin-right: -10px;
+}
+.dropdown-submenu:hover > a:after {
+  border-left-color: @dropdownLinkColorHover;
+}
+
+// Left aligned submenus
+.dropdown-submenu.pull-left {
+  // Undo the float
+  // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
+  float: none;
+
+  // Positioning the submenu
+  > .dropdown-menu {
+    left: -100%;
+    margin-left: 10px;
+    .border-radius(6px 0 6px 6px);
+  }
+}
+
+// Tweak nav headers
+// -----------------
+// Increase padding from 15px to 20px on sides
+.dropdown .dropdown-menu .nav-header {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+// Typeahead
+// ---------
+.typeahead {
+  z-index: 1051;
+  margin-top: 2px; // give it some space to breathe
+  .border-radius(@baseBorderRadius);
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/font-awesome/bootstrap.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/font-awesome/bootstrap.less b/apps/fauxton/assets/less/bootstrap/font-awesome/bootstrap.less
new file mode 100644
index 0000000..a2c9604
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/font-awesome/bootstrap.less
@@ -0,0 +1,84 @@
+/* BOOTSTRAP SPECIFIC CLASSES
+ * -------------------------- */
+
+/* Bootstrap 2.0 sprites.less reset */
+[class^="icon-"],
+[class*=" icon-"] {
+  display: inline;
+  width: auto;
+  height: auto;
+  line-height: normal;
+  vertical-align: baseline;
+  background-image: none;
+  background-position: 0% 0%;
+  background-repeat: repeat;
+  margin-top: 0;
+}
+
+/* more sprites.less reset */
+.icon-white,
+.nav-pills > .active > a > [class^="icon-"],
+.nav-pills > .active > a > [class*=" icon-"],
+.nav-list > .active > a > [class^="icon-"],
+.nav-list > .active > a > [class*=" icon-"],
+.navbar-inverse .nav > .active > a > [class^="icon-"],
+.navbar-inverse .nav > .active > a > [class*=" icon-"],
+.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > .active > a > [class^="icon-"],
+.dropdown-menu > .active > a > [class*=" icon-"],
+.dropdown-submenu:hover > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"] {
+  background-image: none;
+}
+
+
+/* keeps Bootstrap styles with and without icons the same */
+.btn, .nav {
+  [class^="icon-"],
+  [class*=" icon-"] {
+//    display: inline;
+    &.icon-large { line-height: .9em; }
+    &.icon-spin { display: inline-block; }
+  }
+}
+.nav-tabs, .nav-pills {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    &, &.icon-large { line-height: .9em; }
+  }
+}
+.btn {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    &.pull-left, &.pull-right {
+      &.icon-2x { margin-top: .18em; }
+    }
+    &.icon-spin.icon-large { line-height: .8em; }
+  }
+}
+.btn.btn-small {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    &.pull-left, &.pull-right {
+      &.icon-2x { margin-top: .25em; }
+    }
+  }
+}
+.btn.btn-large {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    margin-top: 0; // overrides bootstrap default
+    &.pull-left, &.pull-right {
+      &.icon-2x { margin-top: .05em; }
+    }
+    &.pull-left.icon-2x { margin-right: .2em; }
+    &.pull-right.icon-2x { margin-left: .2em; }
+  }
+}
+
+/* Fixes alignment in nav lists */
+.nav-list [class^="icon-"],
+.nav-list [class*=" icon-"] {
+  line-height: inherit;
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/font-awesome/core.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/font-awesome/core.less b/apps/fauxton/assets/less/bootstrap/font-awesome/core.less
new file mode 100644
index 0000000..1ef7e22
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/font-awesome/core.less
@@ -0,0 +1,129 @@
+/* FONT AWESOME CORE
+ * -------------------------- */
+
+[class^="icon-"],
+[class*=" icon-"] {
+  .icon-FontAwesome();
+}
+
+[class^="icon-"]:before,
+[class*=" icon-"]:before {
+  text-decoration: inherit;
+  display: inline-block;
+  speak: none;
+}
+
+/* makes the font 33% larger relative to the icon container */
+.icon-large:before {
+  vertical-align: -10%;
+  font-size: 4/3em;
+}
+
+/* makes sure icons active on rollover in links */
+a {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    display: inline;
+  }
+}
+
+/* increased font size for icon-large */
+[class^="icon-"],
+[class*=" icon-"] {
+  &.icon-fixed-width {
+    display: inline-block;
+    width: 16/14em;
+    text-align: right;
+    padding-right: 4/14em;
+    &.icon-large {
+      width: 20/14em;
+    }
+  }
+}
+
+.icons-ul {
+  margin-left: @icons-li-width;
+  list-style-type: none;
+
+  > li { position: relative; }
+
+  .icon-li {
+    position: absolute;
+    left: -@icons-li-width;
+    width: @icons-li-width;
+    text-align: center;
+    line-height: inherit;
+  }
+}
+
+// allows usage of the hide class directly on font awesome icons
+[class^="icon-"],
+[class*=" icon-"] {
+  &.hide {
+    display: none;
+  }
+}
+
+.icon-muted { color: @iconMuted; }
+.icon-light { color: @iconLight; }
+.icon-dark { color: @iconDark; }
+
+// Icon Borders
+// -------------------------
+
+.icon-border {
+  border: solid 1px @borderColor;
+  padding: .2em .25em .15em;
+  .border-radius(3px);
+}
+
+// Icon Sizes
+// -------------------------
+
+.icon-2x {
+  font-size: 2em;
+  &.icon-border {
+    border-width: 2px;
+    .border-radius(4px);
+  }
+}
+.icon-3x {
+  font-size: 3em;
+  &.icon-border {
+    border-width: 3px;
+    .border-radius(5px);
+  }
+}
+.icon-4x {
+  font-size: 4em;
+  &.icon-border {
+    border-width: 4px;
+    .border-radius(6px);
+  }
+}
+
+.icon-5x {
+  font-size: 5em;
+  &.icon-border {
+    border-width: 5px;
+    .border-radius(7px);
+  }
+}
+
+
+// Floats & Margins
+// -------------------------
+
+// Quick floats
+.pull-right { float: right; }
+.pull-left { float: left; }
+
+[class^="icon-"],
+[class*=" icon-"] {
+  &.pull-left {
+    margin-right: .3em;
+  }
+  &.pull-right {
+    margin-left: .3em;
+  }
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/font-awesome/extras.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/font-awesome/extras.less b/apps/fauxton/assets/less/bootstrap/font-awesome/extras.less
new file mode 100644
index 0000000..c93c260
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/font-awesome/extras.less
@@ -0,0 +1,93 @@
+/* EXTRAS
+ * -------------------------- */
+
+/* Stacked and layered icon */
+.icon-stack();
+
+/* Animated rotating icon */
+.icon-spin {
+  display: inline-block;
+  -moz-animation: spin 2s infinite linear;
+  -o-animation: spin 2s infinite linear;
+  -webkit-animation: spin 2s infinite linear;
+  animation: spin 2s infinite linear;
+}
+
+/* Prevent stack and spinners from being taken inline when inside a link */
+a .icon-stack,
+a .icon-spin {
+  display: inline-block;
+  text-decoration: none;
+}
+
+@-moz-keyframes spin {
+  0% { -moz-transform: rotate(0deg); }
+  100% { -moz-transform: rotate(359deg); }
+}
+@-webkit-keyframes spin {
+  0% { -webkit-transform: rotate(0deg); }
+  100% { -webkit-transform: rotate(359deg); }
+}
+@-o-keyframes spin {
+  0% { -o-transform: rotate(0deg); }
+  100% { -o-transform: rotate(359deg); }
+}
+@-ms-keyframes spin {
+  0% { -ms-transform: rotate(0deg); }
+  100% { -ms-transform: rotate(359deg); }
+}
+@keyframes spin {
+  0% { transform: rotate(0deg); }
+  100% { transform: rotate(359deg); }
+}
+
+/* Icon rotations and mirroring */
+.icon-rotate-90:before {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  -o-transform: rotate(90deg);
+  transform: rotate(90deg);
+  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
+}
+
+.icon-rotate-180:before {
+  -webkit-transform: rotate(180deg);
+  -moz-transform: rotate(180deg);
+  -ms-transform: rotate(180deg);
+  -o-transform: rotate(180deg);
+  transform: rotate(180deg);
+  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
+}
+
+.icon-rotate-270:before {
+  -webkit-transform: rotate(270deg);
+  -moz-transform: rotate(270deg);
+  -ms-transform: rotate(270deg);
+  -o-transform: rotate(270deg);
+  transform: rotate(270deg);
+  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
+}
+
+.icon-flip-horizontal:before {
+  -webkit-transform: scale(-1, 1);
+  -moz-transform: scale(-1, 1);
+  -ms-transform: scale(-1, 1);
+  -o-transform: scale(-1, 1);
+  transform: scale(-1, 1);
+}
+
+.icon-flip-vertical:before {
+  -webkit-transform: scale(1, -1);
+  -moz-transform: scale(1, -1);
+  -ms-transform: scale(1, -1);
+  -o-transform: scale(1, -1);
+  transform: scale(1, -1);
+}
+
+/* ensure rotation occurs inside anchor tags */
+a {
+  .icon-rotate-90, .icon-rotate-180, .icon-rotate-270, .icon-flip-horizontal, .icon-flip-vertical {
+    &:before { display: inline-block; }
+  }
+}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome-ie7.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome-ie7.less b/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome-ie7.less
new file mode 100644
index 0000000..6675c49
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome-ie7.less
@@ -0,0 +1,1953 @@
+/*!
+ *  Font Awesome 3.2.1
+ *  the iconic font designed for Bootstrap
+ *  ------------------------------------------------------------------------------
+ *  The full suite of pictographic icons, examples, and documentation can be
+ *  found at http://fontawesome.io.  Stay up to date on Twitter at
+ *  http://twitter.com/fontawesome.
+ *
+ *  License
+ *  ------------------------------------------------------------------------------
+ *  - The Font Awesome font is licensed under SIL OFL 1.1 -
+ *    http://scripts.sil.org/OFL
+ *  - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
+ *    http://opensource.org/licenses/mit-license.html
+ *  - Font Awesome documentation licensed under CC BY 3.0 -
+ *    http://creativecommons.org/licenses/by/3.0/
+ *  - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
+ *    "Font Awesome by Dave Gandy - http://fontawesome.io"
+ *
+ *  Author - Dave Gandy
+ *  ------------------------------------------------------------------------------
+ *  Email: dave@fontawesome.io
+ *  Twitter: http://twitter.com/davegandy
+ *  Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ */
+
+.icon-large {
+  font-size: 4/3em;
+  margin-top: -4px;
+  padding-top: 3px;
+  margin-bottom: -4px;
+  padding-bottom: 3px;
+  vertical-align: middle;
+}
+
+.nav {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    vertical-align: inherit;
+    margin-top: -4px;
+    padding-top: 3px;
+    margin-bottom: -4px;
+    padding-bottom: 3px;
+    &.icon-large {
+      vertical-align: -25%;
+    }
+  }
+}
+
+.nav-pills, .nav-tabs {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    &.icon-large {
+      line-height: .75em;
+      margin-top: -7px;
+      padding-top: 5px;
+      margin-bottom: -5px;
+      padding-bottom: 4px;
+    }
+  }
+}
+
+.btn {
+  [class^="icon-"],
+  [class*=" icon-"] {
+    &.pull-left, &.pull-right { vertical-align: inherit; }
+    &.icon-large {
+      margin-top: -.5em;
+    }
+  }
+}
+
+a [class^="icon-"],
+a [class*=" icon-"] {
+  cursor: pointer;
+}
+
+.ie7icon(@inner) { *zoom: ~"expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '@{inner}')"; }
+
+
+.icon-glass {
+  .ie7icon('&#xf000;');
+}
+
+
+.icon-music {
+  .ie7icon('&#xf001;');
+}
+
+
+.icon-search {
+  .ie7icon('&#xf002;');
+}
+
+
+.icon-envelope-alt {
+  .ie7icon('&#xf003;');
+}
+
+
+.icon-heart {
+  .ie7icon('&#xf004;');
+}
+
+
+.icon-star {
+  .ie7icon('&#xf005;');
+}
+
+
+.icon-star-empty {
+  .ie7icon('&#xf006;');
+}
+
+
+.icon-user {
+  .ie7icon('&#xf007;');
+}
+
+
+.icon-film {
+  .ie7icon('&#xf008;');
+}
+
+
+.icon-th-large {
+  .ie7icon('&#xf009;');
+}
+
+
+.icon-th {
+  .ie7icon('&#xf00a;');
+}
+
+
+.icon-th-list {
+  .ie7icon('&#xf00b;');
+}
+
+
+.icon-ok {
+  .ie7icon('&#xf00c;');
+}
+
+
+.icon-remove {
+  .ie7icon('&#xf00d;');
+}
+
+
+.icon-zoom-in {
+  .ie7icon('&#xf00e;');
+}
+
+
+.icon-zoom-out {
+  .ie7icon('&#xf010;');
+}
+
+
+.icon-off {
+  .ie7icon('&#xf011;');
+}
+
+.icon-power-off {
+  .ie7icon('&#xf011;');
+}
+
+
+.icon-signal {
+  .ie7icon('&#xf012;');
+}
+
+
+.icon-cog {
+  .ie7icon('&#xf013;');
+}
+
+.icon-gear {
+  .ie7icon('&#xf013;');
+}
+
+
+.icon-trash {
+  .ie7icon('&#xf014;');
+}
+
+
+.icon-home {
+  .ie7icon('&#xf015;');
+}
+
+
+.icon-file-alt {
+  .ie7icon('&#xf016;');
+}
+
+
+.icon-time {
+  .ie7icon('&#xf017;');
+}
+
+
+.icon-road {
+  .ie7icon('&#xf018;');
+}
+
+
+.icon-download-alt {
+  .ie7icon('&#xf019;');
+}
+
+
+.icon-download {
+  .ie7icon('&#xf01a;');
+}
+
+
+.icon-upload {
+  .ie7icon('&#xf01b;');
+}
+
+
+.icon-inbox {
+  .ie7icon('&#xf01c;');
+}
+
+
+.icon-play-circle {
+  .ie7icon('&#xf01d;');
+}
+
+
+.icon-repeat {
+  .ie7icon('&#xf01e;');
+}
+
+.icon-rotate-right {
+  .ie7icon('&#xf01e;');
+}
+
+
+.icon-refresh {
+  .ie7icon('&#xf021;');
+}
+
+
+.icon-list-alt {
+  .ie7icon('&#xf022;');
+}
+
+
+.icon-lock {
+  .ie7icon('&#xf023;');
+}
+
+
+.icon-flag {
+  .ie7icon('&#xf024;');
+}
+
+
+.icon-headphones {
+  .ie7icon('&#xf025;');
+}
+
+
+.icon-volume-off {
+  .ie7icon('&#xf026;');
+}
+
+
+.icon-volume-down {
+  .ie7icon('&#xf027;');
+}
+
+
+.icon-volume-up {
+  .ie7icon('&#xf028;');
+}
+
+
+.icon-qrcode {
+  .ie7icon('&#xf029;');
+}
+
+
+.icon-barcode {
+  .ie7icon('&#xf02a;');
+}
+
+
+.icon-tag {
+  .ie7icon('&#xf02b;');
+}
+
+
+.icon-tags {
+  .ie7icon('&#xf02c;');
+}
+
+
+.icon-book {
+  .ie7icon('&#xf02d;');
+}
+
+
+.icon-bookmark {
+  .ie7icon('&#xf02e;');
+}
+
+
+.icon-print {
+  .ie7icon('&#xf02f;');
+}
+
+
+.icon-camera {
+  .ie7icon('&#xf030;');
+}
+
+
+.icon-font {
+  .ie7icon('&#xf031;');
+}
+
+
+.icon-bold {
+  .ie7icon('&#xf032;');
+}
+
+
+.icon-italic {
+  .ie7icon('&#xf033;');
+}
+
+
+.icon-text-height {
+  .ie7icon('&#xf034;');
+}
+
+
+.icon-text-width {
+  .ie7icon('&#xf035;');
+}
+
+
+.icon-align-left {
+  .ie7icon('&#xf036;');
+}
+
+
+.icon-align-center {
+  .ie7icon('&#xf037;');
+}
+
+
+.icon-align-right {
+  .ie7icon('&#xf038;');
+}
+
+
+.icon-align-justify {
+  .ie7icon('&#xf039;');
+}
+
+
+.icon-list {
+  .ie7icon('&#xf03a;');
+}
+
+
+.icon-indent-left {
+  .ie7icon('&#xf03b;');
+}
+
+
+.icon-indent-right {
+  .ie7icon('&#xf03c;');
+}
+
+
+.icon-facetime-video {
+  .ie7icon('&#xf03d;');
+}
+
+
+.icon-picture {
+  .ie7icon('&#xf03e;');
+}
+
+
+.icon-pencil {
+  .ie7icon('&#xf040;');
+}
+
+
+.icon-map-marker {
+  .ie7icon('&#xf041;');
+}
+
+
+.icon-adjust {
+  .ie7icon('&#xf042;');
+}
+
+
+.icon-tint {
+  .ie7icon('&#xf043;');
+}
+
+
+.icon-edit {
+  .ie7icon('&#xf044;');
+}
+
+
+.icon-share {
+  .ie7icon('&#xf045;');
+}
+
+
+.icon-check {
+  .ie7icon('&#xf046;');
+}
+
+
+.icon-move {
+  .ie7icon('&#xf047;');
+}
+
+
+.icon-step-backward {
+  .ie7icon('&#xf048;');
+}
+
+
+.icon-fast-backward {
+  .ie7icon('&#xf049;');
+}
+
+
+.icon-backward {
+  .ie7icon('&#xf04a;');
+}
+
+
+.icon-play {
+  .ie7icon('&#xf04b;');
+}
+
+
+.icon-pause {
+  .ie7icon('&#xf04c;');
+}
+
+
+.icon-stop {
+  .ie7icon('&#xf04d;');
+}
+
+
+.icon-forward {
+  .ie7icon('&#xf04e;');
+}
+
+
+.icon-fast-forward {
+  .ie7icon('&#xf050;');
+}
+
+
+.icon-step-forward {
+  .ie7icon('&#xf051;');
+}
+
+
+.icon-eject {
+  .ie7icon('&#xf052;');
+}
+
+
+.icon-chevron-left {
+  .ie7icon('&#xf053;');
+}
+
+
+.icon-chevron-right {
+  .ie7icon('&#xf054;');
+}
+
+
+.icon-plus-sign {
+  .ie7icon('&#xf055;');
+}
+
+
+.icon-minus-sign {
+  .ie7icon('&#xf056;');
+}
+
+
+.icon-remove-sign {
+  .ie7icon('&#xf057;');
+}
+
+
+.icon-ok-sign {
+  .ie7icon('&#xf058;');
+}
+
+
+.icon-question-sign {
+  .ie7icon('&#xf059;');
+}
+
+
+.icon-info-sign {
+  .ie7icon('&#xf05a;');
+}
+
+
+.icon-screenshot {
+  .ie7icon('&#xf05b;');
+}
+
+
+.icon-remove-circle {
+  .ie7icon('&#xf05c;');
+}
+
+
+.icon-ok-circle {
+  .ie7icon('&#xf05d;');
+}
+
+
+.icon-ban-circle {
+  .ie7icon('&#xf05e;');
+}
+
+
+.icon-arrow-left {
+  .ie7icon('&#xf060;');
+}
+
+
+.icon-arrow-right {
+  .ie7icon('&#xf061;');
+}
+
+
+.icon-arrow-up {
+  .ie7icon('&#xf062;');
+}
+
+
+.icon-arrow-down {
+  .ie7icon('&#xf063;');
+}
+
+
+.icon-share-alt {
+  .ie7icon('&#xf064;');
+}
+
+.icon-mail-forward {
+  .ie7icon('&#xf064;');
+}
+
+
+.icon-resize-full {
+  .ie7icon('&#xf065;');
+}
+
+
+.icon-resize-small {
+  .ie7icon('&#xf066;');
+}
+
+
+.icon-plus {
+  .ie7icon('&#xf067;');
+}
+
+
+.icon-minus {
+  .ie7icon('&#xf068;');
+}
+
+
+.icon-asterisk {
+  .ie7icon('&#xf069;');
+}
+
+
+.icon-exclamation-sign {
+  .ie7icon('&#xf06a;');
+}
+
+
+.icon-gift {
+  .ie7icon('&#xf06b;');
+}
+
+
+.icon-leaf {
+  .ie7icon('&#xf06c;');
+}
+
+
+.icon-fire {
+  .ie7icon('&#xf06d;');
+}
+
+
+.icon-eye-open {
+  .ie7icon('&#xf06e;');
+}
+
+
+.icon-eye-close {
+  .ie7icon('&#xf070;');
+}
+
+
+.icon-warning-sign {
+  .ie7icon('&#xf071;');
+}
+
+
+.icon-plane {
+  .ie7icon('&#xf072;');
+}
+
+
+.icon-calendar {
+  .ie7icon('&#xf073;');
+}
+
+
+.icon-random {
+  .ie7icon('&#xf074;');
+}
+
+
+.icon-comment {
+  .ie7icon('&#xf075;');
+}
+
+
+.icon-magnet {
+  .ie7icon('&#xf076;');
+}
+
+
+.icon-chevron-up {
+  .ie7icon('&#xf077;');
+}
+
+
+.icon-chevron-down {
+  .ie7icon('&#xf078;');
+}
+
+
+.icon-retweet {
+  .ie7icon('&#xf079;');
+}
+
+
+.icon-shopping-cart {
+  .ie7icon('&#xf07a;');
+}
+
+
+.icon-folder-close {
+  .ie7icon('&#xf07b;');
+}
+
+
+.icon-folder-open {
+  .ie7icon('&#xf07c;');
+}
+
+
+.icon-resize-vertical {
+  .ie7icon('&#xf07d;');
+}
+
+
+.icon-resize-horizontal {
+  .ie7icon('&#xf07e;');
+}
+
+
+.icon-bar-chart {
+  .ie7icon('&#xf080;');
+}
+
+
+.icon-twitter-sign {
+  .ie7icon('&#xf081;');
+}
+
+
+.icon-facebook-sign {
+  .ie7icon('&#xf082;');
+}
+
+
+.icon-camera-retro {
+  .ie7icon('&#xf083;');
+}
+
+
+.icon-key {
+  .ie7icon('&#xf084;');
+}
+
+
+.icon-cogs {
+  .ie7icon('&#xf085;');
+}
+
+.icon-gears {
+  .ie7icon('&#xf085;');
+}
+
+
+.icon-comments {
+  .ie7icon('&#xf086;');
+}
+
+
+.icon-thumbs-up-alt {
+  .ie7icon('&#xf087;');
+}
+
+
+.icon-thumbs-down-alt {
+  .ie7icon('&#xf088;');
+}
+
+
+.icon-star-half {
+  .ie7icon('&#xf089;');
+}
+
+
+.icon-heart-empty {
+  .ie7icon('&#xf08a;');
+}
+
+
+.icon-signout {
+  .ie7icon('&#xf08b;');
+}
+
+
+.icon-linkedin-sign {
+  .ie7icon('&#xf08c;');
+}
+
+
+.icon-pushpin {
+  .ie7icon('&#xf08d;');
+}
+
+
+.icon-external-link {
+  .ie7icon('&#xf08e;');
+}
+
+
+.icon-signin {
+  .ie7icon('&#xf090;');
+}
+
+
+.icon-trophy {
+  .ie7icon('&#xf091;');
+}
+
+
+.icon-github-sign {
+  .ie7icon('&#xf092;');
+}
+
+
+.icon-upload-alt {
+  .ie7icon('&#xf093;');
+}
+
+
+.icon-lemon {
+  .ie7icon('&#xf094;');
+}
+
+
+.icon-phone {
+  .ie7icon('&#xf095;');
+}
+
+
+.icon-check-empty {
+  .ie7icon('&#xf096;');
+}
+
+.icon-unchecked {
+  .ie7icon('&#xf096;');
+}
+
+
+.icon-bookmark-empty {
+  .ie7icon('&#xf097;');
+}
+
+
+.icon-phone-sign {
+  .ie7icon('&#xf098;');
+}
+
+
+.icon-twitter {
+  .ie7icon('&#xf099;');
+}
+
+
+.icon-facebook {
+  .ie7icon('&#xf09a;');
+}
+
+
+.icon-github {
+  .ie7icon('&#xf09b;');
+}
+
+
+.icon-unlock {
+  .ie7icon('&#xf09c;');
+}
+
+
+.icon-credit-card {
+  .ie7icon('&#xf09d;');
+}
+
+
+.icon-rss {
+  .ie7icon('&#xf09e;');
+}
+
+
+.icon-hdd {
+  .ie7icon('&#xf0a0;');
+}
+
+
+.icon-bullhorn {
+  .ie7icon('&#xf0a1;');
+}
+
+
+.icon-bell {
+  .ie7icon('&#xf0a2;');
+}
+
+
+.icon-certificate {
+  .ie7icon('&#xf0a3;');
+}
+
+
+.icon-hand-right {
+  .ie7icon('&#xf0a4;');
+}
+
+
+.icon-hand-left {
+  .ie7icon('&#xf0a5;');
+}
+
+
+.icon-hand-up {
+  .ie7icon('&#xf0a6;');
+}
+
+
+.icon-hand-down {
+  .ie7icon('&#xf0a7;');
+}
+
+
+.icon-circle-arrow-left {
+  .ie7icon('&#xf0a8;');
+}
+
+
+.icon-circle-arrow-right {
+  .ie7icon('&#xf0a9;');
+}
+
+
+.icon-circle-arrow-up {
+  .ie7icon('&#xf0aa;');
+}
+
+
+.icon-circle-arrow-down {
+  .ie7icon('&#xf0ab;');
+}
+
+
+.icon-globe {
+  .ie7icon('&#xf0ac;');
+}
+
+
+.icon-wrench {
+  .ie7icon('&#xf0ad;');
+}
+
+
+.icon-tasks {
+  .ie7icon('&#xf0ae;');
+}
+
+
+.icon-filter {
+  .ie7icon('&#xf0b0;');
+}
+
+
+.icon-briefcase {
+  .ie7icon('&#xf0b1;');
+}
+
+
+.icon-fullscreen {
+  .ie7icon('&#xf0b2;');
+}
+
+
+.icon-group {
+  .ie7icon('&#xf0c0;');
+}
+
+
+.icon-link {
+  .ie7icon('&#xf0c1;');
+}
+
+
+.icon-cloud {
+  .ie7icon('&#xf0c2;');
+}
+
+
+.icon-beaker {
+  .ie7icon('&#xf0c3;');
+}
+
+
+.icon-cut {
+  .ie7icon('&#xf0c4;');
+}
+
+
+.icon-copy {
+  .ie7icon('&#xf0c5;');
+}
+
+
+.icon-paper-clip {
+  .ie7icon('&#xf0c6;');
+}
+
+.icon-paperclip {
+  .ie7icon('&#xf0c6;');
+}
+
+
+.icon-save {
+  .ie7icon('&#xf0c7;');
+}
+
+
+.icon-sign-blank {
+  .ie7icon('&#xf0c8;');
+}
+
+
+.icon-reorder {
+  .ie7icon('&#xf0c9;');
+}
+
+
+.icon-list-ul {
+  .ie7icon('&#xf0ca;');
+}
+
+
+.icon-list-ol {
+  .ie7icon('&#xf0cb;');
+}
+
+
+.icon-strikethrough {
+  .ie7icon('&#xf0cc;');
+}
+
+
+.icon-underline {
+  .ie7icon('&#xf0cd;');
+}
+
+
+.icon-table {
+  .ie7icon('&#xf0ce;');
+}
+
+
+.icon-magic {
+  .ie7icon('&#xf0d0;');
+}
+
+
+.icon-truck {
+  .ie7icon('&#xf0d1;');
+}
+
+
+.icon-pinterest {
+  .ie7icon('&#xf0d2;');
+}
+
+
+.icon-pinterest-sign {
+  .ie7icon('&#xf0d3;');
+}
+
+
+.icon-google-plus-sign {
+  .ie7icon('&#xf0d4;');
+}
+
+
+.icon-google-plus {
+  .ie7icon('&#xf0d5;');
+}
+
+
+.icon-money {
+  .ie7icon('&#xf0d6;');
+}
+
+
+.icon-caret-down {
+  .ie7icon('&#xf0d7;');
+}
+
+
+.icon-caret-up {
+  .ie7icon('&#xf0d8;');
+}
+
+
+.icon-caret-left {
+  .ie7icon('&#xf0d9;');
+}
+
+
+.icon-caret-right {
+  .ie7icon('&#xf0da;');
+}
+
+
+.icon-columns {
+  .ie7icon('&#xf0db;');
+}
+
+
+.icon-sort {
+  .ie7icon('&#xf0dc;');
+}
+
+
+.icon-sort-down {
+  .ie7icon('&#xf0dd;');
+}
+
+
+.icon-sort-up {
+  .ie7icon('&#xf0de;');
+}
+
+
+.icon-envelope {
+  .ie7icon('&#xf0e0;');
+}
+
+
+.icon-linkedin {
+  .ie7icon('&#xf0e1;');
+}
+
+
+.icon-undo {
+  .ie7icon('&#xf0e2;');
+}
+
+.icon-rotate-left {
+  .ie7icon('&#xf0e2;');
+}
+
+
+.icon-legal {
+  .ie7icon('&#xf0e3;');
+}
+
+
+.icon-dashboard {
+  .ie7icon('&#xf0e4;');
+}
+
+
+.icon-comment-alt {
+  .ie7icon('&#xf0e5;');
+}
+
+
+.icon-comments-alt {
+  .ie7icon('&#xf0e6;');
+}
+
+
+.icon-bolt {
+  .ie7icon('&#xf0e7;');
+}
+
+
+.icon-sitemap {
+  .ie7icon('&#xf0e8;');
+}
+
+
+.icon-umbrella {
+  .ie7icon('&#xf0e9;');
+}
+
+
+.icon-paste {
+  .ie7icon('&#xf0ea;');
+}
+
+
+.icon-lightbulb {
+  .ie7icon('&#xf0eb;');
+}
+
+
+.icon-exchange {
+  .ie7icon('&#xf0ec;');
+}
+
+
+.icon-cloud-download {
+  .ie7icon('&#xf0ed;');
+}
+
+
+.icon-cloud-upload {
+  .ie7icon('&#xf0ee;');
+}
+
+
+.icon-user-md {
+  .ie7icon('&#xf0f0;');
+}
+
+
+.icon-stethoscope {
+  .ie7icon('&#xf0f1;');
+}
+
+
+.icon-suitcase {
+  .ie7icon('&#xf0f2;');
+}
+
+
+.icon-bell-alt {
+  .ie7icon('&#xf0f3;');
+}
+
+
+.icon-coffee {
+  .ie7icon('&#xf0f4;');
+}
+
+
+.icon-food {
+  .ie7icon('&#xf0f5;');
+}
+
+
+.icon-file-text-alt {
+  .ie7icon('&#xf0f6;');
+}
+
+
+.icon-building {
+  .ie7icon('&#xf0f7;');
+}
+
+
+.icon-hospital {
+  .ie7icon('&#xf0f8;');
+}
+
+
+.icon-ambulance {
+  .ie7icon('&#xf0f9;');
+}
+
+
+.icon-medkit {
+  .ie7icon('&#xf0fa;');
+}
+
+
+.icon-fighter-jet {
+  .ie7icon('&#xf0fb;');
+}
+
+
+.icon-beer {
+  .ie7icon('&#xf0fc;');
+}
+
+
+.icon-h-sign {
+  .ie7icon('&#xf0fd;');
+}
+
+
+.icon-plus-sign-alt {
+  .ie7icon('&#xf0fe;');
+}
+
+
+.icon-double-angle-left {
+  .ie7icon('&#xf100;');
+}
+
+
+.icon-double-angle-right {
+  .ie7icon('&#xf101;');
+}
+
+
+.icon-double-angle-up {
+  .ie7icon('&#xf102;');
+}
+
+
+.icon-double-angle-down {
+  .ie7icon('&#xf103;');
+}
+
+
+.icon-angle-left {
+  .ie7icon('&#xf104;');
+}
+
+
+.icon-angle-right {
+  .ie7icon('&#xf105;');
+}
+
+
+.icon-angle-up {
+  .ie7icon('&#xf106;');
+}
+
+
+.icon-angle-down {
+  .ie7icon('&#xf107;');
+}
+
+
+.icon-desktop {
+  .ie7icon('&#xf108;');
+}
+
+
+.icon-laptop {
+  .ie7icon('&#xf109;');
+}
+
+
+.icon-tablet {
+  .ie7icon('&#xf10a;');
+}
+
+
+.icon-mobile-phone {
+  .ie7icon('&#xf10b;');
+}
+
+
+.icon-circle-blank {
+  .ie7icon('&#xf10c;');
+}
+
+
+.icon-quote-left {
+  .ie7icon('&#xf10d;');
+}
+
+
+.icon-quote-right {
+  .ie7icon('&#xf10e;');
+}
+
+
+.icon-spinner {
+  .ie7icon('&#xf110;');
+}
+
+
+.icon-circle {
+  .ie7icon('&#xf111;');
+}
+
+
+.icon-reply {
+  .ie7icon('&#xf112;');
+}
+
+.icon-mail-reply {
+  .ie7icon('&#xf112;');
+}
+
+
+.icon-github-alt {
+  .ie7icon('&#xf113;');
+}
+
+
+.icon-folder-close-alt {
+  .ie7icon('&#xf114;');
+}
+
+
+.icon-folder-open-alt {
+  .ie7icon('&#xf115;');
+}
+
+
+.icon-expand-alt {
+  .ie7icon('&#xf116;');
+}
+
+
+.icon-collapse-alt {
+  .ie7icon('&#xf117;');
+}
+
+
+.icon-smile {
+  .ie7icon('&#xf118;');
+}
+
+
+.icon-frown {
+  .ie7icon('&#xf119;');
+}
+
+
+.icon-meh {
+  .ie7icon('&#xf11a;');
+}
+
+
+.icon-gamepad {
+  .ie7icon('&#xf11b;');
+}
+
+
+.icon-keyboard {
+  .ie7icon('&#xf11c;');
+}
+
+
+.icon-flag-alt {
+  .ie7icon('&#xf11d;');
+}
+
+
+.icon-flag-checkered {
+  .ie7icon('&#xf11e;');
+}
+
+
+.icon-terminal {
+  .ie7icon('&#xf120;');
+}
+
+
+.icon-code {
+  .ie7icon('&#xf121;');
+}
+
+
+.icon-reply-all {
+  .ie7icon('&#xf122;');
+}
+
+
+.icon-mail-reply-all {
+  .ie7icon('&#xf122;');
+}
+
+
+.icon-star-half-empty {
+  .ie7icon('&#xf123;');
+}
+
+.icon-star-half-full {
+  .ie7icon('&#xf123;');
+}
+
+
+.icon-location-arrow {
+  .ie7icon('&#xf124;');
+}
+
+
+.icon-crop {
+  .ie7icon('&#xf125;');
+}
+
+
+.icon-code-fork {
+  .ie7icon('&#xf126;');
+}
+
+
+.icon-unlink {
+  .ie7icon('&#xf127;');
+}
+
+
+.icon-question {
+  .ie7icon('&#xf128;');
+}
+
+
+.icon-info {
+  .ie7icon('&#xf129;');
+}
+
+
+.icon-exclamation {
+  .ie7icon('&#xf12a;');
+}
+
+
+.icon-superscript {
+  .ie7icon('&#xf12b;');
+}
+
+
+.icon-subscript {
+  .ie7icon('&#xf12c;');
+}
+
+
+.icon-eraser {
+  .ie7icon('&#xf12d;');
+}
+
+
+.icon-puzzle-piece {
+  .ie7icon('&#xf12e;');
+}
+
+
+.icon-microphone {
+  .ie7icon('&#xf130;');
+}
+
+
+.icon-microphone-off {
+  .ie7icon('&#xf131;');
+}
+
+
+.icon-shield {
+  .ie7icon('&#xf132;');
+}
+
+
+.icon-calendar-empty {
+  .ie7icon('&#xf133;');
+}
+
+
+.icon-fire-extinguisher {
+  .ie7icon('&#xf134;');
+}
+
+
+.icon-rocket {
+  .ie7icon('&#xf135;');
+}
+
+
+.icon-maxcdn {
+  .ie7icon('&#xf136;');
+}
+
+
+.icon-chevron-sign-left {
+  .ie7icon('&#xf137;');
+}
+
+
+.icon-chevron-sign-right {
+  .ie7icon('&#xf138;');
+}
+
+
+.icon-chevron-sign-up {
+  .ie7icon('&#xf139;');
+}
+
+
+.icon-chevron-sign-down {
+  .ie7icon('&#xf13a;');
+}
+
+
+.icon-html5 {
+  .ie7icon('&#xf13b;');
+}
+
+
+.icon-css3 {
+  .ie7icon('&#xf13c;');
+}
+
+
+.icon-anchor {
+  .ie7icon('&#xf13d;');
+}
+
+
+.icon-unlock-alt {
+  .ie7icon('&#xf13e;');
+}
+
+
+.icon-bullseye {
+  .ie7icon('&#xf140;');
+}
+
+
+.icon-ellipsis-horizontal {
+  .ie7icon('&#xf141;');
+}
+
+
+.icon-ellipsis-vertical {
+  .ie7icon('&#xf142;');
+}
+
+
+.icon-rss-sign {
+  .ie7icon('&#xf143;');
+}
+
+
+.icon-play-sign {
+  .ie7icon('&#xf144;');
+}
+
+
+.icon-ticket {
+  .ie7icon('&#xf145;');
+}
+
+
+.icon-minus-sign-alt {
+  .ie7icon('&#xf146;');
+}
+
+
+.icon-check-minus {
+  .ie7icon('&#xf147;');
+}
+
+
+.icon-level-up {
+  .ie7icon('&#xf148;');
+}
+
+
+.icon-level-down {
+  .ie7icon('&#xf149;');
+}
+
+
+.icon-check-sign {
+  .ie7icon('&#xf14a;');
+}
+
+
+.icon-edit-sign {
+  .ie7icon('&#xf14b;');
+}
+
+
+.icon-external-link-sign {
+  .ie7icon('&#xf14c;');
+}
+
+
+.icon-share-sign {
+  .ie7icon('&#xf14d;');
+}
+
+
+.icon-compass {
+  .ie7icon('&#xf14e;');
+}
+
+
+.icon-collapse {
+  .ie7icon('&#xf150;');
+}
+
+
+.icon-collapse-top {
+  .ie7icon('&#xf151;');
+}
+
+
+.icon-expand {
+  .ie7icon('&#xf152;');
+}
+
+
+.icon-eur {
+  .ie7icon('&#xf153;');
+}
+
+.icon-euro {
+  .ie7icon('&#xf153;');
+}
+
+
+.icon-gbp {
+  .ie7icon('&#xf154;');
+}
+
+
+.icon-usd {
+  .ie7icon('&#xf155;');
+}
+
+.icon-dollar {
+  .ie7icon('&#xf155;');
+}
+
+
+.icon-inr {
+  .ie7icon('&#xf156;');
+}
+
+.icon-rupee {
+  .ie7icon('&#xf156;');
+}
+
+
+.icon-jpy {
+  .ie7icon('&#xf157;');
+}
+
+.icon-yen {
+  .ie7icon('&#xf157;');
+}
+
+
+.icon-cny {
+  .ie7icon('&#xf158;');
+}
+
+.icon-renminbi {
+  .ie7icon('&#xf158;');
+}
+
+
+.icon-krw {
+  .ie7icon('&#xf159;');
+}
+
+.icon-won {
+  .ie7icon('&#xf159;');
+}
+
+
+.icon-btc {
+  .ie7icon('&#xf15a;');
+}
+
+.icon-bitcoin {
+  .ie7icon('&#xf15a;');
+}
+
+
+.icon-file {
+  .ie7icon('&#xf15b;');
+}
+
+
+.icon-file-text {
+  .ie7icon('&#xf15c;');
+}
+
+
+.icon-sort-by-alphabet {
+  .ie7icon('&#xf15d;');
+}
+
+
+.icon-sort-by-alphabet-alt {
+  .ie7icon('&#xf15e;');
+}
+
+
+.icon-sort-by-attributes {
+  .ie7icon('&#xf160;');
+}
+
+
+.icon-sort-by-attributes-alt {
+  .ie7icon('&#xf161;');
+}
+
+
+.icon-sort-by-order {
+  .ie7icon('&#xf162;');
+}
+
+
+.icon-sort-by-order-alt {
+  .ie7icon('&#xf163;');
+}
+
+
+.icon-thumbs-up {
+  .ie7icon('&#xf164;');
+}
+
+
+.icon-thumbs-down {
+  .ie7icon('&#xf165;');
+}
+
+
+.icon-youtube-sign {
+  .ie7icon('&#xf166;');
+}
+
+
+.icon-youtube {
+  .ie7icon('&#xf167;');
+}
+
+
+.icon-xing {
+  .ie7icon('&#xf168;');
+}
+
+
+.icon-xing-sign {
+  .ie7icon('&#xf169;');
+}
+
+
+.icon-youtube-play {
+  .ie7icon('&#xf16a;');
+}
+
+
+.icon-dropbox {
+  .ie7icon('&#xf16b;');
+}
+
+
+.icon-stackexchange {
+  .ie7icon('&#xf16c;');
+}
+
+
+.icon-instagram {
+  .ie7icon('&#xf16d;');
+}
+
+
+.icon-flickr {
+  .ie7icon('&#xf16e;');
+}
+
+
+.icon-adn {
+  .ie7icon('&#xf170;');
+}
+
+
+.icon-bitbucket {
+  .ie7icon('&#xf171;');
+}
+
+
+.icon-bitbucket-sign {
+  .ie7icon('&#xf172;');
+}
+
+
+.icon-tumblr {
+  .ie7icon('&#xf173;');
+}
+
+
+.icon-tumblr-sign {
+  .ie7icon('&#xf174;');
+}
+
+
+.icon-long-arrow-down {
+  .ie7icon('&#xf175;');
+}
+
+
+.icon-long-arrow-up {
+  .ie7icon('&#xf176;');
+}
+
+
+.icon-long-arrow-left {
+  .ie7icon('&#xf177;');
+}
+
+
+.icon-long-arrow-right {
+  .ie7icon('&#xf178;');
+}
+
+
+.icon-apple {
+  .ie7icon('&#xf179;');
+}
+
+
+.icon-windows {
+  .ie7icon('&#xf17a;');
+}
+
+
+.icon-android {
+  .ie7icon('&#xf17b;');
+}
+
+
+.icon-linux {
+  .ie7icon('&#xf17c;');
+}
+
+
+.icon-dribbble {
+  .ie7icon('&#xf17d;');
+}
+
+
+.icon-skype {
+  .ie7icon('&#xf17e;');
+}
+
+
+.icon-foursquare {
+  .ie7icon('&#xf180;');
+}
+
+
+.icon-trello {
+  .ie7icon('&#xf181;');
+}
+
+
+.icon-female {
+  .ie7icon('&#xf182;');
+}
+
+
+.icon-male {
+  .ie7icon('&#xf183;');
+}
+
+
+.icon-gittip {
+  .ie7icon('&#xf184;');
+}
+
+
+.icon-sun {
+  .ie7icon('&#xf185;');
+}
+
+
+.icon-moon {
+  .ie7icon('&#xf186;');
+}
+
+
+.icon-archive {
+  .ie7icon('&#xf187;');
+}
+
+
+.icon-bug {
+  .ie7icon('&#xf188;');
+}
+
+
+.icon-vk {
+  .ie7icon('&#xf189;');
+}
+
+
+.icon-weibo {
+  .ie7icon('&#xf18a;');
+}
+
+
+.icon-renren {
+  .ie7icon('&#xf18b;');
+}
+
+

http://git-wip-us.apache.org/repos/asf/couchdb/blob/add91738/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome.less
----------------------------------------------------------------------
diff --git a/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome.less b/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome.less
new file mode 100644
index 0000000..0f45461
--- /dev/null
+++ b/apps/fauxton/assets/less/bootstrap/font-awesome/font-awesome.less
@@ -0,0 +1,33 @@
+/*!
+ *  Font Awesome 3.2.1
+ *  the iconic font designed for Bootstrap
+ *  ------------------------------------------------------------------------------
+ *  The full suite of pictographic icons, examples, and documentation can be
+ *  found at http://fontawesome.io.  Stay up to date on Twitter at
+ *  http://twitter.com/fontawesome.
+ *
+ *  License
+ *  ------------------------------------------------------------------------------
+ *  - The Font Awesome font is licensed under SIL OFL 1.1 -
+ *    http://scripts.sil.org/OFL
+ *  - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
+ *    http://opensource.org/licenses/mit-license.html
+ *  - Font Awesome documentation licensed under CC BY 3.0 -
+ *    http://creativecommons.org/licenses/by/3.0/
+ *  - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
+ *    "Font Awesome by Dave Gandy - http://fontawesome.io"
+ *
+ *  Author - Dave Gandy
+ *  ------------------------------------------------------------------------------
+ *  Email: dave@fontawesome.io
+ *  Twitter: http://twitter.com/davegandy
+ *  Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ */
+
+@import "variables.less";
+@import "mixins.less";
+@import "path.less";
+@import "core.less";
+@import "bootstrap.less";
+@import "extras.less";
+@import "icons.less";


Mime
View raw message