diff --git a/.themes/oscailte b/.themes/oscailte
new file mode 160000
index 00000000000..0844f3dd9e1
--- /dev/null
+++ b/.themes/oscailte
@@ -0,0 +1 @@
+Subproject commit 0844f3dd9e1747f1bd6b7b803c04dc3733c36d78
diff --git a/Rakefile b/Rakefile
index c7ad5049fc8..947b2a4bf15 100644
--- a/Rakefile
+++ b/Rakefile
@@ -9,16 +9,16 @@ ssh_port = "22"
document_root = "~/website.com/"
rsync_delete = false
rsync_args = "" # Any extra arguments to pass to rsync
-deploy_default = "rsync"
+deploy_default = "push"
# This will be configured for you when you run config_deploy
deploy_branch = "gh-pages"
## -- Misc Configs -- ##
-public_dir = "public" # compiled site directory
+public_dir = "public/" # compiled site directory
source_dir = "source" # source file directory
-blog_index_dir = 'source' # directory for your blog's index page (if you put your index in source/blog/index.html, set this to 'source/blog')
+blog_index_dir = 'source/blog' # directory for your blog's index page (if you put your index in source/blog/index.html, set this to 'source/blog')
deploy_dir = "_deploy" # deploy directory (for Github pages deployment)
stash_dir = "_stash" # directory to stash posts for speedy generation
posts_dir = "_posts" # directory for blog files
diff --git a/_config.yml b/_config.yml
index c1d56f4fa07..19c6db446e4 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,13 +1,14 @@
+# See options at https://github.com/coogie/oscailte
# ----------------------- #
# Main Configs #
# ----------------------- #
-url: http://yoursite.com
-title: My Octopress Blog
-subtitle: A blogging framework for hackers.
-author: Your Name
+url: https://home-assistant.io
+title: Home Assistant
+subtitle: Open-source home automation platform running on Python 3
+author: Paulus Schoutsen
simple_search: https://www.google.com/search
-description:
+description: Home Assistant is an open-source home automation platform running on Python 3.
# Default date format is "ordinal" (resulting in "July 22nd 2007")
# You can customize the format as defined in
@@ -29,7 +30,7 @@ email:
root: /
permalink: /blog/:year/:month/:day/:title/
source: source
-destination: public
+destination: public/
plugins: plugins
code_dir: downloads/code
category_dir: blog/categories
@@ -70,7 +71,7 @@ github_show_profile_link: true
github_skip_forks: true
# Twitter
-twitter_user:
+twitter_user: balloob
twitter_tweet_button: true
# Google +1
@@ -79,8 +80,8 @@ google_plus_one_size: medium
# Google Plus Profile
# Hidden: No visible button, just add author information to search results
-googleplus_user:
-googleplus_hidden: false
+googleplus_user: +PaulusSchoutsen
+googleplus_hidden: true
# Pinboard
pinboard_user:
@@ -99,3 +100,6 @@ google_analytics_tracking_id:
# Facebook Like
facebook_like: false
+
+social:
+ visible: false
diff --git a/sass/_base.scss b/sass/_base.scss
new file mode 100644
index 00000000000..05fdd005cbe
--- /dev/null
+++ b/sass/_base.scss
@@ -0,0 +1,5 @@
+@import "base/utilities";
+@import "base/solarized";
+@import "base/theme";
+@import "base/typography";
+@import "base/layout";
diff --git a/sass/_partials.scss b/sass/_partials.scss
new file mode 100644
index 00000000000..99c28b6378c
--- /dev/null
+++ b/sass/_partials.scss
@@ -0,0 +1,8 @@
+@import "partials/header";
+@import "partials/navigation";
+@import "partials/blog";
+@import "partials/sharing";
+@import "partials/syntax";
+@import "partials/archive";
+@import "partials/sidebar";
+@import "partials/footer";
diff --git a/sass/base/_layout.scss b/sass/base/_layout.scss
new file mode 100644
index 00000000000..81903428f5c
--- /dev/null
+++ b/sass/base/_layout.scss
@@ -0,0 +1,192 @@
+$max-width: 1200px !default;
+
+// Padding used for layout margins
+$pad-min: 18px !default;
+$pad-narrow: 25px !default;
+$pad-medium: 35px !default;
+$pad-wide: 55px !default;
+
+// Sidebar widths used in media queries
+$sidebar-width-medium: 240px !default;
+$sidebar-pad-medium: 15px !default;
+$sidebar-pad-wide: 20px !default;
+$sidebar-width-wide: 300px !default;
+
+$indented-lists: false !default;
+
+$header-font-size: 1em !default;
+$header-padding-top: 1.5em !default;
+$header-padding-bottom: 1.5em !default;
+
+.group { @include pie-clearfix; }
+
+@mixin collapse-sidebar {
+ float: none;
+ width: auto;
+ clear: left;
+ margin: 0;
+ padding: 0 $pad-medium 1px;
+ background-color: lighten($sidebar-bg, 2);
+ border-top: 1px solid lighten($sidebar-border, 4);
+ section {
+ &.odd, &.even { float: left; width: 48%; }
+ &.odd { margin-left: 0; }
+ &.even { margin-left: 4%; }
+ }
+ &.thirds section {
+ width: 30%;
+ margin-left: 5%;
+ &.first {
+ margin-left: 0;
+ clear: both;
+ }
+ }
+}
+
+body {
+ -webkit-text-size-adjust: none;
+ max-width: $max-width;
+ position: relative;
+ margin: 0 auto;
+ > header, > nav, > footer, #content > article, #content > div > article, #content > div > section {
+ @extend .group;
+ padding-left: $pad-min;
+ padding-right: $pad-min;
+ @media only screen and (min-width: 480px) {
+ padding-left: $pad-narrow;
+ padding-right: $pad-narrow;
+ }
+ @media only screen and (min-width: 768px) {
+ padding-left: $pad-medium;
+ padding-right: $pad-medium;
+ }
+ @media only screen and (min-width: 992px) {
+ padding-left: $pad-wide;
+ padding-right: $pad-wide;
+ }
+ }
+ div.pagination {
+ @extend .group;
+ margin-left: $pad-min;
+ margin-right: $pad-min;
+ @media only screen and (min-width: 480px) {
+ margin-left: $pad-narrow;
+ margin-right: $pad-narrow;
+ }
+ @media only screen and (min-width: 768px) {
+ margin-left: $pad-medium;
+ margin-right: $pad-medium;
+ }
+ @media only screen and (min-width: 992px) {
+ margin-left: $pad-wide;
+ margin-right: $pad-wide;
+ }
+ }
+ > header {
+ font-size: $header-font-size;
+ padding-top: $header-padding-top;
+ padding-bottom: $header-padding-bottom;
+ }
+}
+
+#content {
+ overflow: hidden;
+ > div, > article { width: 100%; }
+}
+
+aside.sidebar {
+ float: none;
+ padding: 0 $pad-min 1px;
+ background-color: lighten($sidebar-bg, 2);
+ border-top: 1px solid $sidebar-border;
+ @extend .group;
+}
+
+.flex-content { max-width: 100%; height: auto; }
+
+.basic-alignment {
+ &.left { float: left; margin-right: 1.5em; }
+ &.right { float: right; margin-left: 1.5em; }
+ &.center { display:block; margin: 0 auto 1.5em; }
+ &.left, &.right { margin-bottom: .8em; }
+}
+
+.toggle-sidebar { &, .no-sidebar & { display: none; }}
+
+body.sidebar-footer {
+ @media only screen and (min-width: 750px) {
+ aside.sidebar{ @include collapse-sidebar; }
+ }
+ #content { margin-right: 0px; }
+ .toggle-sidebar { display: none; }
+}
+
+@media only screen and (min-width: 550px) {
+ body > header { font-size: $header-font-size; }
+}
+@media only screen and (min-width: 750px) {
+ aside.sidebar { @include collapse-sidebar; }
+}
+#main, #content, .sidebar {
+ @extend .group;
+}
+@media only screen and (min-width: 768px) {
+ body { -webkit-text-size-adjust: auto; }
+ body > header { font-size: $header-font-size * 1.2; }
+ #main {
+ padding: 0;
+ margin: 0 auto;
+ }
+ #content {
+ overflow: visible;
+ margin-right: $sidebar-width-medium;
+ position: relative;
+ .no-sidebar & { margin-right: 0; border-right: 0; }
+ .collapse-sidebar & { margin-right: 20px; }
+ > div, > article {
+ padding-top: $pad-medium/2;
+ padding-bottom: $pad-medium/2;
+ float: left;
+ }
+ }
+ aside.sidebar {
+ width: $sidebar-width-medium - $sidebar-pad-medium*2;
+ padding: 0 $sidebar-pad-medium $sidebar-pad-medium;
+ background: none;
+ clear: none;
+ float: left;
+ margin: 0 -100% 0 0;
+ section {
+ width: auto; margin-left: 0;
+ &.odd, &.even { float: none; width: auto; margin-left: 0; }
+ }
+ .collapse-sidebar & {
+ @include collapse-sidebar;
+ }
+ }
+}
+
+@media only screen and (min-width: 992px) {
+ body > header { font-size: $header-font-size * 1.3; }
+ #content { margin-right: $sidebar-width-wide; }
+ #content {
+ > div, > article {
+ padding-top: $pad-wide/2;
+ padding-bottom: $pad-wide/2;
+ }
+ }
+ aside.sidebar {
+ width: $sidebar-width-wide - $sidebar-pad-wide*2;
+ padding: 1.2em $sidebar-pad-wide $sidebar-pad-wide;
+ .collapse-sidebar & {
+ padding: { left: $pad-wide; right: $pad-wide; }
+ }
+ }
+}
+
+@if $indented-lists == false {
+ @media only screen and (min-width: 768px) {
+ ul, ol { margin-left: 0; }
+ }
+}
+
diff --git a/sass/base/_solarized.scss b/sass/base/_solarized.scss
new file mode 100644
index 00000000000..45d8fc5eff3
--- /dev/null
+++ b/sass/base/_solarized.scss
@@ -0,0 +1,46 @@
+$base03: #002b36 !default; //darkest blue
+$base02: #073642 !default; //dark blue
+$base01: #586e75 !default; //darkest gray
+$base00: #657b83 !default; //dark gray
+$base0: #839496 !default; //medium gray
+$base1: #93a1a1 !default; //medium light gray
+$base2: #eee8d5 !default; //cream
+$base3: #fdf6e3 !default; //white
+$solar-yellow: #b58900 !default;
+$solar-orange: #cb4b16 !default;
+$solar-red: #dc322f !default;
+$solar-magenta: #d33682 !default;
+$solar-violet: #6c71c4 !default;
+$solar-blue: #268bd2 !default;
+$solar-cyan: #2aa198 !default;
+$solar-green: #859900 !default;
+
+$solarized: dark !default;
+
+@if $solarized == light {
+
+ $_base03: $base03;
+ $_base02: $base02;
+ $_base01: $base01;
+ $_base00: $base00;
+ $_base0: $base0;
+ $_base1: $base1;
+ $_base2: $base2;
+ $_base3: $base3;
+
+ $base03: $_base3;
+ $base02: $_base2;
+ $base01: $_base1;
+ $base00: $_base0;
+ $base0: $_base00;
+ $base1: $_base01;
+ $base2: $_base02;
+ $base3: $_base03;
+}
+
+/* non highlighted code colors */
+$pre-bg: $base03 !default;
+$pre-border: darken($base02, 5) !default;
+$pre-color: $base1 !default;
+
+
diff --git a/sass/base/_theme.scss b/sass/base/_theme.scss
new file mode 100644
index 00000000000..c35136d5ac9
--- /dev/null
+++ b/sass/base/_theme.scss
@@ -0,0 +1,85 @@
+$noise-bg: image-url('noise.png') top left !default;
+$img-border: inline-image('dotted-border.png') !default;
+
+// Main Link Colors
+$link-color: lighten(#165b94, 3) !default;
+$link-color-hover: adjust-color($link-color, $lightness: 10, $saturation: 25) !default;
+$link-color-visited: adjust-color($link-color, $hue: 80, $lightness: -4) !default;
+$link-color-active: adjust-color($link-color-hover, $lightness: -15) !default;
+
+// Main Section Colors
+$main-bg: #f8f8f8 !default;
+$page-bg: #252525 !default;
+$article-border: #eeeeee !default;
+
+$header-bg: #333 !default;
+$header-border: lighten($header-bg, 15) !default;
+$title-color: #f2f2f2 !default;
+$subtitle-color: #aaa !default;
+
+$text-color: #222 !default;
+$text-color-light: #aaa !default;
+$type-border: #ddd !default;
+
+/* Navigation */
+$nav-bg: #ccc !default;
+$nav-bg-front: image-url('noise.png') !default;
+$nav-bg-back: linear-gradient(lighten($nav-bg, 8), $nav-bg, darken($nav-bg, 11)) !default;
+$nav-color: darken($nav-bg, 38) !default;
+$nav-color-hover: darken($nav-color, 25) !default;
+$nav-placeholder: desaturate(darken($nav-bg, 10), 15) !default;
+$nav-border: darken($nav-bg, 10) !default;
+$nav-border-top: lighten($nav-bg, 15) !default;
+$nav-border-bottom: darken($nav-bg, 25) !default;
+$nav-border-left: darken($nav-bg, 11) !default;
+$nav-border-right: lighten($nav-bg, 7) !default;
+
+/* Sidebar colors */
+$sidebar-bg: #f2f2f2 !default;
+$sidebar-link-color: $text-color !default;
+$sidebar-link-color-hover: $link-color-hover !default;
+$sidebar-link-color-active: $link-color-active !default;
+$sidebar-color: change-color(mix($text-color, $sidebar-bg, 80), $hue: hue($sidebar-bg), $saturation: saturation($sidebar-bg)/2) !default;
+$sidebar-border: desaturate(darken($sidebar-bg, 7), 10) !default;
+$sidebar-border-hover: darken($sidebar-bg, 7) !default;
+$sidebar-link-color-subdued: lighten($sidebar-color, 20) !default;
+$sidebar-link-color-subdued-hover: $sidebar-link-color-hover !default;
+
+$footer-color: #888 !default;
+$footer-bg: #ccc !default;
+$footer-bg-front: image-url('noise.png') !default;
+$footer-bg-back: linear-gradient(lighten($footer-bg, 8), $footer-bg, darken($footer-bg, 11)) !default;
+$footer-color: darken($footer-bg, 38) !default;
+$footer-color-hover: darken($footer-color, 10) !default;
+$footer-border-top: lighten($footer-bg, 15) !default;
+$footer-border-bottom: darken($footer-bg, 15) !default;
+$footer-link-color: darken($footer-bg, 38) !default;
+$footer-link-color-hover: darken($footer-color, 25) !default;
+$page-border-bottom: darken($footer-bg, 5) !default;
+
+
+/* Core theme application */
+
+a {
+ @include link-colors($link-color, $hover: $link-color-hover, $focus: $link-color-hover, $visited: $link-color-visited, $active: $link-color-active);
+}
+aside.sidebar a {
+ @include link-colors($sidebar-link-color, $hover: $sidebar-link-color-hover, $focus: $sidebar-link-color-hover, $active: $sidebar-link-color-active);
+}
+a {
+ @include transition(color .3s);
+}
+
+html {
+ background: $page-bg image-url('line-tile.png') top left;
+}
+body {
+ > div {
+ background: $sidebar-bg $noise-bg;
+ border-bottom: 1px solid $page-border-bottom;
+ > div {
+ background: $main-bg $noise-bg;
+ border-right: 1px solid $sidebar-border;
+ }
+ }
+}
diff --git a/sass/base/_typography.scss b/sass/base/_typography.scss
new file mode 100644
index 00000000000..9a6bbacd2a2
--- /dev/null
+++ b/sass/base/_typography.scss
@@ -0,0 +1,164 @@
+$blockquote: $type-border !default;
+$sans: "PT Sans", "Helvetica Neue", Arial, sans-serif !default;
+$serif: "PT Serif", Georgia, Times, "Times New Roman", serif !default;
+$mono: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace !default;
+$heading-font-family: "PT Serif", "Georgia", "Helvetica Neue", Arial, sans-serif !default;
+$header-title-font-family: $heading-font-family !default;
+$header-subtitle-font-family: $heading-font-family !default;
+
+// Fonts
+.heading {
+ font-family: $heading-font-family;
+}
+.sans { font-family: $sans; }
+.serif { font-family: $serif; }
+.mono { font-family: $mono; }
+
+body > header h1 {
+ font-size: 2.2em;
+ @extend .heading;
+ font-family: $header-title-font-family;
+ font-weight: normal;
+ line-height: 1.2em;
+ margin-bottom: 0.6667em;
+}
+body > header h2 {
+ font-family: $header-subtitle-font-family;
+}
+
+body {
+ line-height: 1.5em;
+ color: $text-color;
+ @extend .serif;
+}
+h1 {
+ font-size: 2.2em;
+ line-height: 1.2em;
+}
+
+@media only screen and (min-width: 992px) {
+ body { font-size: 1.15em; }
+ h1 { font-size: 2.6em; line-height: 1.2em; }
+}
+
+#{headings()}{
+ @extend .heading;
+ text-rendering: optimizelegibility;
+ margin-bottom: 1em;
+ font-weight: bold;
+}
+h2, section h1 {
+ font-size: 1.5em;
+}
+h3, section h2, section section h1 {
+ font-size: 1.3em;
+}
+h4, section h3, section section h2, section section section h1 {
+ font-size: 1em;
+}
+h5, section h4, section section h3 {
+ font-size: .9em;
+}
+h6, section h5, section section h4, section section section h3 {
+ font-size: .8em;
+}
+
+p, article blockquote, ul, ol { margin-bottom: 1.5em; }
+
+ul { list-style-type: disc;
+ ul { list-style-type: circle; margin-bottom: 0px;
+ ul { list-style-type: square; margin-bottom: 0px; }}}
+
+ol { list-style-type: decimal;
+ ol { list-style-type: lower-alpha; margin-bottom: 0px;
+ ol { list-style-type: lower-roman; margin-bottom: 0px; }}}
+
+ul, ol { &, ul, ol { margin-left: 1.3em; }}
+ul, ol { ul, ol { margin-bottom: 0em; }}
+
+strong { font-weight: bold; }
+
+em { font-style: italic; }
+
+sup, sub { font-size: 0.75em; position: relative; display: inline-block; padding: 0 .2em; line-height: .8em;}
+sup { top: -.5em; }
+sub { bottom: -.5em; }
+
+a[rev='footnote']{ font-size: .75em; padding: 0 .3em; line-height: 1; }
+
+q { font-style: italic;
+ &:before { content: "\201C"; }
+ &:after { content: "\201D"; }
+}
+
+em, dfn { font-style: italic; }
+
+strong, dfn { font-weight: bold; }
+
+del, s { text-decoration: line-through; }
+
+abbr, acronym { border-bottom: 1px dotted; cursor: help; }
+
+pre, code, tt { @extend .mono; }
+
+hr { margin-bottom: 0.2em; }
+
+small { font-size: .8em; }
+
+big { font-size: 1.2em; }
+
+article blockquote {
+ $bq-margin: 1.2em;
+ font-style: italic;
+ position: relative;
+ font-size: 1.2em;
+ line-height: 1.5em;
+ padding-left: 1em;
+ border-left: 4px solid rgba($text-color-light, .5);
+ cite {
+ font-style: italic;
+ a { color: $text-color-light !important; word-wrap: break-word; }
+ &:before { content: '\2014'; padding:{right: .3em; left: .3em;} color: $text-color-light; }
+ }
+ @media only screen and (min-width: 992px) {
+ padding-left: 1.5em;
+ border-left-width: 4px;
+ }
+}
+
+.pullquote-right:before,
+.pullquote-left:before {
+ /* Reset metrics. */
+ padding: 0;
+ border: none;
+
+ /* Content */
+ content: attr(data-pullquote);
+
+ /* Pull out to the right, modular scale based margins. */
+ float: right;
+ width: 45%;
+ margin: .5em 0 1em 1.5em;
+
+ /* Baseline correction */
+ position: relative;
+ top: 7px;
+ font-size: 1.4em;
+ line-height: 1.45em;
+}
+
+.pullquote-left:before {
+ /* Make left pullquotes align properly. */
+ float: left;
+ margin: .5em 1.5em 1em 0;
+}
+
+/* @extend this to force long lines of continuous text to wrap */
+.force-wrap {
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
diff --git a/sass/base/_utilities.scss b/sass/base/_utilities.scss
new file mode 100644
index 00000000000..2d49e659e74
--- /dev/null
+++ b/sass/base/_utilities.scss
@@ -0,0 +1,28 @@
+@mixin mask-image($img, $repeat: no-repeat){
+ @include experimental(mask-image, image-url($img), -webkit, -moz, -o, -ms);
+ @include experimental(mask-repeat, $repeat, -webkit, -moz, -o, -ms);
+ width: image-width($img);
+ height: image-height($img);
+}
+
+@mixin shadow-box($border: #fff .5em solid, $shadow: rgba(#000, .15) 0 1px 4px, $border-radius: .3em) {
+ @include border-radius($border-radius);
+ @include box-shadow($shadow);
+ @include box-sizing(border-box);
+ border: $border;
+}
+
+@mixin selection($bg, $color: inherit, $text-shadow: none){
+ * {
+ &::-moz-selection { background: $bg; color: $color; text-shadow: $text-shadow; }
+ &::-webkit-selection { background: $bg; color: $color; text-shadow: $text-shadow; }
+ &::selection { background: $bg; color: $color; text-shadow: $text-shadow; }
+ }
+}
+
+@function text-color($color, $dark: dark, $light: light){
+ $text-color: ( (red($color)*299) + (green($color)*587) + (blue($color)*114) ) / 1000;
+ $text-color: if($text-color >= 150, $dark, $light);
+ @return $text-color;
+}
+
diff --git a/sass/custom/_colors.scss b/sass/custom/_colors.scss
new file mode 100644
index 00000000000..23af5e739d0
--- /dev/null
+++ b/sass/custom/_colors.scss
@@ -0,0 +1,49 @@
+// Here you can easily change your sites's color scheme.
+// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works.
+// If you need a handy color picker try http://hslpicker.com
+
+$header-bg: #fff;
+//$subtitle-color: lighten($header-bg, 58);
+$nav-bg: #fff;
+$nav-bg-front: none;
+$nav-bg-back: #fff;
+//$sidebar-bg: desaturate(#eceff5, 8);
+//$sidebar-link-color: saturate(#526f9a, 10);
+//$sidebar-link-color-hover: darken(#7ab662, 9);
+$footer-bg: #fff;
+$footer-bg-front: #fff;
+$footer-bg-back: #fff;
+
+/* To use the light Solarized highlighting theme uncomment the following line */
+//$solarized: light;
+
+/* If you want to tweak the Solarized colors you can do that here */
+//$base03: #002b36; //darkest blue
+//$base02: #073642; //dark blue
+//$base01: #586e75; //darkest gray
+//$base00: #657b83; //dark gray
+//$base0: #839496; //medium gray
+//$base1: #93a1a1; //medium light gray
+//$base2: #eee8d5; //cream
+//$base3: #fdf6e3; //white
+//$solar-yellow: #b58900;
+//$solar-orange: #cb4b16;
+//$solar-red: #dc322f;
+//$solar-magenta: #d33682;
+//$solar-violet: #6c71c4;
+//$solar-blue: #268bd2;
+//$solar-cyan: #2aa198;
+//$solar-green: #859900;
+
+
+/* Non highlighted code colors */
+//$pre-bg: $base03;
+//$pre-border: darken($base02, 5);
+//$pre-color: $base1;
+
+$main-bg: #fff;
+$page-bg: #fff;
+$link-color: #268bd2;
+$nav-color: $link-color;
+$link-color-visited:darken($nav-color, 25);
+$title-color: $link-color;
diff --git a/sass/custom/_fonts.scss b/sass/custom/_fonts.scss
new file mode 100644
index 00000000000..0d51f6843a5
--- /dev/null
+++ b/sass/custom/_fonts.scss
@@ -0,0 +1,10 @@
+// Here you can easily change font faces which are used in your site.
+// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works. your sites's.
+// If you love to use Web Fonts, you also need to add some lines to source/_includes/custom/head.html
+
+$sans: "Open Sans", sans-serif;
+$serif: "Noto Serif", serif;
+//$mono: "Courier", monospace;
+$heading-font-family: $sans;
+//$header-title-font-family: "Futura", sans-serif;
+//$header-subtitle-font-family: "Futura", sans-serif;
diff --git a/sass/custom/_layout.scss b/sass/custom/_layout.scss
new file mode 100644
index 00000000000..74c7de9d429
--- /dev/null
+++ b/sass/custom/_layout.scss
@@ -0,0 +1,21 @@
+// Here you can easily change your sites's layout.
+// To give it a try, uncomment some of the lines below, make changes, rebuild your blog, and see how it works.
+
+//$header-font-size: 1em;
+//$header-padding-top: 1.5em;
+//$header-padding-bottom: 1.5em;
+
+//$max-width: 1350px;
+//$indented-lists: true;
+
+// Padding used for layout margins
+//$pad-min: 18px;
+//$pad-narrow: 25px;
+//$pad-medium: 35px;
+//$pad-wide: 55px;
+
+// Sidebar widths used in media queries
+//$sidebar-width-medium: 240px;
+//$sidebar-pad-medium: 15px;
+//$sidebar-pad-wide: 20px;
+//$sidebar-width-wide: 300px;
diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss
new file mode 100644
index 00000000000..3d8b1655975
--- /dev/null
+++ b/sass/custom/_paulus.scss
@@ -0,0 +1,48 @@
+@charset "UTF-8";
+
+// https://fortawesome.github.io/Font-Awesome/3.2.1/icons/
+
+.ha-title {
+ white-space: nowrap;
+
+ img {
+ width: 40px;
+ vertical-align: middle;
+ }
+}
+
+.usp ul {
+ text-align: left;
+ margin-left: 27px;
+ margin-top: -18px;
+}
+
+.note {
+ background: #e7f2fa;
+ padding: 12px;
+ margin-bottom: 1em;
+ box-shadow: rgba(0,0,0,0.06) 0 0 10px;
+
+ .title::before {
+ font-family: "FontAwesome";
+ content: "\f05a";
+ margin-right: 5px;
+ }
+
+ .title {
+ border-top-left-radius: 0.4em;
+ border-top-right-radius: 0.4em;
+ font-weight: bold;
+ display: block;
+ color: #fff;
+ background: #6ab0de;
+ margin: -12px;
+ padding: 6px 12px;
+ margin-bottom: 12px;
+ box-sizing: border-box;
+ }
+
+ .content {
+ margin-bottom: 0;
+ }
+}
\ No newline at end of file
diff --git a/sass/custom/_styles.scss b/sass/custom/_styles.scss
new file mode 100644
index 00000000000..d35472805bf
--- /dev/null
+++ b/sass/custom/_styles.scss
@@ -0,0 +1,142 @@
+// This File is imported last, and will override other styles in the cascade
+// Add styles here to make changes without digging in too much
+html {
+ background:$page-bg;
+}
+body {
+ line-height: 1.8em;
+ font-size:1.1em;
+ max-width:1320px;
+ > div {
+ background: #fff !important;
+ border-bottom:2px solid #f2f2f2;
+ > div {
+ border-right:2px solid #f2f2f2;
+ background: #fff !important;
+ }
+ }
+ > nav {
+ border-bottom:2px solid #f2f2f2;
+ li+li {
+ border-left:2px solid #f2f2f2;
+ }
+ a {
+ font-family: $serif;
+ }
+ }
+ >header {
+ h1 a {
+ font-weight: bold;
+ }
+ }
+
+ #content .blog-index article {
+ table {
+ font-size: 90%;
+ margin-bottom: 1.5em;
+ thead tr {
+ border-bottom: 1px solid $sidebar-border;
+ }
+ th {
+ font-weight: bold;
+ padding-right: 20px;
+ }
+ td {
+ padding: 0 20px 10px 0;
+ vertical-align: top;
+ }
+ }
+
+ header {
+ h1 {
+ margin: 0;
+ a { text-decoration: none;
+ &:hover {
+ text-decoration: none;
+ color:$link-color;
+ }
+ }
+ }
+ }
+ }
+ #blog-archives {
+ h1 {
+ a { text-decoration: none;
+ &:hover { text-decoration:none; } }
+ }
+ }
+ aside.sidebar {
+ background:#fff;
+ border-left:2px solid #f2f2f2;
+ height:100%;
+ form .search {
+ padding: .3em .5em 0;
+ font-size: .85em;
+ font-family: $serif;
+ line-height: 1.1em;
+ width: 95%;
+ background-color: #fff;
+ border: 2px solid #f2f2f2;
+ color: #000;
+ }
+ input[type=text]:focus, textarea:focus {
+ box-shadow: 0 0 0 rgba(255,255,255,1);
+ }
+ }
+
+ .toggle-sidebar {
+ display:none;
+ }
+}
+@media only screen and (max-width: 749px) {
+ aside.sidebar {
+ padding-top:15px;
+ padding-bottom:15px;
+ }
+}
+@media only screen and (min-width: 750px) {
+ aside.sidebar {
+ border-top:0px solid black;
+ }
+}
+@media only screen and (min-width:992px) {
+ body {
+ font-size: 1.3em;
+ }
+ .collapse-sidebar aside.sidebar {
+ background: #fff;
+ }
+}
+.meta {
+ font-family: $serif;
+}
+.sticky {
+ position: fixed;
+ width:100%;
+ left: 0;
+ top: 0;
+ z-index: 100;
+}
+::-webkit-input-placeholder {
+ color: $link-color;
+}
+:-moz-placeholder { /* Firefox 18- */
+ color: $link-color;
+}
+::-moz-placeholder { /* Firefox 19+ */
+ color: $link-color;
+}
+:-ms-input-placeholder {
+ color: $link-color;
+}
+
+.highlight, html .gist .gist-file .gist-syntax .gist-highlight {
+ table {
+ margin: 0;
+ td {
+ padding: 0;
+ &.code { width: 100%; }
+ }
+ }
+ border: 1px solid $pre-border !important;
+}
diff --git a/sass/fontawesome/_core.scss b/sass/fontawesome/_core.scss
new file mode 100644
index 00000000000..0189c73dfb6
--- /dev/null
+++ b/sass/fontawesome/_core.scss
@@ -0,0 +1,129 @@
+/* FONT AWESOME CORE
+ * -------------------------- */
+
+[class^="icon-"],
+[class*=" icon-"] {
+ @include 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: (4em/3);
+}
+
+/* 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: (16em/14);
+ text-align: right;
+ padding-right: (4em/14);
+ &.icon-large {
+ width: (20em/14);
+ }
+ }
+}
+
+.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;
+ @include border-radius(3px);
+}
+
+// Icon Sizes
+// -------------------------
+
+.icon-2x {
+ font-size: 2em;
+ &.icon-border {
+ border-width: 2px;
+ @include border-radius(4px);
+ }
+}
+.icon-3x {
+ font-size: 3em;
+ &.icon-border {
+ border-width: 3px;
+ @include border-radius(5px);
+ }
+}
+.icon-4x {
+ font-size: 4em;
+ &.icon-border {
+ border-width: 4px;
+ @include border-radius(6px);
+ }
+}
+
+.icon-5x {
+ font-size: 5em;
+ &.icon-border {
+ border-width: 5px;
+ @include 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;
+ }
+}
diff --git a/sass/fontawesome/_extras.scss b/sass/fontawesome/_extras.scss
new file mode 100644
index 00000000000..9a25845d8de
--- /dev/null
+++ b/sass/fontawesome/_extras.scss
@@ -0,0 +1,93 @@
+/* EXTRAS
+ * -------------------------- */
+
+/* Stacked and layered icon */
+@include 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; }
+ }
+}
diff --git a/sass/fontawesome/_font-awesome.scss b/sass/fontawesome/_font-awesome.scss
new file mode 100644
index 00000000000..379dfd00f06
--- /dev/null
+++ b/sass/fontawesome/_font-awesome.scss
@@ -0,0 +1,32 @@
+/*!
+ * 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";
+@import "mixins";
+@import "path";
+@import "core";
+@import "extras";
+@import "icons";
diff --git a/sass/fontawesome/_icons.scss b/sass/fontawesome/_icons.scss
new file mode 100644
index 00000000000..eefda0c9efe
--- /dev/null
+++ b/sass/fontawesome/_icons.scss
@@ -0,0 +1,381 @@
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+ * readers do not read off random characters that represent icons */
+
+.icon-glass:before { content: $glass; }
+.icon-music:before { content: $music; }
+.icon-search:before { content: $search; }
+.icon-envelope-alt:before { content: $envelope-alt; }
+.icon-heart:before { content: $heart; }
+.icon-star:before { content: $star; }
+.icon-star-empty:before { content: $star-empty; }
+.icon-user:before { content: $user; }
+.icon-film:before { content: $film; }
+.icon-th-large:before { content: $th-large; }
+.icon-th:before { content: $th; }
+.icon-th-list:before { content: $th-list; }
+.icon-ok:before { content: $ok; }
+.icon-remove:before { content: $remove; }
+.icon-zoom-in:before { content: $zoom-in; }
+.icon-zoom-out:before { content: $zoom-out; }
+.icon-power-off:before,
+.icon-off:before { content: $off; }
+.icon-signal:before { content: $signal; }
+.icon-gear:before,
+.icon-cog:before { content: $cog; }
+.icon-trash:before { content: $trash; }
+.icon-home:before { content: $home; }
+.icon-file-alt:before { content: $file-alt; }
+.icon-time:before { content: $time; }
+.icon-road:before { content: $road; }
+.icon-download-alt:before { content: $download-alt; }
+.icon-download:before { content: $download; }
+.icon-upload:before { content: $upload; }
+.icon-inbox:before { content: $inbox; }
+.icon-play-circle:before { content: $play-circle; }
+.icon-rotate-right:before,
+.icon-repeat:before { content: $repeat; }
+.icon-refresh:before { content: $refresh; }
+.icon-list-alt:before { content: $list-alt; }
+.icon-lock:before { content: $lock; }
+.icon-flag:before { content: $flag; }
+.icon-headphones:before { content: $headphones; }
+.icon-volume-off:before { content: $volume-off; }
+.icon-volume-down:before { content: $volume-down; }
+.icon-volume-up:before { content: $volume-up; }
+.icon-qrcode:before { content: $qrcode; }
+.icon-barcode:before { content: $barcode; }
+.icon-tag:before { content: $tag; }
+.icon-tags:before { content: $tags; }
+.icon-book:before { content: $book; }
+.icon-bookmark:before { content: $bookmark; }
+.icon-print:before { content: $print; }
+.icon-camera:before { content: $camera; }
+.icon-font:before { content: $font; }
+.icon-bold:before { content: $bold; }
+.icon-italic:before { content: $italic; }
+.icon-text-height:before { content: $text-height; }
+.icon-text-width:before { content: $text-width; }
+.icon-align-left:before { content: $align-left; }
+.icon-align-center:before { content: $align-center; }
+.icon-align-right:before { content: $align-right; }
+.icon-align-justify:before { content: $align-justify; }
+.icon-list:before { content: $list; }
+.icon-indent-left:before { content: $indent-left; }
+.icon-indent-right:before { content: $indent-right; }
+.icon-facetime-video:before { content: $facetime-video; }
+.icon-picture:before { content: $picture; }
+.icon-pencil:before { content: $pencil; }
+.icon-map-marker:before { content: $map-marker; }
+.icon-adjust:before { content: $adjust; }
+.icon-tint:before { content: $tint; }
+.icon-edit:before { content: $edit; }
+.icon-share:before { content: $share; }
+.icon-check:before { content: $check; }
+.icon-move:before { content: $move; }
+.icon-step-backward:before { content: $step-backward; }
+.icon-fast-backward:before { content: $fast-backward; }
+.icon-backward:before { content: $backward; }
+.icon-play:before { content: $play; }
+.icon-pause:before { content: $pause; }
+.icon-stop:before { content: $stop; }
+.icon-forward:before { content: $forward; }
+.icon-fast-forward:before { content: $fast-forward; }
+.icon-step-forward:before { content: $step-forward; }
+.icon-eject:before { content: $eject; }
+.icon-chevron-left:before { content: $chevron-left; }
+.icon-chevron-right:before { content: $chevron-right; }
+.icon-plus-sign:before { content: $plus-sign; }
+.icon-minus-sign:before { content: $minus-sign; }
+.icon-remove-sign:before { content: $remove-sign; }
+.icon-ok-sign:before { content: $ok-sign; }
+.icon-question-sign:before { content: $question-sign; }
+.icon-info-sign:before { content: $info-sign; }
+.icon-screenshot:before { content: $screenshot; }
+.icon-remove-circle:before { content: $remove-circle; }
+.icon-ok-circle:before { content: $ok-circle; }
+.icon-ban-circle:before { content: $ban-circle; }
+.icon-arrow-left:before { content: $arrow-left; }
+.icon-arrow-right:before { content: $arrow-right; }
+.icon-arrow-up:before { content: $arrow-up; }
+.icon-arrow-down:before { content: $arrow-down; }
+.icon-mail-forward:before,
+.icon-share-alt:before { content: $share-alt; }
+.icon-resize-full:before { content: $resize-full; }
+.icon-resize-small:before { content: $resize-small; }
+.icon-plus:before { content: $plus; }
+.icon-minus:before { content: $minus; }
+.icon-asterisk:before { content: $asterisk; }
+.icon-exclamation-sign:before { content: $exclamation-sign; }
+.icon-gift:before { content: $gift; }
+.icon-leaf:before { content: $leaf; }
+.icon-fire:before { content: $fire; }
+.icon-eye-open:before { content: $eye-open; }
+.icon-eye-close:before { content: $eye-close; }
+.icon-warning-sign:before { content: $warning-sign; }
+.icon-plane:before { content: $plane; }
+.icon-calendar:before { content: $calendar; }
+.icon-random:before { content: $random; }
+.icon-comment:before { content: $comment; }
+.icon-magnet:before { content: $magnet; }
+.icon-chevron-up:before { content: $chevron-up; }
+.icon-chevron-down:before { content: $chevron-down; }
+.icon-retweet:before { content: $retweet; }
+.icon-shopping-cart:before { content: $shopping-cart; }
+.icon-folder-close:before { content: $folder-close; }
+.icon-folder-open:before { content: $folder-open; }
+.icon-resize-vertical:before { content: $resize-vertical; }
+.icon-resize-horizontal:before { content: $resize-horizontal; }
+.icon-bar-chart:before { content: $bar-chart; }
+.icon-twitter-sign:before { content: $twitter-sign; }
+.icon-facebook-sign:before { content: $facebook-sign; }
+.icon-camera-retro:before { content: $camera-retro; }
+.icon-key:before { content: $key; }
+.icon-gears:before,
+.icon-cogs:before { content: $cogs; }
+.icon-comments:before { content: $comments; }
+.icon-thumbs-up-alt:before { content: $thumbs-up-alt; }
+.icon-thumbs-down-alt:before { content: $thumbs-down-alt; }
+.icon-star-half:before { content: $star-half; }
+.icon-heart-empty:before { content: $heart-empty; }
+.icon-signout:before { content: $signout; }
+.icon-linkedin-sign:before { content: $linkedin-sign; }
+.icon-pushpin:before { content: $pushpin; }
+.icon-external-link:before { content: $external-link; }
+.icon-signin:before { content: $signin; }
+.icon-trophy:before { content: $trophy; }
+.icon-github-sign:before { content: $github-sign; }
+.icon-upload-alt:before { content: $upload-alt; }
+.icon-lemon:before { content: $lemon; }
+.icon-phone:before { content: $phone; }
+.icon-unchecked:before,
+.icon-check-empty:before { content: $check-empty; }
+.icon-bookmark-empty:before { content: $bookmark-empty; }
+.icon-phone-sign:before { content: $phone-sign; }
+.icon-twitter:before { content: $twitter; }
+.icon-facebook:before { content: $facebook; }
+.icon-github:before { content: $github; }
+.icon-unlock:before { content: $unlock; }
+.icon-credit-card:before { content: $credit-card; }
+.icon-rss:before { content: $rss; }
+.icon-hdd:before { content: $hdd; }
+.icon-bullhorn:before { content: $bullhorn; }
+.icon-bell:before { content: $bell; }
+.icon-certificate:before { content: $certificate; }
+.icon-hand-right:before { content: $hand-right; }
+.icon-hand-left:before { content: $hand-left; }
+.icon-hand-up:before { content: $hand-up; }
+.icon-hand-down:before { content: $hand-down; }
+.icon-circle-arrow-left:before { content: $circle-arrow-left; }
+.icon-circle-arrow-right:before { content: $circle-arrow-right; }
+.icon-circle-arrow-up:before { content: $circle-arrow-up; }
+.icon-circle-arrow-down:before { content: $circle-arrow-down; }
+.icon-globe:before { content: $globe; }
+.icon-wrench:before { content: $wrench; }
+.icon-tasks:before { content: $tasks; }
+.icon-filter:before { content: $filter; }
+.icon-briefcase:before { content: $briefcase; }
+.icon-fullscreen:before { content: $fullscreen; }
+.icon-group:before { content: $group; }
+.icon-link:before { content: $link; }
+.icon-cloud:before { content: $cloud; }
+.icon-beaker:before { content: $beaker; }
+.icon-cut:before { content: $cut; }
+.icon-copy:before { content: $copy; }
+.icon-paperclip:before,
+.icon-paper-clip:before { content: $paper-clip; }
+.icon-save:before { content: $save; }
+.icon-sign-blank:before { content: $sign-blank; }
+.icon-reorder:before { content: $reorder; }
+.icon-list-ul:before { content: $list-ul; }
+.icon-list-ol:before { content: $list-ol; }
+.icon-strikethrough:before { content: $strikethrough; }
+.icon-underline:before { content: $underline; }
+.icon-table:before { content: $table; }
+.icon-magic:before { content: $magic; }
+.icon-truck:before { content: $truck; }
+.icon-pinterest:before { content: $pinterest; }
+.icon-pinterest-sign:before { content: $pinterest-sign; }
+.icon-google-plus-sign:before { content: $google-plus-sign; }
+.icon-google-plus:before { content: $google-plus; }
+.icon-money:before { content: $money; }
+.icon-caret-down:before { content: $caret-down; }
+.icon-caret-up:before { content: $caret-up; }
+.icon-caret-left:before { content: $caret-left; }
+.icon-caret-right:before { content: $caret-right; }
+.icon-columns:before { content: $columns; }
+.icon-sort:before { content: $sort; }
+.icon-sort-down:before { content: $sort-down; }
+.icon-sort-up:before { content: $sort-up; }
+.icon-envelope:before { content: $envelope; }
+.icon-linkedin:before { content: $linkedin; }
+.icon-rotate-left:before,
+.icon-undo:before { content: $undo; }
+.icon-legal:before { content: $legal; }
+.icon-dashboard:before { content: $dashboard; }
+.icon-comment-alt:before { content: $comment-alt; }
+.icon-comments-alt:before { content: $comments-alt; }
+.icon-bolt:before { content: $bolt; }
+.icon-sitemap:before { content: $sitemap; }
+.icon-umbrella:before { content: $umbrella; }
+.icon-paste:before { content: $paste; }
+.icon-lightbulb:before { content: $lightbulb; }
+.icon-exchange:before { content: $exchange; }
+.icon-cloud-download:before { content: $cloud-download; }
+.icon-cloud-upload:before { content: $cloud-upload; }
+.icon-user-md:before { content: $user-md; }
+.icon-stethoscope:before { content: $stethoscope; }
+.icon-suitcase:before { content: $suitcase; }
+.icon-bell-alt:before { content: $bell-alt; }
+.icon-coffee:before { content: $coffee; }
+.icon-food:before { content: $food; }
+.icon-file-text-alt:before { content: $file-text-alt; }
+.icon-building:before { content: $building; }
+.icon-hospital:before { content: $hospital; }
+.icon-ambulance:before { content: $ambulance; }
+.icon-medkit:before { content: $medkit; }
+.icon-fighter-jet:before { content: $fighter-jet; }
+.icon-beer:before { content: $beer; }
+.icon-h-sign:before { content: $h-sign; }
+.icon-plus-sign-alt:before { content: $plus-sign-alt; }
+.icon-double-angle-left:before { content: $double-angle-left; }
+.icon-double-angle-right:before { content: $double-angle-right; }
+.icon-double-angle-up:before { content: $double-angle-up; }
+.icon-double-angle-down:before { content: $double-angle-down; }
+.icon-angle-left:before { content: $angle-left; }
+.icon-angle-right:before { content: $angle-right; }
+.icon-angle-up:before { content: $angle-up; }
+.icon-angle-down:before { content: $angle-down; }
+.icon-desktop:before { content: $desktop; }
+.icon-laptop:before { content: $laptop; }
+.icon-tablet:before { content: $tablet; }
+.icon-mobile-phone:before { content: $mobile-phone; }
+.icon-circle-blank:before { content: $circle-blank; }
+.icon-quote-left:before { content: $quote-left; }
+.icon-quote-right:before { content: $quote-right; }
+.icon-spinner:before { content: $spinner; }
+.icon-circle:before { content: $circle; }
+.icon-mail-reply:before,
+.icon-reply:before { content: $reply; }
+.icon-github-alt:before { content: $github-alt; }
+.icon-folder-close-alt:before { content: $folder-close-alt; }
+.icon-folder-open-alt:before { content: $folder-open-alt; }
+.icon-expand-alt:before { content: $expand-alt; }
+.icon-collapse-alt:before { content: $collapse-alt; }
+.icon-smile:before { content: $smile; }
+.icon-frown:before { content: $frown; }
+.icon-meh:before { content: $meh; }
+.icon-gamepad:before { content: $gamepad; }
+.icon-keyboard:before { content: $keyboard; }
+.icon-flag-alt:before { content: $flag-alt; }
+.icon-flag-checkered:before { content: $flag-checkered; }
+.icon-terminal:before { content: $terminal; }
+.icon-code:before { content: $code; }
+.icon-reply-all:before { content: $reply-all; }
+.icon-mail-reply-all:before { content: $mail-reply-all; }
+.icon-star-half-full:before,
+.icon-star-half-empty:before { content: $star-half-empty; }
+.icon-location-arrow:before { content: $location-arrow; }
+.icon-crop:before { content: $crop; }
+.icon-code-fork:before { content: $code-fork; }
+.icon-unlink:before { content: $unlink; }
+.icon-question:before { content: $question; }
+.icon-info:before { content: $info; }
+.icon-exclamation:before { content: $exclamation; }
+.icon-superscript:before { content: $superscript; }
+.icon-subscript:before { content: $subscript; }
+.icon-eraser:before { content: $eraser; }
+.icon-puzzle-piece:before { content: $puzzle-piece; }
+.icon-microphone:before { content: $microphone; }
+.icon-microphone-off:before { content: $microphone-off; }
+.icon-shield:before { content: $shield; }
+.icon-calendar-empty:before { content: $calendar-empty; }
+.icon-fire-extinguisher:before { content: $fire-extinguisher; }
+.icon-rocket:before { content: $rocket; }
+.icon-maxcdn:before { content: $maxcdn; }
+.icon-chevron-sign-left:before { content: $chevron-sign-left; }
+.icon-chevron-sign-right:before { content: $chevron-sign-right; }
+.icon-chevron-sign-up:before { content: $chevron-sign-up; }
+.icon-chevron-sign-down:before { content: $chevron-sign-down; }
+.icon-html5:before { content: $html5; }
+.icon-css3:before { content: $css3; }
+.icon-anchor:before { content: $anchor; }
+.icon-unlock-alt:before { content: $unlock-alt; }
+.icon-bullseye:before { content: $bullseye; }
+.icon-ellipsis-horizontal:before { content: $ellipsis-horizontal; }
+.icon-ellipsis-vertical:before { content: $ellipsis-vertical; }
+.icon-rss-sign:before { content: $rss-sign; }
+.icon-play-sign:before { content: $play-sign; }
+.icon-ticket:before { content: $ticket; }
+.icon-minus-sign-alt:before { content: $minus-sign-alt; }
+.icon-check-minus:before { content: $check-minus; }
+.icon-level-up:before { content: $level-up; }
+.icon-level-down:before { content: $level-down; }
+.icon-check-sign:before { content: $check-sign; }
+.icon-edit-sign:before { content: $edit-sign; }
+.icon-external-link-sign:before { content: $external-link-sign; }
+.icon-share-sign:before { content: $share-sign; }
+.icon-compass:before { content: $compass; }
+.icon-collapse:before { content: $collapse; }
+.icon-collapse-top:before { content: $collapse-top; }
+.icon-expand:before { content: $expand; }
+.icon-euro:before,
+.icon-eur:before { content: $eur; }
+.icon-gbp:before { content: $gbp; }
+.icon-dollar:before,
+.icon-usd:before { content: $usd; }
+.icon-rupee:before,
+.icon-inr:before { content: $inr; }
+.icon-yen:before,
+.icon-jpy:before { content: $jpy; }
+.icon-renminbi:before,
+.icon-cny:before { content: $cny; }
+.icon-won:before,
+.icon-krw:before { content: $krw; }
+.icon-bitcoin:before,
+.icon-btc:before { content: $btc; }
+.icon-file:before { content: $file; }
+.icon-file-text:before { content: $file-text; }
+.icon-sort-by-alphabet:before { content: $sort-by-alphabet; }
+.icon-sort-by-alphabet-alt:before { content: $sort-by-alphabet-alt; }
+.icon-sort-by-attributes:before { content: $sort-by-attributes; }
+.icon-sort-by-attributes-alt:before { content: $sort-by-attributes-alt; }
+.icon-sort-by-order:before { content: $sort-by-order; }
+.icon-sort-by-order-alt:before { content: $sort-by-order-alt; }
+.icon-thumbs-up:before { content: $thumbs-up; }
+.icon-thumbs-down:before { content: $thumbs-down; }
+.icon-youtube-sign:before { content: $youtube-sign; }
+.icon-youtube:before { content: $youtube; }
+.icon-xing:before { content: $xing; }
+.icon-xing-sign:before { content: $xing-sign; }
+.icon-youtube-play:before { content: $youtube-play; }
+.icon-dropbox:before { content: $dropbox; }
+.icon-stackexchange:before { content: $stackexchange; }
+.icon-instagram:before { content: $instagram; }
+.icon-flickr:before { content: $flickr; }
+.icon-adn:before { content: $adn; }
+.icon-bitbucket:before { content: $bitbucket; }
+.icon-bitbucket-sign:before { content: $bitbucket-sign; }
+.icon-tumblr:before { content: $tumblr; }
+.icon-tumblr-sign:before { content: $tumblr-sign; }
+.icon-long-arrow-down:before { content: $long-arrow-down; }
+.icon-long-arrow-up:before { content: $long-arrow-up; }
+.icon-long-arrow-left:before { content: $long-arrow-left; }
+.icon-long-arrow-right:before { content: $long-arrow-right; }
+.icon-apple:before { content: $apple; }
+.icon-windows:before { content: $windows; }
+.icon-android:before { content: $android; }
+.icon-linux:before { content: $linux; }
+.icon-dribbble:before { content: $dribbble; }
+.icon-skype:before { content: $skype; }
+.icon-foursquare:before { content: $foursquare; }
+.icon-trello:before { content: $trello; }
+.icon-female:before { content: $female; }
+.icon-male:before { content: $male; }
+.icon-gittip:before { content: $gittip; }
+.icon-sun:before { content: $sun; }
+.icon-moon:before { content: $moon; }
+.icon-archive:before { content: $archive; }
+.icon-bug:before { content: $bug; }
+.icon-vk:before { content: $vk; }
+.icon-weibo:before { content: $weibo; }
+.icon-renren:before { content: $renren; }
diff --git a/sass/fontawesome/_mixins.scss b/sass/fontawesome/_mixins.scss
new file mode 100644
index 00000000000..ca9c5931b3e
--- /dev/null
+++ b/sass/fontawesome/_mixins.scss
@@ -0,0 +1,48 @@
+// Mixins
+// --------------------------
+
+@mixin icon($icon) {
+ @include icon-FontAwesome();
+ content: $icon;
+}
+
+@mixin icon-FontAwesome() {
+ font-family: FontAwesome;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: inherit;
+ -webkit-font-smoothing: antialiased;
+ *margin-right: .3em; // fixes ie7 issues
+}
+
+@mixin border-radius($radius) {
+ -webkit-border-radius: $radius;
+ -moz-border-radius: $radius;
+ border-radius: $radius;
+}
+
+@mixin icon-stack($width: 2em, $height: 2em, $top-font-size: 1em, $base-font-size: 2em) {
+ .icon-stack {
+ position: relative;
+ display: inline-block;
+ width: $width;
+ height: $height;
+ line-height: $width;
+ vertical-align: -35%;
+ [class^="icon-"],
+ [class*=" icon-"] {
+ display: block;
+ text-align: center;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ font-size: $top-font-size;
+ line-height: inherit;
+ *line-height: $height;
+ }
+ .icon-stack-base {
+ font-size: $base-font-size;
+ *line-height: #{$height / $base-font-size}em;
+ }
+ }
+}
diff --git a/sass/fontawesome/_path.scss b/sass/fontawesome/_path.scss
new file mode 100644
index 00000000000..bb3f36b70b6
--- /dev/null
+++ b/sass/fontawesome/_path.scss
@@ -0,0 +1,14 @@
+/* FONT PATH
+ * -------------------------- */
+
+@font-face {
+ font-family: 'FontAwesome';
+ src: url('#{$FontAwesomePath}/fontawesome-webfont.eot?v=#{$FontAwesomeVersion}');
+ src: url('#{$FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=#{$FontAwesomeVersion}') format('embedded-opentype'),
+ url('#{$FontAwesomePath}/fontawesome-webfont.woff?v=#{$FontAwesomeVersion}') format('woff'),
+ url('#{$FontAwesomePath}/fontawesome-webfont.ttf?v=#{$FontAwesomeVersion}') format('truetype'),
+ url('#{$FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=#{$FontAwesomeVersion}') format('svg');
+// src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
+ font-weight: normal;
+ font-style: normal;
+}
diff --git a/sass/fontawesome/_variables.scss b/sass/fontawesome/_variables.scss
new file mode 100644
index 00000000000..7d6bbc5b1d6
--- /dev/null
+++ b/sass/fontawesome/_variables.scss
@@ -0,0 +1,734 @@
+// Variables
+// --------------------------
+
+$FontAwesomePath: "../font" !default;
+$FontAwesomeVersion: "3.2.1" !default;
+$borderColor: #eeeeee !default;
+$iconMuted: #eeeeee !default;
+$iconLight: white !default;
+$iconDark: #333333 !default;
+$icons-li-width: (30em/14);
+
+
+$glass: "\f000";
+
+$music: "\f001";
+
+$search: "\f002";
+
+$envelope-alt: "\f003";
+
+$heart: "\f004";
+
+$star: "\f005";
+
+$star-empty: "\f006";
+
+$user: "\f007";
+
+$film: "\f008";
+
+$th-large: "\f009";
+
+$th: "\f00a";
+
+$th-list: "\f00b";
+
+$ok: "\f00c";
+
+$remove: "\f00d";
+
+$zoom-in: "\f00e";
+
+$zoom-out: "\f010";
+
+$off: "\f011";
+
+$signal: "\f012";
+
+$cog: "\f013";
+
+$trash: "\f014";
+
+$home: "\f015";
+
+$file-alt: "\f016";
+
+$time: "\f017";
+
+$road: "\f018";
+
+$download-alt: "\f019";
+
+$download: "\f01a";
+
+$upload: "\f01b";
+
+$inbox: "\f01c";
+
+$play-circle: "\f01d";
+
+$repeat: "\f01e";
+
+$refresh: "\f021";
+
+$list-alt: "\f022";
+
+$lock: "\f023";
+
+$flag: "\f024";
+
+$headphones: "\f025";
+
+$volume-off: "\f026";
+
+$volume-down: "\f027";
+
+$volume-up: "\f028";
+
+$qrcode: "\f029";
+
+$barcode: "\f02a";
+
+$tag: "\f02b";
+
+$tags: "\f02c";
+
+$book: "\f02d";
+
+$bookmark: "\f02e";
+
+$print: "\f02f";
+
+$camera: "\f030";
+
+$font: "\f031";
+
+$bold: "\f032";
+
+$italic: "\f033";
+
+$text-height: "\f034";
+
+$text-width: "\f035";
+
+$align-left: "\f036";
+
+$align-center: "\f037";
+
+$align-right: "\f038";
+
+$align-justify: "\f039";
+
+$list: "\f03a";
+
+$indent-left: "\f03b";
+
+$indent-right: "\f03c";
+
+$facetime-video: "\f03d";
+
+$picture: "\f03e";
+
+$pencil: "\f040";
+
+$map-marker: "\f041";
+
+$adjust: "\f042";
+
+$tint: "\f043";
+
+$edit: "\f044";
+
+$share: "\f045";
+
+$check: "\f046";
+
+$move: "\f047";
+
+$step-backward: "\f048";
+
+$fast-backward: "\f049";
+
+$backward: "\f04a";
+
+$play: "\f04b";
+
+$pause: "\f04c";
+
+$stop: "\f04d";
+
+$forward: "\f04e";
+
+$fast-forward: "\f050";
+
+$step-forward: "\f051";
+
+$eject: "\f052";
+
+$chevron-left: "\f053";
+
+$chevron-right: "\f054";
+
+$plus-sign: "\f055";
+
+$minus-sign: "\f056";
+
+$remove-sign: "\f057";
+
+$ok-sign: "\f058";
+
+$question-sign: "\f059";
+
+$info-sign: "\f05a";
+
+$screenshot: "\f05b";
+
+$remove-circle: "\f05c";
+
+$ok-circle: "\f05d";
+
+$ban-circle: "\f05e";
+
+$arrow-left: "\f060";
+
+$arrow-right: "\f061";
+
+$arrow-up: "\f062";
+
+$arrow-down: "\f063";
+
+$share-alt: "\f064";
+
+$resize-full: "\f065";
+
+$resize-small: "\f066";
+
+$plus: "\f067";
+
+$minus: "\f068";
+
+$asterisk: "\f069";
+
+$exclamation-sign: "\f06a";
+
+$gift: "\f06b";
+
+$leaf: "\f06c";
+
+$fire: "\f06d";
+
+$eye-open: "\f06e";
+
+$eye-close: "\f070";
+
+$warning-sign: "\f071";
+
+$plane: "\f072";
+
+$calendar: "\f073";
+
+$random: "\f074";
+
+$comment: "\f075";
+
+$magnet: "\f076";
+
+$chevron-up: "\f077";
+
+$chevron-down: "\f078";
+
+$retweet: "\f079";
+
+$shopping-cart: "\f07a";
+
+$folder-close: "\f07b";
+
+$folder-open: "\f07c";
+
+$resize-vertical: "\f07d";
+
+$resize-horizontal: "\f07e";
+
+$bar-chart: "\f080";
+
+$twitter-sign: "\f081";
+
+$facebook-sign: "\f082";
+
+$camera-retro: "\f083";
+
+$key: "\f084";
+
+$cogs: "\f085";
+
+$comments: "\f086";
+
+$thumbs-up-alt: "\f087";
+
+$thumbs-down-alt: "\f088";
+
+$star-half: "\f089";
+
+$heart-empty: "\f08a";
+
+$signout: "\f08b";
+
+$linkedin-sign: "\f08c";
+
+$pushpin: "\f08d";
+
+$external-link: "\f08e";
+
+$signin: "\f090";
+
+$trophy: "\f091";
+
+$github-sign: "\f092";
+
+$upload-alt: "\f093";
+
+$lemon: "\f094";
+
+$phone: "\f095";
+
+$check-empty: "\f096";
+
+$bookmark-empty: "\f097";
+
+$phone-sign: "\f098";
+
+$twitter: "\f099";
+
+$facebook: "\f09a";
+
+$github: "\f09b";
+
+$unlock: "\f09c";
+
+$credit-card: "\f09d";
+
+$rss: "\f09e";
+
+$hdd: "\f0a0";
+
+$bullhorn: "\f0a1";
+
+$bell: "\f0a2";
+
+$certificate: "\f0a3";
+
+$hand-right: "\f0a4";
+
+$hand-left: "\f0a5";
+
+$hand-up: "\f0a6";
+
+$hand-down: "\f0a7";
+
+$circle-arrow-left: "\f0a8";
+
+$circle-arrow-right: "\f0a9";
+
+$circle-arrow-up: "\f0aa";
+
+$circle-arrow-down: "\f0ab";
+
+$globe: "\f0ac";
+
+$wrench: "\f0ad";
+
+$tasks: "\f0ae";
+
+$filter: "\f0b0";
+
+$briefcase: "\f0b1";
+
+$fullscreen: "\f0b2";
+
+$group: "\f0c0";
+
+$link: "\f0c1";
+
+$cloud: "\f0c2";
+
+$beaker: "\f0c3";
+
+$cut: "\f0c4";
+
+$copy: "\f0c5";
+
+$paper-clip: "\f0c6";
+
+$save: "\f0c7";
+
+$sign-blank: "\f0c8";
+
+$reorder: "\f0c9";
+
+$list-ul: "\f0ca";
+
+$list-ol: "\f0cb";
+
+$strikethrough: "\f0cc";
+
+$underline: "\f0cd";
+
+$table: "\f0ce";
+
+$magic: "\f0d0";
+
+$truck: "\f0d1";
+
+$pinterest: "\f0d2";
+
+$pinterest-sign: "\f0d3";
+
+$google-plus-sign: "\f0d4";
+
+$google-plus: "\f0d5";
+
+$money: "\f0d6";
+
+$caret-down: "\f0d7";
+
+$caret-up: "\f0d8";
+
+$caret-left: "\f0d9";
+
+$caret-right: "\f0da";
+
+$columns: "\f0db";
+
+$sort: "\f0dc";
+
+$sort-down: "\f0dd";
+
+$sort-up: "\f0de";
+
+$envelope: "\f0e0";
+
+$linkedin: "\f0e1";
+
+$undo: "\f0e2";
+
+$legal: "\f0e3";
+
+$dashboard: "\f0e4";
+
+$comment-alt: "\f0e5";
+
+$comments-alt: "\f0e6";
+
+$bolt: "\f0e7";
+
+$sitemap: "\f0e8";
+
+$umbrella: "\f0e9";
+
+$paste: "\f0ea";
+
+$lightbulb: "\f0eb";
+
+$exchange: "\f0ec";
+
+$cloud-download: "\f0ed";
+
+$cloud-upload: "\f0ee";
+
+$user-md: "\f0f0";
+
+$stethoscope: "\f0f1";
+
+$suitcase: "\f0f2";
+
+$bell-alt: "\f0f3";
+
+$coffee: "\f0f4";
+
+$food: "\f0f5";
+
+$file-text-alt: "\f0f6";
+
+$building: "\f0f7";
+
+$hospital: "\f0f8";
+
+$ambulance: "\f0f9";
+
+$medkit: "\f0fa";
+
+$fighter-jet: "\f0fb";
+
+$beer: "\f0fc";
+
+$h-sign: "\f0fd";
+
+$plus-sign-alt: "\f0fe";
+
+$double-angle-left: "\f100";
+
+$double-angle-right: "\f101";
+
+$double-angle-up: "\f102";
+
+$double-angle-down: "\f103";
+
+$angle-left: "\f104";
+
+$angle-right: "\f105";
+
+$angle-up: "\f106";
+
+$angle-down: "\f107";
+
+$desktop: "\f108";
+
+$laptop: "\f109";
+
+$tablet: "\f10a";
+
+$mobile-phone: "\f10b";
+
+$circle-blank: "\f10c";
+
+$quote-left: "\f10d";
+
+$quote-right: "\f10e";
+
+$spinner: "\f110";
+
+$circle: "\f111";
+
+$reply: "\f112";
+
+$github-alt: "\f113";
+
+$folder-close-alt: "\f114";
+
+$folder-open-alt: "\f115";
+
+$expand-alt: "\f116";
+
+$collapse-alt: "\f117";
+
+$smile: "\f118";
+
+$frown: "\f119";
+
+$meh: "\f11a";
+
+$gamepad: "\f11b";
+
+$keyboard: "\f11c";
+
+$flag-alt: "\f11d";
+
+$flag-checkered: "\f11e";
+
+$terminal: "\f120";
+
+$code: "\f121";
+
+$reply-all: "\f122";
+
+$mail-reply-all: "\f122";
+
+$star-half-empty: "\f123";
+
+$location-arrow: "\f124";
+
+$crop: "\f125";
+
+$code-fork: "\f126";
+
+$unlink: "\f127";
+
+$question: "\f128";
+
+$info: "\f129";
+
+$exclamation: "\f12a";
+
+$superscript: "\f12b";
+
+$subscript: "\f12c";
+
+$eraser: "\f12d";
+
+$puzzle-piece: "\f12e";
+
+$microphone: "\f130";
+
+$microphone-off: "\f131";
+
+$shield: "\f132";
+
+$calendar-empty: "\f133";
+
+$fire-extinguisher: "\f134";
+
+$rocket: "\f135";
+
+$maxcdn: "\f136";
+
+$chevron-sign-left: "\f137";
+
+$chevron-sign-right: "\f138";
+
+$chevron-sign-up: "\f139";
+
+$chevron-sign-down: "\f13a";
+
+$html5: "\f13b";
+
+$css3: "\f13c";
+
+$anchor: "\f13d";
+
+$unlock-alt: "\f13e";
+
+$bullseye: "\f140";
+
+$ellipsis-horizontal: "\f141";
+
+$ellipsis-vertical: "\f142";
+
+$rss-sign: "\f143";
+
+$play-sign: "\f144";
+
+$ticket: "\f145";
+
+$minus-sign-alt: "\f146";
+
+$check-minus: "\f147";
+
+$level-up: "\f148";
+
+$level-down: "\f149";
+
+$check-sign: "\f14a";
+
+$edit-sign: "\f14b";
+
+$external-link-sign: "\f14c";
+
+$share-sign: "\f14d";
+
+$compass: "\f14e";
+
+$collapse: "\f150";
+
+$collapse-top: "\f151";
+
+$expand: "\f152";
+
+$eur: "\f153";
+
+$gbp: "\f154";
+
+$usd: "\f155";
+
+$inr: "\f156";
+
+$jpy: "\f157";
+
+$cny: "\f158";
+
+$krw: "\f159";
+
+$btc: "\f15a";
+
+$file: "\f15b";
+
+$file-text: "\f15c";
+
+$sort-by-alphabet: "\f15d";
+
+$sort-by-alphabet-alt: "\f15e";
+
+$sort-by-attributes: "\f160";
+
+$sort-by-attributes-alt: "\f161";
+
+$sort-by-order: "\f162";
+
+$sort-by-order-alt: "\f163";
+
+$thumbs-up: "\f164";
+
+$thumbs-down: "\f165";
+
+$youtube-sign: "\f166";
+
+$youtube: "\f167";
+
+$xing: "\f168";
+
+$xing-sign: "\f169";
+
+$youtube-play: "\f16a";
+
+$dropbox: "\f16b";
+
+$stackexchange: "\f16c";
+
+$instagram: "\f16d";
+
+$flickr: "\f16e";
+
+$adn: "\f170";
+
+$bitbucket: "\f171";
+
+$bitbucket-sign: "\f172";
+
+$tumblr: "\f173";
+
+$tumblr-sign: "\f174";
+
+$long-arrow-down: "\f175";
+
+$long-arrow-up: "\f176";
+
+$long-arrow-left: "\f177";
+
+$long-arrow-right: "\f178";
+
+$apple: "\f179";
+
+$windows: "\f17a";
+
+$android: "\f17b";
+
+$linux: "\f17c";
+
+$dribbble: "\f17d";
+
+$skype: "\f17e";
+
+$foursquare: "\f180";
+
+$trello: "\f181";
+
+$female: "\f182";
+
+$male: "\f183";
+
+$gittip: "\f184";
+
+$sun: "\f185";
+
+$moon: "\f186";
+
+$archive: "\f187";
+
+$bug: "\f188";
+
+$vk: "\f189";
+
+$weibo: "\f18a";
+
+$renren: "\f18b";
+
diff --git a/sass/inuitcss/CHANGELOG.md b/sass/inuitcss/CHANGELOG.md
new file mode 100644
index 00000000000..53949c7eff5
--- /dev/null
+++ b/sass/inuitcss/CHANGELOG.md
@@ -0,0 +1,26 @@
+# Changelog
+
+This changelog only exists as of v5.0 onward, for previous inuit.css versions’
+history please browse the commit logs.
+
+## v5.0.0
+
+This major version bump saw the introduction of the
+[inuit.css web template](https://github.com/csswizardry/inuit.css-web-template),
+a means of including inuit.css as a submodule through which you can easily pull
+updates from GitHub whilst avoiding having to touch any library code.
+
+* Use [beautons](https://github.com/csswizardry/beautons) for button styling
+* Use [csswizardry-grids](https://github.com/csswizardry/csswizardry-grids) for
+ inuit.css’ built-in grid system.
+* Removed [Batch](http://adamwhitcroft.com/batch/)
+* Moved over to [HTML5 Boilerplate](http://html5boilerplate.com/) style helper
+ classes.
+* Added a few more helper classes and mixins.
+* Introduced switches to turn objects and abstractions on/off.
+
+## v5.1.1
+
+* Convert special character to unicode.
+* Fix/change the `headings` mixin.
+* Fix some typos pertaining to the renaming of the spriting object.
diff --git a/sass/inuitcss/CONTRIBUTING.md b/sass/inuitcss/CONTRIBUTING.md
new file mode 100644
index 00000000000..e98e6a27404
--- /dev/null
+++ b/sass/inuitcss/CONTRIBUTING.md
@@ -0,0 +1,42 @@
+# Contributing to inuit.css
+
+So, you want to contribute to inuit.css? That’s awesome!
+
+However, I do ask that you follow a few small rules…
+
+## Bugs and issues
+
+If you believe you have a bug or issue that needs investigating:
+
+* Search existing issues to avoid opening a duplicate.
+* Please open an issue and be as descriptive as possible.
+* If you can, accompany the report with a reduced test case via
+ [jsFiddle](http://jsfiddle.net/) or similar.
+
+## Pull requests
+
+If submitting a pull request:
+
+* Follow the predefined code style used in the framework (I’m afraid that means
+ no spaces before opening braces and after colons (I’m weird like that)).
+* Read my [Git workflow for inuit.css](http://csswizardry.com/2012/12/my-git-workflow-for-inuit-css/)
+ and try and keep as close to that as possible.
+* Carry out all your work in a topic branch with a suitable name, e.g.
+ `fix/grids`, `feature/new-object` etc.
+* Commit sensibly and, if needs be, rebase your branch to tidy your commits up.
+* Ensure inuit.css still compiles without error through both the standalone
+ library and the web template.
+* Submit all pull requests against the `incoming` branch. Any pull requests
+ submitted against `master` **will** be declined.
+* Advise on versioning if possible; if the changes require a version bump or
+ merely a patch bump, please let me know.
+
+## Feature requests
+
+I am open to requests for adding new features, but please bear in mind:
+
+* Make sure it fits in the with ideals and scope of the project; inuit.css has a
+ very specific purpose and all features need tp tie in with this.
+* Have a go at adding the new functionality yourself and opening a pull request.
+* **Discuss any features before attempting to develop them yourself;** I would
+ hate for anyone to spend a tonne of time on something that I end up rejecting.
diff --git a/sass/inuitcss/LICENSE b/sass/inuitcss/LICENSE
new file mode 100644
index 00000000000..00c3fc50230
--- /dev/null
+++ b/sass/inuitcss/LICENSE
@@ -0,0 +1,13 @@
+Copyright 2012 Harry Roberts
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/sass/inuitcss/README.md b/sass/inuitcss/README.md
new file mode 100644
index 00000000000..3a9ba747017
--- /dev/null
+++ b/sass/inuitcss/README.md
@@ -0,0 +1,368 @@
+
+
+# inuit.css – v5.0
+
+inuit.css is a powerful little framework designed for _serious_ developers.
+
+It is a Sass based, Object Oriented framework that is full of objects and
+abstractions. inuit.css provides little-to-no design which means no undoing
+things, no deleting CSS and no adhering to other peoples’ design decisions.
+
+inuit.css is built on a [BEM](http://bem.info/)-style naming convention and
+honed based on [work done by Nicolas Gallagher](https://gist.github.com/1309546).
+
+inuit.css is ideally suited to designers who want to focus on the creative and
+not code, and developers who understand the need for abstraction and an OO
+approach.
+
+inuit.css gives you design patterns, not design decisions. It features nestable,
+fluid grids; a double-stranded heading hierarchy; sprites; buttons and a lot,
+_lot_ more.
+
+
+**Use inuit.css if:**
+
+* You need a powerful library of objects and abstractions.
+* You understand/appreciate the value of OO code and the need for scalability
+ and reuse.
+* You are a confident/competent developer comfortable with OOCSS and Sass, as
+ well as familiarity with OO principles in general.
+
+**Do not use inuit.css if:**
+
+* You need a framework that supplies design (I’d recommend
+ [Bootstrap](http://twitter.github.com/bootstrap/) for that).
+
+## Browser support
+
+inuit.css is a modern framework for modern browsers. It takes advantage of
+[normalize.css](http://necolas.github.com/normalize.css/) and global
+`box-sizing:border-box;` (optional). As such, inuit.css is intended for **IE8**
+and above only. The last release to support IE7 was
+[v4.1.5](https://github.com/csswizardry/inuit.css/archive/v4.1.5.zip).
+
+## The developer
+
+There are a million-and-one different CSS frameworks out there so this rather
+cringeworthy section is an attempt to validate inuit.css and give it some
+credibility…
+
+I am [Harry Roberts](http://hry.rbrts.me), I am a 22 year old developer and
+front-end architect from the UK. I work as a Senior UI Developer for
+[BSkyB](http://en.wikipedia.org/wiki/BSkyB) where it is my job to build scalable
+front-ends, write internally used CSS frameworks and libraries, and to architect
+CSS and front-end builds.
+
+I [write](http://csswizardry.com), [tweet](http://twitter.com/csswizardry) and
+[speak](http://speakerdeck.com/u/csswizardry/) about OOCSS, scalable CSS,
+maintainability, working in large teams, CSS performance, CSS architecture and a
+whole lot more.
+
+inuit.css is the result of years of my specialism in CSS (as CSS is all I do).
+It is a collection of design patterns, objects, and abstractions that have been
+refined and bulletproofed over hours of development across an array of projects
+of varying sizes. inuit.css is the result of hundreds of hours of work all
+condensed into one powerful little framework.
+
+## Installation
+
+**Requires Sass 3.2**
+
+inuit.css v5.0+ is designed to be even more advanced than previous versions of
+your favourite CSS framework! inuit.css’ core library is now intended to be used
+as a submodule which means you can always get inuit.css’ latest updates without
+ever having to touch a line of library code.
+
+This works by having this, the inuit.css core library, and the
+[inuit.css-web-template](https://github.com/csswizardry/inuit.css-web-template).
+The web template is very un-opinionated and simply houses your site, however
+you wish to build it. It has a `css/` directory which contains your
+project-specific variables and any stylesheets that extend inuit.css, as well as
+housing inuit.css as an updatable submodule. Any of inuit.css’ default settings
+can be simply overridden from the web template which means you no longer have to
+edit a single line of the framework (which in turn means that incorporating
+inuit.css updates is as simple as a `$ git pull`).
+
+### Install via command line (recommended)
+
+The command line install of inuit.css is _incredibly_ simple:
+
+ $ git clone --recursive git@github.com:csswizardry/inuit.css-web-template.git your-project-folder
+ $ cd your-project-folder
+ $ ./go
+
+What we are doing here is cloning an instance of the inuit.css-web-template and
+its submodules (that’s what the `--recursive` does) into a directory which you
+specify. Next we `cd` into that directory and run [our `go` script](https://github.com/csswizardry/inuit.css-web-template/blob/master/go).
+This script (courtesy of [Nick Payne](http://twitter.com/makeusabrew)) simply
+removes the web template’s Git instance and replaces it with a fresh one for
+your project, whilst also maintaining your inuit.css submodule.
+
+### Install via zip
+
+Though not tested, using inuit.css from its GitHub zip _should_ be fairly
+simple. Using inuit.css from zipped source does mean that you can’t update
+inuit.css as a submodule, but you may well be able to drop fresh zip files into
+the `css/inuit.css/` directory provided you don’t edit any library code.
+
+Firstly you need to download [the web template](https://github.com/csswizardry/inuit.css-web-template)
+zip and unpack it to a location of your choosing. Next you need to download the
+inuit.css core zip and unpack that into `css/inuit.css/` in your new project.
+
+## Getting started
+
+Once you have your project set up, you should be looking at a directory
+structure a little like this:
+
+ your-project-folder/
+ css/
+ inuit.css/
+ _vars.scss
+ style.scss
+ watch
+ index.html
+
+Your CSS directory holds everything you need to get building:
+
+* Everything in `css/inuit.css/` is library code which **should not** be edited.
+ If you `cd` into here you should see that this submodule will initially be on
+ `(no branch)`, this is because the submodule points at a specific commit and
+ not a branch. You can treat this directory like any other Git project which
+ means you can `$ git checkout master` to get your submodule on the most
+ up-to-date stable version of inuit.css. To grab any new changes simply run
+ `$ git pull` on the `master` branch.
+* `_vars.scss` contains any project variables you need, as well as any overrides
+ you wish to make to the inuit.css library. It also houses feature switches to
+ turn inuit.css’ objects and abstractions on and off as you need them.
+* `style.scss` is your master Sass stylesheet which will concatenate any other
+ stylesheets from inuit.css and your extensions when it is compiled.
+* `watch` is a handy little script which makes it easier for you to watch your
+ Sass from the command line; instead of the `$ sass --watch ...` command, you
+ now need only type `$ ./watch` and the script will do the rest. Running this
+ will compile your project into `style[.min].css`.
+
+## How inuit.css works
+
+inuit.css works in ‘layers’, not dissimilar to [SMACSS](http://smacss.com/). The
+principle of inuit.css’ architecture is levels of extension; each layer of code
+extends the layer below.
+
+We start in `inuit.css/generic/`, with our most generic, low-level styling,
+things like a clearfix, [normalize.css](http://necolas.github.com/normalize.css/),
+our reset and any shared styling like margins (for vertical rythmn).
+
+On top of that we lay our base styles, found in `inuit.css/base/`; these are
+things like unclassed headings, what our basic forms look like, how simple
+tables appear. These are all design-free HTML elements that you can extend with
+your own styles later on.
+
+Next up, in `inuit.css/objects/`, we have our objects and abstractions; these
+are all scaffolding type constructs that hold no styling, but do heavy lifting.
+In here we have things like
+[the media object](http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/),
+[the nav abstraction](http://csswizardry.com/2011/09/the-nav-abstraction/) and
+other unstyled objects that you can use to construct design patterns _without_
+design (that bit is left up to you).
+
+Finally we have our helper classes (though these live back in the `inuit.css/generic/`
+directory); these are things like margin helper classes, width classes and other
+‘style trumps’ which need to take precedence over any things that have gone
+before them. These classes are used to modify your objects and abstractions on a
+case-by-case basis.
+
+## Overriding inuit.css’ defaults
+
+inuit.css has a file called `_defaults.scss` which contains all the Sass
+variables required for the library to compile without failing. These variables
+are preset because Sass will error without them, however they are **not** set in
+stone, and you are encouranged to override and experiment with them.
+
+It is tempting to modify their vaules in the inuit.css submodule but this is
+**not** the correct method for modifying inuit.css, and in doing so you will
+prevent yourself from being able to update inuit.css’ core library. The correct
+proceedure is to redefine that variable in `_vars.scss` found in the inuit.css
+web template. Let’s take an example…
+
+In inuit.css’ `_defaults.scss` we find the following:
+
+ $h1-size: 36px!default; // .alpha
+ $h2-size: 30px!default; // .beta
+ $h3-size: 24px!default; // .gamma
+ $h4-size: 20px!default; // .delta
+ $h5-size: 16px!default; // .epsilon
+ $h6-size: 14px!default; // .zeta
+
+Let’s say we want our `h1`s to be `48px` and not `36px`; instead of modifying
+the value of `$h1-size` here, pop open your `_vars.scss` file and add this in
+the overrides section:
+
+ /*------------------------------------*\
+ $OVERRIDES
+ \*------------------------------------*/
+ /**
+ * Place any variables that should override inuit.css’ defaults here.
+ */
+ $h1-size:48px;
+
+Now when you compile your CSS, inuit.css will know to ignore its preset value
+(that is what `!default` is for) in favour of your own. By doing things this way
+you can change the values that inuit.css uses without having to modify inuit.css
+itself, thus leaving it free to be updated.
+
+In this file you will also see your feature switches needed to turn objects and
+abstractions on and off. Feature switches are only preset for objects and
+abstractions; you will **not** initially find switches for things like
+`$debug-mode` in here, but they can be turned on and off by adding an override
+as outlined above, e.g.:
+
+ /*------------------------------------*\
+ $OVERRIDES
+ \*------------------------------------*/
+ /**
+ * Place any variables that should override inuit.css’ defaults here.
+ */
+ $h1-size:48px;
+ $push:true;
+ $palm-push:true;
+
+This file can also house any custom variables that you wish to use in extending
+inuit.css, as covered in the next section.
+
+## Extending inuit.css
+
+inuit.css is, by design, a very design-free framework. This means that the
+style and design of your site is left entirely up to you (as it should be).
+Because inuit.css gives you lots of customisable foundations, you need to add
+the final layer: UI.
+
+How you go about this step is largely left up to you, but it is common practice
+to create another directory in `css/` called `ui/`, leaving you with:
+
+ your-project-folder/
+ css/
+ inuit.css/
+ ui/
+ _vars.scss
+ style.scss
+ watch
+ index.html
+
+In here you can place your own Sass files which hold your UI’s CSS, for example:
+
+ ui/
+ _contact-form.scss
+ _footer.scss
+ _pricing-table.scss
+
+You then include these from `style.scss`, like so:
+
+ /**
+ * She’s all yours, cap’n... Begin importing your stuff here.
+ */
+ //@import "ui/example";
+ @import "ui/footer";
+ @import "ui/contact-form";
+ @import "ui/pricing-table";
+
+Now, when you run `$ ./watch`, `style.scss` will be calling:
+
+1. Your variables
+2. The inuit.css core library (as outlined above)
+3. Your custom/UI CSS
+
+…and building a concatenated stylesheet out of it all. Neat, huh?!
+
+## Footprint
+
+Out of the box, inuit.css is very small, however it is **imperative** that you
+only ever deploy a minified version of your compiled stylesheet to your live
+environment. inuit.css compiles stright to minified output by default, but you
+can change this in `watch` if you have a build process in place.
+
+It is also **highly** recommended that you enable gzip compression on any text
+assets being served from your site; doing so will further reduce the footprint
+of inuit.css and greatly help your site’s performance.
+
+## Documentation
+
+There are no official docs for inuit.css because the code _is_ the
+documentation. Everything is heavily commented with example HTML. If you
+struggle with anything please tweet at [@inuitcss](http://twitter.com/inuitcss)
+and/or [open an issue](https://github.com/csswizardry/inuit.css/issues) and I’ll
+try help out and use your feedback to improve the documentation.
+
+It is strongly encouraged that you thoroughly read the source of inuit.css’
+files, particularly `_inuit.scss`.
+
+### Demos
+
+Although there are no docs as such, there is [a dedicated inuit.css jsFiddle
+account](http://jsfiddle.net/user/inuitcss/fiddles/) which houses plenty of
+demos of various aspects of the framework.
+
+### Development
+
+You can keep up-to-date with upcoming features, suggestions and fixes by looking
+at the [inuit.css Trello board](https://trello.com/board/inuit-css/50a16487543dea585502f3d2).
+
+## Looking for a little LESS?
+
+[Peter Wilson](http://twitter.com/pwcc) and
+[Nicolas Carlo](https://twitter.com/nicoespeon) are maintaining a LESS port of
+inuit.css: check [the GitHub repo](https://github.com/peterwilsoncc/inuit.css).
+
+## Using Compass?
+
+[Stephen Way](http://github.com/stephenway) is maintaining a Compass port of
+inuit.css: check [the GitHub repo](https://github.com/stephenway/compass-inuit).
+
+## Test-drive
+
+If you would like to try inuit.css out before you download anything there is a
+compiled version [on jsFiddle](http://jsfiddle.net/inuitcss/a6yS3/) that you
+are encouraged to fork and play with. Refer back to
+[the source here on GitHub](https://github.com/csswizardry/inuit.css/blob/master/inuit.css/_inuit.scss)
+for documentation.
+
+## As used by
+
+* [BSkyB](http://en.wikipedia.org/wiki/BSkyB)
+* [pr.ofile.me](http://pr.ofile.me)
+* [Lukas Bestle](http://lu-x.me)
+* [Matthew Tyas](http://matthewtyas.com/)
+
+### Using inuit.css?
+
+If you use inuit.css on a live project then [tweet at me](http://twitter.com/inuitcss)
+and I’ll send you some inuit.css stickers!
+
+## Support inuit.css
+
+If you use and/or like inuit.css, perhaps you might consider [supporting it
+through Gumroad](http://gum.co/nOoht).
+
+## Credits
+
+inuit.css, although produced and maintained by one developer, could not have
+been possible without inspiration and work from an array of other people.
+
+* **[Nicole Sullivan](https://twitter.com/stubbornella)** for her work on OOCSS
+* **[Jonathan Snook](https://twitter.com/snookca)** for his work on SMACSS
+* **[Nicolas Gallagher](https://twitter.com/necolas)** for his work on numerous
+ CSS things
+* **[Bryan James](https://twitter.com/WengersToyBus)** for the inuit.css logo
+* **[Nick Payne](https://twitter.com/makeusabrew)** for helping with v5.0’s
+ submodule architecture.
+
+And probably more…
+
+## License
+
+Copyright 2013 Harry Roberts
+
+Licensed under the Apache License, Version 2.0.
+
+---
+
+**inuit.css is the most powerful little framework out there, and it’s ready to
+go!**
diff --git a/sass/inuitcss/_defaults.scss b/sass/inuitcss/_defaults.scss
new file mode 100644
index 00000000000..37b47eca3d4
--- /dev/null
+++ b/sass/inuitcss/_defaults.scss
@@ -0,0 +1,226 @@
+@charset "UTF-8";
+/*------------------------------------*\
+ $DEFAULTS
+\*------------------------------------*/
+/**
+ * inuit.css’ default variables. Redefine these in your `_vars.scss` file (found
+ * in the inuit.css-web-template) to override them.
+ */
+
+
+
+
+
+/*------------------------------------*\
+ $DEBUG
+\*------------------------------------*/
+/**
+ * Debug mode will visually highlight any potential markup/accessibility quirks
+ * in the browser. Set to `true` or `false`.
+ */
+$debug-mode: false!default;
+
+
+
+
+
+/*------------------------------------*\
+ $BORDER-BOX
+\*------------------------------------*/
+/**
+ * Do you want all elements to adopt `box-sizing:border-box;` as per
+ * paulirish.com/2012/box-sizing-border-box-ftw ?
+ */
+$global-border-box: true!default;
+
+
+
+
+
+/*------------------------------------*\
+ $BASE
+\*------------------------------------*/
+/**
+ * Base stuff
+ */
+$base-font-size: 16px!default;
+$base-line-height: 24px!default;
+
+/**
+ * Base font-family.
+ */
+$base-font-family: sans-serif!default;
+
+/**
+ * Default colour for objects’ borders etc.
+ */
+$base-ui-color: #ccc!default;
+
+
+
+
+
+/*------------------------------------*\
+ $RESPONSIVE
+\*------------------------------------*/
+/**
+ * Responsiveness?
+ */
+$responsive: true!default;
+
+/**
+ * Responsiveness for widescreen/high resolution desktop monitors and beyond?
+ * Note: `$responsive` variable above must be set to true before enabling this.
+ */
+$responsive-extra: false!default;
+
+/**
+ * Responsive push and pull produce a LOT of code, only turn them on if you
+ * definitely need them.
+ */
+$push: false!default;
+/**
+ * Note: `$push` variable above must be set to true before enabling these.
+ */
+$palm-push: false!default;
+$lap-push: false!default;
+$lap-and-up-push: false!default;
+$portable-push: false!default;
+$desk-push: false!default;
+
+$pull: false!default;
+/**
+ * Note: `$pull` variable above must be set to true before enabling these.
+ */
+$palm-pull: false!default;
+$lap-pull: false!default;
+$lap-and-up-pull: false!default;
+$portable-pull: false!default;
+$desk-pull: false!default;
+
+/**
+ * Tell inuit.css when breakpoints start.
+ */
+$lap-start: 481px!default;
+$desk-start: 1024px!default;
+$desk-wide-start: 1200px!default;
+
+
+
+
+
+/*------------------------------------*\
+ $FONT-SIZES
+\*------------------------------------*/
+/**
+ * Font-sizes (in pixels). Refer to relevant sections for their implementations.
+ */
+$giga-size: 96px!default;
+$mega-size: 72px!default;
+$kilo-size: 48px!default;
+
+$h1-size: 36px!default; // .alpha
+$h2-size: 30px!default; // .beta
+$h3-size: 24px!default; // .gamma
+$h4-size: 20px!default; // .delta
+$h5-size: 16px!default; // .epsilon
+$h6-size: 14px!default; // .zeta
+
+$milli-size: 12px!default;
+$micro-size: 10px!default;
+
+
+
+
+
+/*------------------------------------*\
+ $QUOTES
+\*------------------------------------*/
+/**
+ * English quote marks?
+ */
+$english-quotes: true!default;
+
+/**
+ * If you want English quotes then please do not edit these; they’re only here
+ * because Sass needs them.
+ */
+$open-quote: null;
+$close-quote: null;
+
+/**
+ * If you need non-English quotes, please alter the following values accordingly:
+ */
+@if $english-quotes != true{
+ $open-quote: \00AB;
+ $close-quote: \00BB;
+}
+
+
+
+
+
+/*------------------------------------*\
+ $BRAND
+\*------------------------------------*/
+/**
+ * Brand stuff
+ */
+$brand-color: #4a8ec2!default;
+$brand-face: "Helvetica Neue", sans-serif!default;
+
+/**
+ * How big would you like round corners to be by default?
+ */
+$brand-round: 4px!default;
+
+
+
+
+
+/*------------------------------------*\
+ $OBJECTS AND ABSTRACTIONS
+\*------------------------------------*/
+/**
+ * Which objects and abstractions would you like to use?
+ */
+$use-grids: false!default;
+$use-flexbox: false!default;
+$use-columns: false!default;
+$use-nav: false!default;
+$use-options: false!default;
+$use-pagination: false!default;
+$use-breadcrumb: false!default;
+$use-media: false!default;
+$use-marginalia: false!default;
+$use-island: false!default;
+$use-block-list: false!default;
+$use-matrix: false!default;
+$use-split: false!default;
+$use-this-or-this: false!default;
+$use-link-complex: false!default;
+$use-flyout: false!default;
+$use-arrows: false!default;
+$use-sprite: false!default;
+$use-icon-text: false!default;
+$use-beautons: false!default;
+$use-lozenges: false!default;
+$use-rules: false!default;
+$use-stats: false!default;
+$use-greybox: false!default;
+
+
+
+
+
+/*------------------------------------*\
+ $FRAMEWORK
+\*------------------------------------*/
+/**
+ * inuit.css will work these next ones out for use within the framework.
+ *
+ * Assign our `$base-line-height` to a new spacing var for more transparency.
+ */
+$base-spacing-unit: $base-line-height!default;
+$half-spacing-unit: $base-spacing-unit / 2!default;
+$line-height-ratio: $base-line-height / $base-font-size;
diff --git a/sass/inuitcss/_inuit.scss b/sass/inuitcss/_inuit.scss
new file mode 100644
index 00000000000..ee0160f0509
--- /dev/null
+++ b/sass/inuitcss/_inuit.scss
@@ -0,0 +1,214 @@
+@charset "UTF-8";
+/*------------------------------------*\
+ INUIT.CSS
+\*------------------------------------*/
+/*!*
+ *
+ * inuitcss.com -- @inuitcss -- @csswizardry
+ *
+ */
+/**
+ * inuit.css acts as a base stylesheet which you should extend with your own
+ * theme stylesheet.
+ *
+ * inuit.css aims to do the heavy lifting; sorting objects and abstractions,
+ * design patterns and fiddly bits of CSS, whilst leaving as much design as
+ * possible to you. inuit.css is the scaffolding to your decorator.
+ *
+ * This stylesheet is heavily documented and contains lots of comments, please
+ * take care to read and refer to them as you build. For further support please
+ * tweet at @inuitcss.
+ *
+ * Owing to the amount of comments please only ever use minified CSS in
+ * production. This file is purely a dev document.
+ *
+ * The table of contents below maps to section titles of the same name, to jump
+ * to any section simply run a find for $[SECTION-TITLE].
+ *
+ * Most objects and abstractions come with a chunk of markup that you should be
+ * able to paste into any view to quickly see how the CSS works in conjunction
+ * with the correct HTML.
+ *
+ * inuit.css is written to this standard: github.com/csswizardry/CSS-Guidelines
+ *
+ * LICENSE
+ *
+ * Copyright 2013 Harry Roberts
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Thank you for choosing inuit.css. May your web fonts render perfectly.
+ */
+
+
+
+
+
+/*------------------------------------*\
+ $CONTENTS
+\*------------------------------------*/
+/**
+ * CONTENTS............You’re reading it!
+ * WARNING.............Here be dragons!
+ * IMPORTS.............Begin importing the sections below
+ *
+ * MIXINS..............Super-simple Sass stuff
+ * NORMALIZE...........normalize.css
+ * RESET...............Set some defaults
+ * CLEARFIX............
+ * SHARED..............Shared declarations
+ *
+ * MAIN................High-level elements like `html`, `body`, etc.
+ * HEADINGS............Double-stranded heading hierarchy
+ * PARAGRAPHS..........
+ * SMALLPRINT..........Smaller text elements like `small`
+ * QUOTES..............
+ * CODE................
+ * LISTS...............
+ * IMAGES..............
+ * TABLES..............
+ * FORMS...............
+ *
+ * GRIDS...............Fluid, proportional and nestable grids
+ * FLEXBOX.............Crudely emulate flexbox
+ * COLUMNS.............CSS3 columns
+ * NAV.................A simple abstraction to put a list in horizontal nav mode
+ * OPTIONS.............Grouped nav items
+ * PAGINATION..........Very stripped back, basic paginator
+ * BREADCRUMB..........Simple breadcrumb trail object
+ * MEDIA...............Media object
+ * MARGINALIA..........Simple marginalia content
+ * ISLAND..............Boxed off content
+ * BLOCK-LIST..........Blocky lists of content
+ * MATRIX..............Gridded lists
+ * SPLIT...............A simple split-in-two object
+ * THIS-OR-THIS........Options object
+ * LINK-COMPLEX........
+ * FLYOUT..............Flyout-on-hover object
+ * ARROWS..............CSS arrows
+ * SPRITE..............Generic spriting element
+ * ICON-TEXT...........Icon and text couplings
+ * BEAUTONS............Use the beautons micro library
+ * LOZENGES............Basic lozenge styles
+ * RULES...............Horizontal rules
+ * STATS...............Simple stats object
+ * GREYBOX.............Wireframing styles
+ *
+ * WIDTHS..............Width classes for use alongside the grid system etc.
+ * PUSH................Push classes for manipulating grids
+ * PULL................Pull classes for manipulating grids
+ * BRAND...............Helper class to apply brand treatment to elements
+ * HELPER..............A series of helper classes to use arbitrarily
+ * DEBUG...............Enable to add visual flags for debugging purposes
+ */
+
+
+
+
+
+/*------------------------------------*\
+ $WARNING
+\*------------------------------------*/
+/*
+ * inuit.css, being an OO framework, works in keeping with the open/closed
+ * principle. The variables you set previously are now being used throughout
+ * inuit.css to style everything we need for a base. Any custom styles SHOULD
+ * NOT be added or modified in inuit.css directly, but added via your theme
+ * stylesheet as per the open/closed principle:
+ *
+ * csswizardry.com/2012/06/the-open-closed-principle-applied-to-css
+ *
+ * Try not to edit any CSS beyond this point; if you find you need to do so
+ * it is a failing of the framework so please tweet at @inuitcss.
+ */
+
+
+
+
+
+/*------------------------------------*\
+ $IMPORTS
+\*------------------------------------*/
+/**
+ * Generic utility styles etc.
+ */
+@import "defaults";
+@import "generic/mixins";
+@import "generic/normalize";
+@import "generic/reset";
+@import "generic/clearfix";
+@import "generic/shared";
+
+
+
+
+
+/**
+ * Base styles; unclassed HTML elements etc.
+ */
+@import "base/main";
+@import "base/headings";
+@import "base/paragraphs";
+@import "base/smallprint";
+@import "base/quotes";
+@import "base/code";
+@import "base/images";
+@import "base/lists";
+@import "base/tables";
+@import "base/forms";
+
+
+
+
+
+/**
+ * Objects and abstractions
+ */
+@import "objects/grids";
+@import "objects/flexbox";
+@import "objects/columns";
+@import "objects/nav";
+@import "objects/options";
+@import "objects/pagination";
+@import "objects/breadcrumb";
+@import "objects/media";
+@import "objects/marginalia";
+@import "objects/island";
+@import "objects/block-list";
+@import "objects/matrix";
+@import "objects/split";
+@import "objects/this-or-this";
+@import "objects/link-complex";
+@import "objects/flyout";
+@import "objects/arrows";
+@import "objects/sprite";
+@import "objects/icon-text";
+@import "objects/beautons";
+@import "objects/lozenges";
+@import "objects/rules";
+@import "objects/stats";
+@import "objects/greybox";
+
+
+
+
+
+/**
+ * Style trumps; helper and brand classes
+ */
+@import "generic/widths";
+@import "generic/push";
+@import "generic/pull";
+@import "generic/brand";
+@import "generic/helper";
+@import "generic/debug";
diff --git a/sass/inuitcss/base/_code.scss b/sass/inuitcss/base/_code.scss
new file mode 100644
index 00000000000..017d57dd645
--- /dev/null
+++ b/sass/inuitcss/base/_code.scss
@@ -0,0 +1,64 @@
+@charset "UTF-8";
+/*------------------------------------*\
+ $CODE
+\*------------------------------------*/
+/**
+ * Use an explicit font stack to ensure browsers render correct `line-height`.
+ */
+pre{
+ overflow:auto;
+}
+ pre mark{
+ background:none;
+ border-bottom:1px solid;
+ color:inherit;
+ }
+
+
+/**
+ * Add comments to your code examples, e.g.:
+ *
+ </div><!-- /wrapper -->
+ *
+ */
+.code-comment{
+ /**
+ * Override this setting in your theme stylesheet
+ */
+ opacity:0.75;
+ filter:alpha(opacity=75);
+}
+
+
+/**
+ * You can add line numbers to your code examples but be warned, it requires
+ * some pretty funky looking markup, e.g.:
+ *
+
.nav{
list-style:none;
margin-left:0;
}
.nav > li,
.nav > li > a{
display:inline-block;
*display:inline-block;
zoom:1;
}
++ * + */ +blockquote{ + /** + * .4em is roughly equal to the width of the opening “ that we wish to hang. + */ + text-indent:-0.41em; + + p:last-of-type{ + margin-bottom:0; + } +} + +.source{ + display:block; + text-indent:0; + + &:before{ + content:"\2014"; + } +} diff --git a/sass/inuitcss/base/_smallprint.scss b/sass/inuitcss/base/_smallprint.scss new file mode 100644 index 00000000000..dc57e798e25 --- /dev/null +++ b/sass/inuitcss/base/_smallprint.scss @@ -0,0 +1,14 @@ +@charset "UTF-8"; +/*------------------------------------*\ + $SMALLPRINT +\*------------------------------------*/ +/** + * A series of classes for setting tiny type; for use in smallprint etc. + */ +.smallprint, +.milli{ + @include font-size($milli-size); +} +.micro{ + @include font-size($micro-size); +} diff --git a/sass/inuitcss/base/_tables.scss b/sass/inuitcss/base/_tables.scss new file mode 100644 index 00000000000..bd223ba833a --- /dev/null +++ b/sass/inuitcss/base/_tables.scss @@ -0,0 +1,164 @@ +@charset "UTF-8"; +/*------------------------------------*\ + $TABLES +\*------------------------------------*/ +/** + * We have a lot at our disposal for making very complex table constructs, e.g.: + * +Insanity: doing the same thing over and over again and expecting + different results.
+ Albert Einstein +
Foo | +Bar | +||
---|---|---|---|
Lorem | +Ipsum | +Dolor | +Sit | +
Sit | +Dolor | +03.788 | +Lorem | +
Dolor | +32.210 | +Lorem | +|
Dolor | +47.797 | +Lorem | +|
Sit | +Dolor | +09.640 | +Lorem | +
Dolor | +12.117 | +Lorem | +
+ *
+ * Demo: jsfiddle.net/inuitcss/E26Yd
+ *
+ */
+%text-cols{
+ @include vendor(column-gap, $base-spacing-unit);
+}
+.text-cols--2 { @extend %text-cols; @include vendor(column-count, 2); }
+.text-cols--3 { @extend %text-cols; @include vendor(column-count, 3); }
+.text-cols--4 { @extend %text-cols; @include vendor(column-count, 4); }
+.text-cols--5 { @extend %text-cols; @include vendor(column-count, 5); }
+
+}//endif
diff --git a/sass/inuitcss/objects/_flexbox.scss b/sass/inuitcss/objects/_flexbox.scss
new file mode 100644
index 00000000000..7675a5a1950
--- /dev/null
+++ b/sass/inuitcss/objects/_flexbox.scss
@@ -0,0 +1,56 @@
+@charset "UTF-8";
+@if $use-flexbox == true{
+
+/*------------------------------------*\
+ $FLEXBOX
+\*------------------------------------*/
+/**
+ * Until we can utilise flexbox natively we can kinda, sorta, attempt to emulate
+ * it, in a way... e.g.:
+ *
+
+
Ipsum
+One third grid
+Two thirds grid
+One half grid
+One quarter grid
+One quarter grid
+This here is a pill!
+ * +This here is also a lozenge!
+ * + * Pills have fully rounded ends, lozenges have only their corners rounded. + * + * Demo: jsfiddle.net/inuitcss/N3pGm + * + */ +.pill{ + display:inline-block; + /** + * These numbers set in ems mean that, at its narrowest, a lozenge will be + * the same width as the `line-height` set on the `html` element. + * This allows us to use the `.loz` in almost any `font-size` we wish. + */ + min-width: ($line-height-ratio * 0.666667) * 1em; + padding-right:($line-height-ratio * 0.166667) * 1em; + padding-left: ($line-height-ratio * 0.166667) * 1em; + /* =1.50em */ + text-align:center; + background-color:$base-ui-color; + color:#fff; /* Override this color in your theme stylesheet */ + + /** + * Normally we’d use border-radius:100%; but instead here we just use an + * overly large number; `border-radius:100%;` would create an oval on + * non-square elements whereas we just want to round the ends of an element. + */ + border-radius:100px; +} + +.loz{ + @extend .pill; + border-radius:$brand-round; +} + +}//endif diff --git a/sass/inuitcss/objects/_marginalia.scss b/sass/inuitcss/objects/_marginalia.scss new file mode 100644 index 00000000000..b61bce31c42 --- /dev/null +++ b/sass/inuitcss/objects/_marginalia.scss @@ -0,0 +1,53 @@ +@charset "UTF-8"; +@if $use-marginalia == true{ + +/*------------------------------------*\ + $MARGINALIA +\*------------------------------------*/ +/** + * Marginalia are, per definition, notes in the margin of a document. The + * `marginalia__body` class can be applied to all kinds of content, like text or + * images, and is joined by a width class: + * +Lorem ipsum dolor sit amet, consectetur adipisicing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+A little something about me.
+
+ All content by {{ site.author }} and licenced under Creative Commons.
+ Code under MIT Licence. Site powered by Octopress
+
+Home Assistant will track the state of all the devices in your home, so you don't have to. +
+The following devices are supported:
+Control all your devices from a single, mobile-friendly, interface.
++ Home Assistant allows you to control all your devices without storing any of your data in the cloud. We like to keep your privacy private. +
\ No newline at end of file diff --git a/source/_includes/custom/grid_item_right.html b/source/_includes/custom/grid_item_right.html new file mode 100644 index 00000000000..a765ee97b54 --- /dev/null +++ b/source/_includes/custom/grid_item_right.html @@ -0,0 +1,10 @@ +Setup advanced rules to control devices and bring your home alive.
+Do you want to have…
+We've got you covered.
diff --git a/source/_includes/custom/header.html b/source/_includes/custom/header.html new file mode 100644 index 00000000000..c95bd73bec2 --- /dev/null +++ b/source/_includes/custom/header.html @@ -0,0 +1,11 @@ + + ++Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Installation in less then a minute. +
++ Get started + Browse code on GitHub +
\ No newline at end of file diff --git a/source/_includes/disqus.html b/source/_includes/disqus.html new file mode 100644 index 00000000000..49c6a29cdb7 --- /dev/null +++ b/source/_includes/disqus.html @@ -0,0 +1,21 @@ +{% comment %} Load script if disquss comments are enabled and `page.comments` is either empty (index) or set to true {% endcomment %} +{% if site.disqus_short_name and page.comments != false %} + +{% endif %} diff --git a/source/_includes/facebook_like.html b/source/_includes/facebook_like.html new file mode 100644 index 00000000000..d263e6d2942 --- /dev/null +++ b/source/_includes/facebook_like.html @@ -0,0 +1,10 @@ +{% if site.facebook_like %} + + +{% endif %} diff --git a/source/_includes/footer.html b/source/_includes/footer.html new file mode 100644 index 00000000000..3a8c7687474 --- /dev/null +++ b/source/_includes/footer.html @@ -0,0 +1 @@ +{% include custom/footer.html %} diff --git a/source/_includes/google_analytics.html b/source/_includes/google_analytics.html new file mode 100644 index 00000000000..4d4d5969060 --- /dev/null +++ b/source/_includes/google_analytics.html @@ -0,0 +1,13 @@ +{% if site.google_analytics_tracking_id %} + +{% endif %} diff --git a/source/_includes/google_plus_one.html b/source/_includes/google_plus_one.html new file mode 100644 index 00000000000..b69ddaeb49b --- /dev/null +++ b/source/_includes/google_plus_one.html @@ -0,0 +1,9 @@ +{% if site.google_plus_one %} + +{% endif %} diff --git a/source/_includes/header.html b/source/_includes/header.html new file mode 100644 index 00000000000..524de6514b0 --- /dev/null +++ b/source/_includes/header.html @@ -0,0 +1 @@ +{% include custom/header.html %} diff --git a/source/_includes/javascripts/delicious.html b/source/_includes/javascripts/delicious.html new file mode 100644 index 00000000000..34a4d5fec92 --- /dev/null +++ b/source/_includes/javascripts/delicious.html @@ -0,0 +1,16 @@ +{% if site.delicious_user %} + +{% endif %} +{% if site.pinboard_user %} + +{% endif %} \ No newline at end of file diff --git a/source/_includes/javascripts/disqus.html b/source/_includes/javascripts/disqus.html new file mode 100644 index 00000000000..9dc9e55e587 --- /dev/null +++ b/source/_includes/javascripts/disqus.html @@ -0,0 +1,20 @@ +{% if site.disqus_short_name and page.comments != false %} + +{% endif %} \ No newline at end of file diff --git a/source/_includes/javascripts/github.html b/source/_includes/javascripts/github.html new file mode 100644 index 00000000000..63d529d42f9 --- /dev/null +++ b/source/_includes/javascripts/github.html @@ -0,0 +1,21 @@ +{% if site.github_user %} + + +{% endif %} diff --git a/source/_includes/javascripts/google_analytics.html b/source/_includes/javascripts/google_analytics.html new file mode 100644 index 00000000000..f7a420ab26b --- /dev/null +++ b/source/_includes/javascripts/google_analytics.html @@ -0,0 +1,8 @@ +{% if site.google_analytics_tracking_id %} + +{% endif %} diff --git a/source/_includes/javascripts/scripts.html b/source/_includes/javascripts/scripts.html new file mode 100644 index 00000000000..3c82a307581 --- /dev/null +++ b/source/_includes/javascripts/scripts.html @@ -0,0 +1,12 @@ +{% comment %} + + +{% endcomment %} + +{% include javascripts/google_analytics.html %} +{% include javascripts/disqus.html %} + +{% if page.sidebar != false %} +{% include javascripts/github.html %} +{% include javascripts/delicious.html %} +{% endif %} \ No newline at end of file diff --git a/source/_includes/navigation.html b/source/_includes/navigation.html new file mode 100644 index 00000000000..051dd7211ae --- /dev/null +++ b/source/_includes/navigation.html @@ -0,0 +1,19 @@ + +{% comment %} + {% if site.simple_search %} + + {% endif %} +{% endcomment %} +{% include custom/navigation.html %} diff --git a/source/_includes/post/author.html b/source/_includes/post/author.html new file mode 100644 index 00000000000..83dd6a89a71 --- /dev/null +++ b/source/_includes/post/author.html @@ -0,0 +1,8 @@ +{% if post.author %} + {% assign author = post.author %} +{% elsif page.author %} + {% assign author = page.author %} +{% else %} + {% assign author = site.author %} +{% endif %} +{% if author %} {% endif %} diff --git a/source/_includes/post/categories.html b/source/_includes/post/categories.html new file mode 100644 index 00000000000..4a98b29d5de --- /dev/null +++ b/source/_includes/post/categories.html @@ -0,0 +1,10 @@ +{% capture category %}{% if post %}{{ post.categories | category_links | size }}{% else %}{{ page.categories | category_links | size }}{% endif %}{% endcapture %} +{% unless category == '0' %} + + {% if post %} + {{ post.categories | category_links }} + {% else %} + {{ page.categories | category_links }} + {% endif %} + +{% endunless %} diff --git a/source/_includes/post/date.html b/source/_includes/post/date.html new file mode 100644 index 00000000000..ecf1ad71cf0 --- /dev/null +++ b/source/_includes/post/date.html @@ -0,0 +1,15 @@ +{% capture date %}{{ page.date }}{{ post.date }}{% endcapture %} +{% capture date_formatted %}{{ page.date_formatted }}{{ post.date_formatted }}{% endcapture %} +{% capture has_date %}{{ date | size }}{% endcapture %} + +{% capture updated %}{{ page.updated }}{{ post.updated }}{% endcapture %} +{% capture updated_formatted %}{{ page.updated_formatted }}{{ post.updated_formatted }}{% endcapture %} +{% capture was_updated %}{{ updated | size }}{% endcapture %} + +{% if has_date != '0' %} + {% capture time %}{% endcapture %} +{% endif %} + +{% if was_updated != '0' %} + {% capture updated %}{% endcapture %} +{% else %}{% assign updated = false %}{% endif %} \ No newline at end of file diff --git a/source/_includes/post/disqus_thread.html b/source/_includes/post/disqus_thread.html new file mode 100644 index 00000000000..b1acd8cca8d --- /dev/null +++ b/source/_includes/post/disqus_thread.html @@ -0,0 +1 @@ + diff --git a/source/_includes/post/sharing.html b/source/_includes/post/sharing.html new file mode 100644 index 00000000000..d639faa1f2f --- /dev/null +++ b/source/_includes/post/sharing.html @@ -0,0 +1,11 @@ + diff --git a/source/_includes/site/footer.html b/source/_includes/site/footer.html new file mode 100644 index 00000000000..bb8a410e896 --- /dev/null +++ b/source/_includes/site/footer.html @@ -0,0 +1,7 @@ +Note
+You can append `?api_password=YOUR_PASSWORD` to the url of the web interface to log in automatically. +
Note
+For the light and switch component, you can specify multiple platforms by using sequential sections: [switch], [switch 2], [switch 3] etc +
Note on Tomato
+Tomato requires an extra config variable called `http_id`. The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code. +
Note on Luci
+Before the Luci scanner can be used you have to install the luci RPC package on OpenWRT: `opkg install luci-mod-rpc`. +
'+escapeHtml(repos[i].description||'')+'
t |