diff --git a/examples/fonts/icons.eot b/examples/fonts/icons.eot
new file mode 100644
index 000000000..25066de06
Binary files /dev/null and b/examples/fonts/icons.eot differ
diff --git a/examples/fonts/icons.svg b/examples/fonts/icons.svg
new file mode 100644
index 000000000..b9c54d022
--- /dev/null
+++ b/examples/fonts/icons.svg
@@ -0,0 +1,450 @@
+
+
+
+
+Created by FontForge 20100429 at Thu Sep 20 22:09:47 2012
+ By root
+Copyright (C) 2012 by original authors @ fontello.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/fonts/icons.ttf b/examples/fonts/icons.ttf
new file mode 100644
index 000000000..318a2643d
Binary files /dev/null and b/examples/fonts/icons.ttf differ
diff --git a/examples/fonts/icons.woff b/examples/fonts/icons.woff
new file mode 100644
index 000000000..baba1b5eb
Binary files /dev/null and b/examples/fonts/icons.woff differ
diff --git a/examples/library/sidr.css b/examples/library/sidr.css
new file mode 100644
index 000000000..50d0685c7
--- /dev/null
+++ b/examples/library/sidr.css
@@ -0,0 +1 @@
+.sidr{display:none;position:absolute;position:fixed;top:0;height:100%;z-index:999999;width:260px;overflow-x:none;overflow-y:auto;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-size:15px;background:#f8f8f8;color:#333;-webkit-box-shadow:inset 0 0 5px 5px #ebebeb;-moz-box-shadow:inset 0 0 5px 5px #ebebeb;box-shadow:inset 0 0 5px 5px #ebebeb}.sidr .sidr-inner{padding:0 0 15px}.sidr .sidr-inner>p{margin-left:15px;margin-right:15px}.sidr.right{left:auto;right:-260px}.sidr.left{left:-260px;right:auto}.sidr h1,.sidr h2,.sidr h3,.sidr h4,.sidr h5,.sidr h6{font-size:11px;font-weight:normal;padding:0 15px;margin:0 0 5px;color:#333;line-height:24px;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #dfdfdf));background-image:-webkit-linear-gradient(#ffffff,#dfdfdf);background-image:-moz-linear-gradient(#ffffff,#dfdfdf);background-image:-o-linear-gradient(#ffffff,#dfdfdf);background-image:linear-gradient(#ffffff,#dfdfdf);-webkit-box-shadow:0 5px 5px 3px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 5px 3px rgba(0,0,0,0.2);box-shadow:0 5px 5px 3px rgba(0,0,0,0.2)}.sidr p{font-size:13px;margin:0 0 12px}.sidr p a{color:rgba(51,51,51,0.9)}.sidr>p{margin-left:15px;margin-right:15px}.sidr ul{display:block;margin:0 0 15px;padding:0;border-top:1px solid #dfdfdf;border-bottom:1px solid #fff}.sidr ul li{display:block;margin:0;line-height:48px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf}.sidr ul li:hover,.sidr ul li.active,.sidr ul li.sidr-class-active{border-top:none;line-height:49px}.sidr ul li:hover>a,.sidr ul li:hover>span,.sidr ul li.active>a,.sidr ul li.active>span,.sidr ul li.sidr-class-active>a,.sidr ul li.sidr-class-active>span{-webkit-box-shadow:inset 0 0 15px 3px #ebebeb;-moz-box-shadow:inset 0 0 15px 3px #ebebeb;box-shadow:inset 0 0 15px 3px #ebebeb}.sidr ul li a,.sidr ul li span{padding:0 15px;display:block;text-decoration:none;color:#333}.sidr ul li ul{border-bottom:none;margin:0}.sidr ul li ul li{line-height:40px;font-size:13px}.sidr ul li ul li:last-child{border-bottom:none}.sidr ul li ul li:hover,.sidr ul li ul li.active,.sidr ul li ul li.sidr-class-active{border-top:none;line-height:41px}.sidr ul li ul li:hover>a,.sidr ul li ul li:hover>span,.sidr ul li ul li.active>a,.sidr ul li ul li.active>span,.sidr ul li ul li.sidr-class-active>a,.sidr ul li ul li.sidr-class-active>span{-webkit-box-shadow:inset 0 0 15px 3px #ebebeb;-moz-box-shadow:inset 0 0 15px 3px #ebebeb;box-shadow:inset 0 0 15px 3px #ebebeb}.sidr ul li ul li a,.sidr ul li ul li span{color:rgba(51,51,51,0.8);padding-left:30px}.sidr form{margin:0 15px}.sidr label{font-size:13px}.sidr input[type="text"],.sidr input[type="password"],.sidr input[type="date"],.sidr input[type="datetime"],.sidr input[type="email"],.sidr input[type="number"],.sidr input[type="search"],.sidr input[type="tel"],.sidr input[type="time"],.sidr input[type="url"],.sidr textarea,.sidr select{width:100%;font-size:13px;padding:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;border:none;background:rgba(0,0,0,0.1);color:rgba(51,51,51,0.6);display:block;clear:both}.sidr input[type=checkbox]{width:auto;display:inline;clear:none}.sidr input[type=button],.sidr input[type=submit]{color:#f8f8f8;background:#333}.sidr input[type=button]:hover,.sidr input[type=submit]:hover{background:rgba(51,51,51,0.9)}
diff --git a/examples/library/sidr.js b/examples/library/sidr.js
new file mode 100644
index 000000000..74c3cd4b3
--- /dev/null
+++ b/examples/library/sidr.js
@@ -0,0 +1,4 @@
+/*! Sidr - v1.1.1 - 2013-03-14
+ * https://github.com/artberri/sidr
+ * Copyright (c) 2013 Alberto Varela; Licensed MIT */
+(function(e){var t=!1,i=!1,o={isUrl:function(e){var t=RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");return t.test(e)?!0:!1},loadContent:function(e,t){e.html(t)},addPrefix:function(e){var t=e.attr("id"),i=e.attr("class");"string"==typeof t&&""!==t&&e.attr("id",t.replace(/([A-Za-z0-9_.\-]+)/g,"sidr-id-$1")),"string"==typeof i&&""!==i&&"sidr-inner"!==i&&e.attr("class",i.replace(/([A-Za-z0-9_.\-]+)/g,"sidr-class-$1")),e.removeAttr("style")},execute:function(o,n,s){"function"==typeof n?(s=n,n="sidr"):n||(n="sidr");var a,d,l,c=e("#"+n),f=e(c.data("body")),u=e("html"),p=c.outerWidth(!0),y=c.data("speed"),v=c.data("side");if("open"===o||"toogle"===o&&!c.is(":visible")){if(c.is(":visible")||t)return;if(i!==!1)return r.close(i,function(){r.open(n)}),void 0;t=!0,"left"===v?(a={left:p+"px"},d={left:"0px"}):(a={right:p+"px"},d={right:"0px"}),l=u.scrollTop(),u.css("overflow-x","hidden").scrollTop(l),f.css({width:f.width(),position:"absolute"}).animate(a,y),c.css("display","block").animate(d,y,function(){t=!1,i=n,"function"==typeof s&&s(n)})}else{if(!c.is(":visible")||t)return;t=!0,"left"===v?(a={left:0},d={left:"-"+p+"px"}):(a={right:0},d={right:"-"+p+"px"}),l=u.scrollTop(),u.removeAttr("style").scrollTop(l),f.animate(a,y),c.animate(d,y,function(){c.removeAttr("style"),f.removeAttr("style"),e("html").removeAttr("style"),t=!1,i=!1,"function"==typeof s&&s(n)})}}},r={open:function(e,t){o.execute("open",e,t)},close:function(e,t){o.execute("close",e,t)},toogle:function(e,t){o.execute("toogle",e,t)}};e.sidr=function(t){return r[t]?r[t].apply(this,Array.prototype.slice.call(arguments,1)):"function"!=typeof t&&"string"!=typeof t&&t?(e.error("Method "+t+" does not exist on jQuery.sidr"),void 0):r.toogle.apply(this,arguments)},e.fn.sidr=function(t){var i=e.extend({name:"sidr",speed:200,side:"left",source:null,renaming:!0,body:"body"},t),n=i.name,s=e("#"+n);if(0===s.length&&(s=e("
").attr("id",n).appendTo(e("body"))),s.addClass("sidr").addClass(i.side).data({speed:i.speed,side:i.side,body:i.body}),"function"==typeof i.source){var a=i.source(n);o.loadContent(s,a)}else if("string"==typeof i.source&&o.isUrl(i.source))e.get(i.source,function(e){o.loadContent(s,e)});else if("string"==typeof i.source){var d="",l=i.source.split(",");if(e.each(l,function(t,i){d+=''+e(i).html()+"
"}),i.renaming){var c=e("
").html(d);c.find("*").each(function(t,i){var r=e(i);o.addPrefix(r)}),d=c.html()}o.loadContent(s,d)}else null!==i.source&&e.error("Invalid Sidr Source");return this.each(function(){var t=e(this),i=t.data("sidr");i||(t.data("sidr",n),t.click(function(e){e.preventDefault(),r.toogle(n)}))})}})(jQuery);
\ No newline at end of file
diff --git a/examples/ui/form.css b/examples/ui/form.css
new file mode 100644
index 000000000..2f9db0dad
--- /dev/null
+++ b/examples/ui/form.css
@@ -0,0 +1,409 @@
+/*--------------------
+ Form
+---------------------*/
+
+.ui.form {
+ position: relative;
+ width: 330px;
+}
+
+/* Form Controls */
+.ui.form .field {
+ clear: both;
+ margin: 0px 0px 15px;
+}
+
+/*-------------------------------
+ Simple Form (No Placeholders)
+--------------------------------*/
+
+.ui.form.simple textarea,
+.ui.form.simple input[type="text"] {
+ color: #444444;
+}
+
+/*--------------------
+ Fluid Form
+---------------------*/
+
+.ui.form.fluid {
+ width: 100%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+
+/*--------------------
+ Form Labels
+---------------------*/
+
+.ui.form .field > label {
+ margin: 0px 0px 3px;
+ display: block;
+
+ color: #555555;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 1.2;
+}
+.ui.form .field > label.inline {
+ display: inline-block;
+ margin: 0px 5px 0px 0px;
+}
+.ui.form .field > label.inline:first-child {
+ margin: 0px 0px 0px 5px;
+}
+
+.ui.form .field > label.selector {
+ display: inline;
+}
+
+/*--------------------
+ Form Inputs
+---------------------*/
+
+.ui.form textarea,
+.ui.form input[type="text"],
+.ui.form input[type="password"],
+.ui.textarea,
+.ui.input {
+ width: 100%;
+ height: 32px;
+ padding: 7px 10px;
+
+ font-size: 14px;
+
+ background-color: #FFFFFF;
+ border: 1px solid #CCCCCC;
+
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+
+ -webkit-transition: background-color 0.3s ease-out;
+ -moz-transition: background-color 0.3s ease-out;
+ -o-transition: background-color 0.3s ease-out;
+ -ms-transition: background-color 0.3s ease-out;
+ transition: background-color 0.3s ease-out;
+
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.ui.form select {
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+}
+
+.ui.form textarea {
+ height: 100px;
+ resize: vertical;
+}
+
+
+/* Input State */
+.ui.form textarea,
+.ui.form input[type="text"] {
+ color: #DADADA;
+}
+.ui.form input:focus,
+.ui.form textarea:focus {
+ color: #222222;
+ background-color: #FFFFFF;
+ border-color: #BBBBBB;
+ box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.08) inset;
+}
+.ui.form textarea.filled,
+.ui.form input.filled {
+ color: #444444;
+}
+
+.ui.form textarea,
+.ui.form input[type="checkbox"] {
+ vertical-align: top;
+}
+
+
+/*--------------------
+ Special Types
+---------------------*/
+
+.ui.form input.attached {
+ float: left;
+}
+
+.ui.form .date.field > label {
+ position: relative;
+}
+.ui.form .date.field > label:after {
+ position: absolute;
+ top: 22px;
+ right: 10px;
+
+ font-family: 'Icons';
+ content: '📅'; /* '\1f4c5' */
+ font-size: 20px;
+ font-weight: normal;
+ color: #CCCCCC;
+}
+
+.ui.large.form .date.field > label:after {
+ top: 29px;
+ font-size: 24px;
+}
+
+/*--------------------
+ Higher Contrast
+---------------------*/
+
+.ui.form.contrast label {
+ color: #FFFFFF;
+}
+.ui.form .field.error textarea,
+.ui.form .field.error input[type="text"] {
+ background-color: #FFAAAA;
+ border-color: #FF3333;
+ color: #AA5555;
+}
+.ui.form.contrast .field.error label {
+ color: #FF3333;
+}
+.ui.form.contrast .notices,
+.ui.form.contrast .errors {
+ border-color: #FF3333;
+ background-image: -webkit-linear-gradient(top , #F36666 0px, #E14242 100%);
+ background-image: -moz-linear-gradient(top , #F36666 0px, #E14242 100%);
+ background-image: -o-linear-gradient(top , #F36666 0px, #E14242 100%);
+ background-image: -ms-linear-gradient(top , #F36666 0px, #E14242 100%);
+ background-image: linear-gradient(top , #F36666 0px, #E14242 100%);
+
+ color: #FFFFFF;
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
+}
+
+/*--------------------
+ Field Groups
+---------------------*/
+
+/* Split fields */
+.ui.form .fields {
+ clear: both;
+ overflow: hidden;
+}
+.ui.form .fields .field {
+ clear: none;
+ float: left;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.ui.form .fields .field:first-child {
+ border-left: none;
+ box-shadow: none;
+}
+
+/* Other Combinations */
+.ui.form .fields .field,
+.ui.form .two.fields .field {
+ width: 50%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+
+.ui.form .three.fields .field {
+ width: 33.333%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .four.fields .field {
+ width: 25%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+.ui.form .five.fields .field {
+ width: 20%;
+ padding-left: 1%;
+ padding-right: 1%;
+}
+
+/* override sides, ie8 no last-child */
+.ui.form .fields .field:first-child {
+ padding-left: 0%;
+}
+.ui.form .fields .field:last-child {
+ padding-right: 0%;
+}
+
+
+/*--------------------
+ Inline Fields
+---------------------*/
+
+.ui.form .inline.field > :first-child {
+ margin-right: 5px;
+}
+.ui.form .inline.field label,
+.ui.form .inline.field input,
+.ui.form .inline.field select {
+ display: inline-block;
+}
+
+
+/*--------------------
+ Success Messages
+---------------------*/
+
+.ui.form .notices {
+ color: #67a210;
+
+ background-color: #ebf8d8;
+}
+
+/*--------------------
+ Error State
+---------------------*/
+
+/* Form has an error */
+.ui.form.error .errors {
+ display: block;
+}
+
+/* Form field has an error */
+.ui.form .field.error label {
+ color: #AC3A3A;
+}
+.ui.form .field.error textarea,
+.ui.form .field.error input[type="text"],
+.ui.form .field.error input[type="password"] {
+ background-color: #FFEFEF;
+ border-color: #FF9999;
+ color: #F0BBBB;
+}
+.ui.form .field.error textarea,
+.ui.form .field.error input[type="password"],
+.ui.form .field.error textarea.filled,
+.ui.form .field.error input.filled {
+ color: #AC3A3A;
+}
+.ui.form .field.error textarea:focus,
+.ui.form .field.error input:focus {
+ border-color: #E68585;
+ color: #AC3A3A;
+}
+
+/*--------------------
+ Loading State
+---------------------*/
+
+.ui.form.loading .loading,
+.ui.form.loading i.throbber {
+ display: block;
+}
+
+
+/*--------------------
+ Resizes
+---------------------*/
+
+.ui.large.form {
+ width: 440px;
+}
+.ui.large.fluid.form {
+ width: 100%;
+}
+
+.ui.large.form .field {
+ margin-bottom: 20px;
+}
+
+.ui.large.form .divider {
+ margin: 30px 0px;
+}
+
+.ui.large.form .field > label {
+ margin-bottom: 7px;
+ font-size: 14px;
+}
+.ui.large.form .field input[type="text"] {
+ height: 38px;
+ padding: 10px 12px;
+
+ font-size: 14px;
+}
+.ui.large.form .field textarea {
+ height: 140px;
+ padding: 10px 12px;
+ font-size: 14px;
+}
+
+
+/*--------------------
+ Error Messages
+---------------------*/
+
+.ui.form .notices,
+.ui.form .errors {
+ margin: 25px 0px 10px;
+
+ background-color: #F8EBEB;
+ background-image: -webkit-linear-gradient(top , #F8EBEB 0px, #F1D7D7 100%);
+ background-image: -moz-linear-gradient(top , #F8EBEB 0px, #F1D7D7 100%);
+ background-image: -o-linear-gradient(top , #F8EBEB 0px, #F1D7D7 100%);
+ background-image: -ms-linear-gradient(top , #F8EBEB 0px, #F1D7D7 100%);
+ background-image: linear-gradient(top , #F8EBEB 0px, #F1D7D7 100%);
+
+ color: #AD0000;
+ border: 1px solid #B06C6C;
+
+ padding: 7px 12px;
+
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+}
+.ui.form .errors i:before {
+ opacity: 0.8;
+ margin: 0px;
+ font-family: 'Icons';
+ content: '\2757';
+ display: inline-block;
+ font-style: normal;
+ font-weight: normal;
+ text-decoration: inherit;
+ line-height: 1;
+ margin-right: 0.3em;
+ vertical-align: middle;
+}
+.ui.form .errors i,
+.ui.form .errors .error {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.ui.form .errors h3 {
+ font-size: 18px;
+ font-weight: bold;
+}
+.ui.form .errors .error {
+ display: block;
+ margin-left: 15px;
+ line-height: 1.55;
+}
+.ui.form .errors .error.list {
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
+ margin: 5px 0px;
+ padding: 5px 0px 0px 15px;
+
+ -webkit-box-shadow: 0px -1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0px -1px rgba(0, 0, 0, 0.05);
+ box-shadow: 0px -1px rgba(0, 0, 0, 0.05);
+}
+.ui.form .errors .error.list li {
+ list-style-type: disc;
+}
\ No newline at end of file
diff --git a/examples/ui/icons.css b/examples/ui/icons.css
new file mode 100644
index 000000000..22327f398
--- /dev/null
+++ b/examples/ui/icons.css
@@ -0,0 +1,215 @@
+/*******************************
+ UI Icon
+*******************************/
+
+@font-face {
+ font-family: 'Icons';
+ src: url("/fonts/icons.eot");
+ src:
+ url("/fonts/icons.eot?#iefix") format('embedded-opentype'),
+ url("/fonts/icons.woff") format('woff'),
+ url("/fonts/icons.ttf") format('truetype'),
+ url("/fonts/icons.svg#icons") format('svg')
+ ;
+ font-weight: normal;
+ font-style: normal;
+}
+
+i.icon {
+ display: inline-block;
+
+ width: 1em;
+ height: 1em;
+
+ margin: 0px 0.2em 0px 0px;
+
+ font-style: normal;
+ line-height: 1;
+ font-weight: normal;
+ text-decoration: inherit;
+ text-align: center;
+ -webkit-font-smoothing: antialiased;
+
+ vertical-align: middle;
+}
+i.icon:before {
+ font-family: 'Icons';
+ speak: none;
+ opacity: 0.75;
+
+ vertical-align: top;
+}
+
+/* manual corrections */
+i.icon.cloud,
+i.icon.code,
+i.icon.terminal,
+i.icon.twitter-bird,
+i.icon.dollar {
+ margin-left: 0em;
+ padding-right: 0.2em;
+}
+
+i.icon.left,
+i.icon.left-open,
+i.icon.left-dir {
+ width: 1em;
+ margin: 0em 0.5em 0em 0em;
+}
+
+i.icon.up,
+i.icon.up-open,
+i.icon.up-dir,
+i.icon.down,
+i.icon.down-open,
+i.icon.down-dir,
+i.icon.right,
+i.icon.right-open,
+i.icon.right-dir {
+ width: 1em;
+ margin: 0em 0em 0em 0.1em;
+}
+/* circular icon easier to notice misaligned */
+i.icon.clock {
+ margin-top: -0.05em;
+}
+
+/* aliases for convenience */
+i.icon.close:before { content: '\e80d'; } /* '' */
+i.icon.help:before { content: '\e704'; } /* '' */
+i.icon.info:before { content: '\e705'; } /* '' */
+i.icon.error:before { content: '\e80d'; } /* '' */
+
+/* icons available */
+i.icon.asterisk:before { content: '\2731'; } /* '✱' */
+i.icon.at:before { content: '\40'; } /* '@' */
+i.icon.attach:before { content: '📎'; } /* '\1f4ce' */
+i.icon.attention-circle:before { content: '\2757'; } /* '❗' */
+i.icon.attention:before { content: '\26a0'; } /* '⚠' */
+i.icon.award:before { content: '🏉'; } /* '\1f3c9' */
+i.icon.barcode:before { content: '\e792'; } /* '' */
+i.icon.basket:before { content: '\e73d'; } /* '' */
+i.icon.basket:before { content: '\e813'; } /* '' */
+i.icon.block:before { content: '🚫'; } /* '\1f6ab' */
+i.icon.book-open:before { content: '📖'; } /* '\1f4d6' */
+i.icon.bookmark:before { content: '🔖'; } /* '\1f516' */
+i.icon.calendar:before { content: '📅'; } /* '\1f4c5' */
+i.icon.cancel-alt:before { content: '\e80d'; } /* '' */
+i.icon.cancel-circle:before { content: '\2716'; } /* '✖' */
+i.icon.cancel:before { content: '\2715'; } /* '✕' */
+i.icon.ccw:before { content: '\27f2'; } /* '⟲' */
+i.icon.chart-bar:before { content: '📊'; } /* '\1f4ca' */
+i.icon.chart-pie:before { content: '\e7a2'; } /* '' */
+i.icon.chart:before { content: '📈'; } /* '\1f4c8' */
+i.icon.chat:before { content: '\e720'; } /* '' */
+i.icon.check:before { content: '\2611'; } /* '☑' */
+i.icon.clock:before { content: '🕔'; } /* '\1f554' */
+i.icon.cloud:before { content: '\2601'; } /* '☁' */
+i.icon.code:before { content: '\e714'; } /* '' */
+i.icon.cog-alt:before { content: '\26ef'; } /* '⛯' */
+i.icon.cog:before { content: '\2699'; } /* '⚙' */
+i.icon.comment-alt:before { content: '\e802'; } /* '' */
+i.icon.comment:before { content: '\e718'; } /* '' */
+i.icon.cw:before { content: '\27f3'; } /* '⟳' */
+i.icon.direction:before { content: '\27a2'; } /* '➢' */
+i.icon.doc:before { content: '📄'; } /* '\1f4c4' */
+i.icon.docs:before { content: '\e736'; } /* '' */
+i.icon.dollar:before { content: '💵'; } /* '\1f4b5' */
+i.icon.down-dir:before { content: '\25be'; } /* '▾' */
+i.icon.down-open:before { content: '\e75c'; } /* '' */
+i.icon.down:before { content: '\2193'; } /* '↓' */
+i.icon.easel:before { content: '\e7b5'; } /* '' */
+i.icon.edit:before { content: '\270d'; } /* '✍' */
+i.icon.eject:before { content: '\2ecf'; } /* '⻏' */
+i.icon.export:before { content: '\e715'; } /* '' */
+i.icon.eye:before { content: '\e80f'; } /* '' */
+i.icon.eye-off:before { content: '\e70b'; } /* '' */
+i.icon.facebook-rect:before { content: '\f301'; } /* '' */
+i.icon.fast-fw-alt:before { content: '\e804'; } /* '' */
+i.icon.fire:before { content: '🔥'; } /* '\1f525' */
+i.icon.flag:before { content: '\2691'; } /* '⚑' */
+i.icon.flash:before { content: '\26a1'; } /* '⚡' */
+i.icon.flash-alt:before { content: '\e815'; } /* '' */
+i.icon.flask:before { content: '\68'; } /* 'h' */
+i.icon.flight:before { content: '\2708'; } /* '✈' */
+i.icon.folder-open:before { content: '📂'; } /* '\1f4c2' */
+i.icon.folder:before { content: '\e810'; } /* '' */
+i.icon.forward:before { content: '\27a6'; } /* '➦' */
+i.icon.gift:before { content: '🎁'; } /* '\1f381' */
+i.icon.github:before { content: '\f308'; } /* '' */
+i.icon.globe:before { content: '\e817'; } /* '' */
+i.icon.globe-alt:before { content: '🌐'; } /* '\1f310' */
+i.icon.globe:before { content: '𝌍'; } /* '\1d30d' */
+i.icon.headphones:before { content: '🎧'; } /* '\1f3a7' */
+i.icon.heart-empty:before { content: '\2661'; } /* '♡' */
+i.icon.heart:before { content: '\2665'; } /* '♥' */
+i.icon.help-circle:before { content: '\e704'; } /* '' */
+i.icon.question:before { content: '\2753'; } /* '❓' */
+i.icon.home-alt:before { content: '\e80e'; } /* '' */
+i.icon.home:before { content: '\2302'; } /* '⌂' */
+i.icon.info-circle:before { content: '\e705'; } /* '' */
+i.icon.i-letter:before { content: '\2139'; } /* 'ℹ' */
+i.icon.lamp:before { content: '💡'; } /* '\1f4a1' */
+i.icon.left-dir:before { content: '\25c2'; } /* '◂' */
+i.icon.left-open:before { content: '\e75d'; } /* '' */
+i.icon.left:before { content: '\2190'; } /* '←' */
+i.icon.link:before { content: '🔗'; } /* '\1f517' */
+i.icon.list:before { content: '\e782'; } /* '' */
+i.icon.location-alt:before { content: '\e811'; } /* '' */
+i.icon.location:before { content: '\e724'; } /* '' */
+i.icon.lock-open:before { content: '🔓'; } /* '\1f513' */
+i.icon.lock:before { content: '🔒'; } /* '\1f512' */
+i.icon.mail:before { content: '\2709'; } /* '✉' */
+i.icon.mic:before { content: '🎤'; } /* '\1f3a4' */
+i.icon.minus:before { content: '\2d'; } /* '-' */
+i.icon.money:before { content: '💰'; } /* '\1f4b0' */
+i.icon.off:before { content: '\e78e'; } /* '' */
+i.icon.pause-alt:before { content: '\e808'; } /* '' */
+i.icon.picture-alt:before { content: '\e812'; } /* '' */
+i.icon.picture:before { content: '🌄'; } /* '\1f304' */
+i.icon.pin:before { content: '📌'; } /* '\1f4cc' */
+i.icon.play-alt:before { content: '\e809'; } /* '' */
+i.icon.plus-circle:before { content: '\2795'; } /* '➕' */
+i.icon.plus:before { content: '\2b'; } /* '+' */
+i.icon.print:before { content: '\e716'; } /* '' */
+i.icon.resize-full:before { content: '\e744'; } /* '' */
+i.icon.resize-horizontal:before { content: '\2b0d'; } /* '⬍' */
+i.icon.resize-small:before { content: '\e746'; } /* '' */
+i.icon.resize-vertical:before { content: '\2b0c'; } /* '⬌' */
+i.icon.right-dir:before { content: '\25b8'; } /* '▸' */
+i.icon.right-open:before { content: '\e75e'; } /* '' */
+i.icon.right:before { content: '\2192'; } /* '→' */
+i.icon.rss:before { content: '\e73a'; } /* '' */
+i.icon.search:before { content: '🔍'; } /* '\1f50d' */
+i.icon.shuffle-alt:before { content: '\e803'; } /* '' */
+i.icon.star:before { content: '\e801'; } /* '' */
+i.icon.star-empty:before { content: '\e800'; } /* '' */
+i.icon.star-half:before { content: '\e701'; } /* '' */
+i.icon.stop:before { content: '\e807'; } /* '' */
+i.icon.tag:before { content: '\e80a'; } /* '' */
+i.icon.tags:before { content: '\e70d'; } /* '' */
+i.icon.terminal:before { content: '\e7ac'; } /* '' */
+i.icon.th-alt:before { content: '\e80c'; } /* '' */
+i.icon.th-large:before { content: '\e708'; } /* '' */
+i.icon.th-list:before { content: '\e80b'; } /* '' */
+i.icon.thumbs-down:before { content: '👎'; } /* '\1f44e' */
+i.icon.thumbs-up:before { content: '👍'; } /* '\1f44d' */
+i.icon.tint:before { content: '\e794'; } /* '' */
+i.icon.to-end-alt:before { content: '\e762'; } /* '' */
+i.icon.to-end-alt:before { content: '\e806'; } /* '' */
+i.icon.to-start-alt:before { content: '\e763'; } /* '' */
+i.icon.to-start-alt:before { content: '\e805'; } /* '' */
+i.icon.top-list:before { content: '🏆'; } /* '\1f3c6' */
+i.icon.trash:before { content: '\e729'; } /* '' */
+i.icon.twitter-bird:before { content: '\f303'; } /* '' */
+i.icon.up-dir:before { content: '\25b4'; } /* '▴' */
+i.icon.up-open:before { content: '\e75f'; } /* '' */
+i.icon.up:before { content: '\2191'; } /* '↑' */
+i.icon.upload-cloud:before { content: '\e711'; } /* '' */
+i.icon.user-add:before { content: '\e700'; } /* '' */
+i.icon.user:before { content: '👤'; } /* '\1f464' */
+i.icon.users-alt:before { content: '\e814'; } /* '' */
+i.icon.users:before { content: '👥'; } /* '\1f465' */
+i.icon.vcard:before { content: '\e722'; } /* '' */
+i.icon.zoom-in:before { content: '\e750'; } /* '' */
+i.icon.zoom-out:before { content: '\e751'; } /* '' */
diff --git a/images/heroku.png b/images/heroku.png
new file mode 100644
index 000000000..06ee22dd5
Binary files /dev/null and b/images/heroku.png differ
diff --git a/images/jira.png b/images/jira.png
new file mode 100644
index 000000000..ac48489f2
Binary files /dev/null and b/images/jira.png differ
diff --git a/images/quirky.png b/images/quirky.png
new file mode 100644
index 000000000..3d31fbc5c
Binary files /dev/null and b/images/quirky.png differ
diff --git a/images/ui/button-error.gif b/images/ui/button-error.gif
new file mode 100644
index 000000000..0615c1626
Binary files /dev/null and b/images/ui/button-error.gif differ
diff --git a/images/ui/footnote.png b/images/ui/footnote.png
new file mode 100644
index 000000000..c13a1f233
Binary files /dev/null and b/images/ui/footnote.png differ
diff --git a/images/ui/loader-generic-transparent.gif b/images/ui/loader-generic-transparent.gif
new file mode 100644
index 000000000..74c9d63f3
Binary files /dev/null and b/images/ui/loader-generic-transparent.gif differ
diff --git a/images/ui/notecard-stripes.png b/images/ui/notecard-stripes.png
new file mode 100644
index 000000000..57b1c37a7
Binary files /dev/null and b/images/ui/notecard-stripes.png differ
diff --git a/images/ui/paperclip.png b/images/ui/paperclip.png
new file mode 100644
index 000000000..82edf737d
Binary files /dev/null and b/images/ui/paperclip.png differ
diff --git a/images/ui/placeholder-subtle.png b/images/ui/placeholder-subtle.png
new file mode 100644
index 000000000..a69787855
Binary files /dev/null and b/images/ui/placeholder-subtle.png differ
diff --git a/images/ui/placeholder-tiny.png b/images/ui/placeholder-tiny.png
new file mode 100644
index 000000000..e936460e6
Binary files /dev/null and b/images/ui/placeholder-tiny.png differ
diff --git a/images/ui/placeholder.png b/images/ui/placeholder.png
new file mode 100644
index 000000000..b635fa2ce
Binary files /dev/null and b/images/ui/placeholder.png differ
diff --git a/images/ui/throbber-blue-large.gif b/images/ui/throbber-blue-large.gif
new file mode 100644
index 000000000..d0ac895ea
Binary files /dev/null and b/images/ui/throbber-blue-large.gif differ
diff --git a/images/ui/throbber-blue-medium.gif b/images/ui/throbber-blue-medium.gif
new file mode 100644
index 000000000..89dfc9137
Binary files /dev/null and b/images/ui/throbber-blue-medium.gif differ
diff --git a/images/ui/throbber-blue-small.gif b/images/ui/throbber-blue-small.gif
new file mode 100644
index 000000000..5ebe9a217
Binary files /dev/null and b/images/ui/throbber-blue-small.gif differ
diff --git a/images/ui/throbber-blue-tiny.gif b/images/ui/throbber-blue-tiny.gif
new file mode 100644
index 000000000..43475d481
Binary files /dev/null and b/images/ui/throbber-blue-tiny.gif differ
diff --git a/images/ui/throbber-large.gif b/images/ui/throbber-large.gif
new file mode 100644
index 000000000..965fcbcd8
Binary files /dev/null and b/images/ui/throbber-large.gif differ
diff --git a/images/ui/throbber-medium-white.gif b/images/ui/throbber-medium-white.gif
new file mode 100644
index 000000000..010e29eae
Binary files /dev/null and b/images/ui/throbber-medium-white.gif differ
diff --git a/images/ui/throbber-medium.gif b/images/ui/throbber-medium.gif
new file mode 100644
index 000000000..ae34460f9
Binary files /dev/null and b/images/ui/throbber-medium.gif differ
diff --git a/images/ui/throbber-small.gif b/images/ui/throbber-small.gif
new file mode 100644
index 000000000..d9a6760a4
Binary files /dev/null and b/images/ui/throbber-small.gif differ
diff --git a/images/ui/throbber-tiny.gif b/images/ui/throbber-tiny.gif
new file mode 100644
index 000000000..1ca21e60e
Binary files /dev/null and b/images/ui/throbber-tiny.gif differ