diff --git a/themes/hugodocs/layouts/shortcodes/note.html b/themes/hugodocs/layouts/shortcodes/note.html
index 96e840e42..bf88c5f13 100644
--- a/themes/hugodocs/layouts/shortcodes/note.html
+++ b/themes/hugodocs/layouts/shortcodes/note.html
@@ -1,5 +1,5 @@
-
{{with .Get "title"}}{{.}}{{else}}Note{{end}}
+
{{if .Get 0}}{{.Get 0}}{{else}}Note{{end}}
{{.Inner}}
diff --git a/themes/hugodocs/layouts/shortcodes/output.html b/themes/hugodocs/layouts/shortcodes/output.html
index a6eb8f38e..ea042fddc 100644
--- a/themes/hugodocs/layouts/shortcodes/output.html
+++ b/themes/hugodocs/layouts/shortcodes/output.html
@@ -1,15 +1,4 @@
-{{- if .IsNamedParams -}}
-{{$filenameclass := index (split (.Get "filename") ".") 1 }}
-
- {{- with .Get "filename" -}}{{- end -}}
+
+
{{- .Inner -}}
-
-{{- else -}}
-{{$filenameclass := index (split (.Get 0) ".") 1 }}
-
-
- {{- .Inner -}}
-
-{{- end -}}
-
-
+
\ No newline at end of file
diff --git a/themes/hugodocs/layouts/shortcodes/warn.html b/themes/hugodocs/layouts/shortcodes/warn.html
deleted file mode 100644
index d40587524..000000000
--- a/themes/hugodocs/layouts/shortcodes/warn.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
{{with .Get "title"}}{{.}}{{else}}Note{{end}}
-
- {{.Inner}}
-
-
\ No newline at end of file
diff --git a/themes/hugodocs/layouts/shortcodes/warning.html b/themes/hugodocs/layouts/shortcodes/warning.html
new file mode 100644
index 000000000..73f12c80c
--- /dev/null
+++ b/themes/hugodocs/layouts/shortcodes/warning.html
@@ -0,0 +1,6 @@
+
+
{{if .Get 0}}{{.Get 0}}{{else}}Warning{{end}}
+
+ {{.Inner}}
+
+
\ No newline at end of file
diff --git a/themes/hugodocs/pipeline/scss/_variables.scss b/themes/hugodocs/pipeline/scss/_variables.scss
index bcd976f5d..2e13b3902 100644
--- a/themes/hugodocs/pipeline/scss/_variables.scss
+++ b/themes/hugodocs/pipeline/scss/_variables.scss
@@ -30,7 +30,7 @@ $body-bg-color:$hugo-white;
//Typography
$base-font-size: 18px;
-$base-font-family: 'muli','helvetica neue',helvetica,sans-serif;
+$base-font-family: 'muli',$helvetica;
$heading-font-family: $base-font-family;
$base-font-color: #333333;
$base-line-height-content: 1.6;
diff --git a/themes/hugodocs/pipeline/scss/base/_fontello.scss b/themes/hugodocs/pipeline/scss/base/_fontello.scss
index 51b576f09..ebf5d12c8 100755
--- a/themes/hugodocs/pipeline/scss/base/_fontello.scss
+++ b/themes/hugodocs/pipeline/scss/base/_fontello.scss
@@ -1,11 +1,10 @@
@font-face {
font-family: 'fontello';
- src: url('/fonts/fontello/fontello.eot?73509738');
- src: url('/fonts/fontello/fontello.eot?73509738#iefix') format('embedded-opentype'),
- url('/fonts/fontello/fontello.woff2?73509738') format('woff2'),
- url('/fonts/fontello/fontello.woff?73509738') format('woff'),
- url('/fonts/fontello/fontello.ttf?73509738') format('truetype'),
- url('/fonts/fontello/fontello.svg?73509738#fontello') format('svg');
+ src: url('/fonts/fontello/fontello.eot');
+ src: url('/fonts/fontello/fontello.woff2') format('woff2'),
+ url('/fonts/fontello/fontello.woff') format('woff'),
+ url('/fonts/fontello/fontello.ttf') format('truetype'),
+ url('/fonts/fontello/fontello.svg?78165468#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -15,7 +14,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'fontello';
- src: url('../font/fontello.svg?73509738#fontello') format('svg');
+ src: url('../font/fontello.svg?78165468#fontello') format('svg');
}
}
*/
@@ -54,47 +53,77 @@
/* Uncomment for 3D effect */
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
+
.icon-alert:before { content: '\e810'; } /* '' */
.icon-angle-double-right:before { content: '\f101'; } /* '' */
+.icon-attach:before { content: '\e820'; } /* '' */
.icon-attention:before { content: '\e80f'; } /* '' */
-.icon-bash:before { content: '\e804'; } /* '' */
.icon-bell:before { content: '\e80d'; } /* '' */
+.icon-cancel:before { content: '\e81e'; } /* '' */
+.icon-caution:before { content: '\e80f'; } /* '' */
.icon-chrome:before { content: '\e841'; } /* '' */
.icon-clipboard:before { content: '\e817'; } /* '' */
.icon-code:before { content: '\f121'; } /* '' */
.icon-cog-alt:before { content: '\e814'; } /* '' */
.icon-css3:before { content: '\f13c'; } /* '' */
+.icon-docs:before { content: '\f15c'; } /* '' */
.icon-download:before { content: '\e815'; } /* '' */
.icon-facebook-official:before { content: '\f230'; } /* '' */
-.icon-file-pdf:before { content: '\f1c1'; } /* '' */
.icon-firefox:before { content: '\e840'; } /* '' */
.icon-flag:before { content: '\e813'; } /* '' */
+.icon-forum:before {
+content: '\f03d';
+margin-right:.3em;
+} /* '' */
+.icon-github:before { content: '\f09b'; } /* '' */
+.icon-gitter:before { content: '\e819'; } /* '' */
.icon-go:before { content: '\e801'; } /* '' */
.icon-golang:before { content: '\e801'; } /* '' */
-.icon-gopher:before { content: '\e801'; } /* '' */
+.icon-heart:before { content: '\e81d'; } /* '' */
+.icon-help:before { content: '\e81b'; } /* '' */
.icon-home:before { content: '\e812'; } /* '' */
-.icon-html.input:before { content: '\e801'; } /* '' */
+.icon-html.input:before { content: '\e81f'; } /* '' adds the hugo logo to "code" shortcode for filenames that end in ".html"*/
.icon-html5:before { content: '\e800'; } /* '' */
.icon-html:before { content: '\e800'; } /* '' */
+.icon-hugo:before { content: '\e81f'; } /* '' */
.icon-ie:before { content: '\e843'; } /* '' */
.icon-info:before { content: '\e811'; } /* '' */
.icon-instagram:before { content: '\f32d'; } /* '' */
.icon-javascript:before { content: '\e802'; } /* '' */
.icon-js:before { content: '\e802'; } /* '' */
-.icon-json:before {content: '\E81C';}
+.icon-json:before { content: '\e81c'; } /* '' */
.icon-link:before { content: '\e816'; } /* '' */
+.icon-linkedin:before { content: '\f30c'; } /* '' */
+.icon-love:before { content: '\e81d'; } /* '' */
+.icon-mail:before { content: '\e821'; } /* '' */
.icon-markdown:before { content: '\e80e'; } /* '' */
+.icon-note:before { content: '\e80d'; } /* '' */
.icon-opera:before { content: '\e842'; } /* '' */
+.icon-pdf:before { content: '\f1c1'; } /* '' */
.icon-pencil:before { content: '\e80c'; } /* '' */
.icon-picture:before { content: '\e808'; } /* '' */
.icon-quote-left:before { content: '\e809'; } /* '' */
.icon-quote-right:before { content: '\e80a'; } /* '' */
.icon-sass:before { content: '\e803'; } /* '' */
.icon-search:before { content: '\e80b'; } /* '' */
-.icon-sh:before { content: '\e804'; } /* '' */
.icon-share:before { content: '\f1e0'; } /* '' */
-.icon-shell:before { content: '\e804'; } /* '' */
.icon-tag:before { content: '\e806'; } /* '' */
.icon-tags:before { content: '\e805'; } /* '' */
+.icon-sh:before { content: '\e804'; } /* '' */
.icon-terminal:before { content: '\e804'; } /* '' */
-.icon-twitter:before { content: '\e807'; } /* '' */
\ No newline at end of file
+.icon-bash:before { content: '\e804'; } /* '' */
+.icon-thumbs-up:before { content: '\e81a'; } /* '' */
+.icon-twitter:before { content: '\e807'; } /* '' */
+.icon-warning:before { content: '\e810'; } /* '' */
+.icon-website:before { content: '\e818'; } /* '' */
+.icon-yaml:before,.icon-yml:before,.icon-toml:before {
+ font-family:$code-font-family;
+ left:-1em;
+ margin-right:1em;
+}
+.icon-yaml:before,.icon-yml:before {
+ content:'YAML';
+}
+.icon-toml:before{
+ content:'TOML';
+}
\ No newline at end of file
diff --git a/themes/hugodocs/pipeline/scss/base/_typography.scss b/themes/hugodocs/pipeline/scss/base/_typography.scss
index 9afc30689..5246cc51f 100644
--- a/themes/hugodocs/pipeline/scss/base/_typography.scss
+++ b/themes/hugodocs/pipeline/scss/base/_typography.scss
@@ -4,7 +4,6 @@ h1,
h2,
h3,
h4 {
- letter-spacing: -.021em;
font-weight: $heading-font-weight;
margin: 0px;
padding-bottom: 20px;
@@ -13,6 +12,7 @@ h4 {
h1 {
font-size: 2em;
+ letter-spacing: -.021em;
@include MQ(M) {
font-size: 2.25em;
}
@@ -28,11 +28,17 @@ h3 {
h4 {
font-size: 1em;
- color:$hugo-gray;
- text-transform:uppercase;
+ color: $hugo-gray;
+ text-transform: uppercase;
}
.functions {
font-family: $code-font-family;
font-weight: $base-font-weight;
}
+//keeps index page from taking on code/pre font family
+.submenu-item:first-child {
+ a.submenu-item-link.functions{
+ font-family:$base-font-family;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss b/themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss
new file mode 100644
index 000000000..e6d1b8cec
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/_bourbon-deprecated-upcoming.scss
@@ -0,0 +1,411 @@
+// The following features have been deprecated and will be removed in the next MAJOR version release
+
+@mixin inline-block {
+ display: inline-block;
+
+ @warn "The inline-block mixin is deprecated and will be removed in the next major version release";
+}
+
+@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {
+
+ @if type-of($style) == string and type-of($base-color) == color {
+ @include buttonstyle($style, $base-color, $text-size, $padding);
+ }
+
+ @if type-of($style) == string and type-of($base-color) == number {
+ $padding: $text-size;
+ $text-size: $base-color;
+ $base-color: #4294f0;
+
+ @if $padding == inherit {
+ $padding: 7px 18px;
+ }
+
+ @include buttonstyle($style, $base-color, $text-size, $padding);
+ }
+
+ @if type-of($style) == color and type-of($base-color) == color {
+ $base-color: $style;
+ $style: simple;
+ @include buttonstyle($style, $base-color, $text-size, $padding);
+ }
+
+ @if type-of($style) == color and type-of($base-color) == number {
+ $padding: $text-size;
+ $text-size: $base-color;
+ $base-color: $style;
+ $style: simple;
+
+ @if $padding == inherit {
+ $padding: 7px 18px;
+ }
+
+ @include buttonstyle($style, $base-color, $text-size, $padding);
+ }
+
+ @if type-of($style) == number {
+ $padding: $base-color;
+ $text-size: $style;
+ $base-color: #4294f0;
+ $style: simple;
+
+ @if $padding == #4294f0 {
+ $padding: 7px 18px;
+ }
+
+ @include buttonstyle($style, $base-color, $text-size, $padding);
+ }
+
+ &:disabled {
+ cursor: not-allowed;
+ opacity: 0.5;
+ }
+
+ @warn "The button mixin is deprecated and will be removed in the next major version release";
+}
+
+// Selector Style Button
+@mixin buttonstyle($type, $b-color, $t-size, $pad) {
+ // Grayscale button
+ @if $type == simple and $b-color == grayscale($b-color) {
+ @include simple($b-color, true, $t-size, $pad);
+ }
+
+ @if $type == shiny and $b-color == grayscale($b-color) {
+ @include shiny($b-color, true, $t-size, $pad);
+ }
+
+ @if $type == pill and $b-color == grayscale($b-color) {
+ @include pill($b-color, true, $t-size, $pad);
+ }
+
+ @if $type == flat and $b-color == grayscale($b-color) {
+ @include flat($b-color, true, $t-size, $pad);
+ }
+
+ // Colored button
+ @if $type == simple {
+ @include simple($b-color, false, $t-size, $pad);
+ }
+
+ @else if $type == shiny {
+ @include shiny($b-color, false, $t-size, $pad);
+ }
+
+ @else if $type == pill {
+ @include pill($b-color, false, $t-size, $pad);
+ }
+
+ @else if $type == flat {
+ @include flat($b-color, false, $t-size, $pad);
+ }
+}
+
+// Simple Button
+@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
+ $color: hsl(0, 0, 100%);
+ $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
+ $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%);
+ $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%);
+ $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%);
+
+ @if is-light($base-color) {
+ $color: hsl(0, 0, 20%);
+ $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
+ }
+
+ @if $grayscale == true {
+ $border: grayscale($border);
+ $inset-shadow: grayscale($inset-shadow);
+ $stop-gradient: grayscale($stop-gradient);
+ $text-shadow: grayscale($text-shadow);
+ }
+
+ border: 1px solid $border;
+ border-radius: 3px;
+ box-shadow: inset 0 1px 0 0 $inset-shadow;
+ color: $color;
+ display: inline-block;
+ font-size: $textsize;
+ font-weight: bold;
+ @include linear-gradient ($base-color, $stop-gradient);
+ padding: $padding;
+ text-decoration: none;
+ text-shadow: 0 1px 0 $text-shadow;
+ background-clip: padding-box;
+
+ &:hover:not(:disabled) {
+ $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
+ $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%);
+ $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%);
+
+ @if $grayscale == true {
+ $base-color-hover: grayscale($base-color-hover);
+ $inset-shadow-hover: grayscale($inset-shadow-hover);
+ $stop-gradient-hover: grayscale($stop-gradient-hover);
+ }
+
+ @include linear-gradient ($base-color-hover, $stop-gradient-hover);
+
+ box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
+ cursor: pointer;
+ }
+
+ &:active:not(:disabled),
+ &:focus:not(:disabled) {
+ $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
+ $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);
+
+ @if $grayscale == true {
+ $border-active: grayscale($border-active);
+ $inset-shadow-active: grayscale($inset-shadow-active);
+ }
+
+ border: 1px solid $border-active;
+ box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active;
+ }
+}
+
+// Shiny Button
+@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
+ $color: hsl(0, 0, 100%);
+ $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81);
+ $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);
+ $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46);
+ $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12);
+ $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33);
+ $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114);
+ $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48);
+
+ @if is-light($base-color) {
+ $color: hsl(0, 0, 20%);
+ $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
+ }
+
+ @if $grayscale == true {
+ $border: grayscale($border);
+ $border-bottom: grayscale($border-bottom);
+ $fourth-stop: grayscale($fourth-stop);
+ $inset-shadow: grayscale($inset-shadow);
+ $second-stop: grayscale($second-stop);
+ $text-shadow: grayscale($text-shadow);
+ $third-stop: grayscale($third-stop);
+ }
+
+ @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);
+
+ border: 1px solid $border;
+ border-bottom: 1px solid $border-bottom;
+ border-radius: 5px;
+ box-shadow: inset 0 1px 0 0 $inset-shadow;
+ color: $color;
+ display: inline-block;
+ font-size: $textsize;
+ font-weight: bold;
+ padding: $padding;
+ text-align: center;
+ text-decoration: none;
+ text-shadow: 0 -1px 1px $text-shadow;
+
+ &:hover:not(:disabled) {
+ $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18);
+ $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);
+ $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66);
+ $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);
+
+ @if $grayscale == true {
+ $first-stop-hover: grayscale($first-stop-hover);
+ $second-stop-hover: grayscale($second-stop-hover);
+ $third-stop-hover: grayscale($third-stop-hover);
+ $fourth-stop-hover: grayscale($fourth-stop-hover);
+ }
+
+ @include linear-gradient(top, $first-stop-hover 0%,
+ $second-stop-hover 50%,
+ $third-stop-hover 50%,
+ $fourth-stop-hover 100%);
+ cursor: pointer;
+ }
+
+ &:active:not(:disabled),
+ &:focus:not(:disabled) {
+ $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);
+
+ @if $grayscale == true {
+ $inset-shadow-active: grayscale($inset-shadow-active);
+ }
+
+ box-shadow: inset 0 0 20px 0 $inset-shadow-active;
+ }
+}
+
+// Pill Button
+@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
+ $color: hsl(0, 0, 100%);
+ $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%);
+ $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%);
+ $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);
+ $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%);
+ $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%);
+ $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%);
+
+ @if is-light($base-color) {
+ $color: hsl(0, 0, 20%);
+ $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
+ }
+
+ @if $grayscale == true {
+ $border-bottom: grayscale($border-bottom);
+ $border-sides: grayscale($border-sides);
+ $border-top: grayscale($border-top);
+ $inset-shadow: grayscale($inset-shadow);
+ $stop-gradient: grayscale($stop-gradient);
+ $text-shadow: grayscale($text-shadow);
+ }
+
+ border: 1px solid $border-top;
+ border-color: $border-top $border-sides $border-bottom;
+ border-radius: 16px;
+ box-shadow: inset 0 1px 0 0 $inset-shadow;
+ color: $color;
+ display: inline-block;
+ font-size: $textsize;
+ font-weight: normal;
+ line-height: 1;
+ @include linear-gradient ($base-color, $stop-gradient);
+ padding: $padding;
+ text-align: center;
+ text-decoration: none;
+ text-shadow: 0 -1px 1px $text-shadow;
+ background-clip: padding-box;
+
+ &:hover:not(:disabled) {
+ $base-color-hover: adjust-color($base-color, $lightness: -4.5%);
+ $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%);
+ $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%);
+ $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%);
+ $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%);
+ $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%);
+ $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%);
+
+ @if $grayscale == true {
+ $base-color-hover: grayscale($base-color-hover);
+ $border-bottom: grayscale($border-bottom);
+ $border-sides: grayscale($border-sides);
+ $border-top: grayscale($border-top);
+ $inset-shadow-hover: grayscale($inset-shadow-hover);
+ $stop-gradient-hover: grayscale($stop-gradient-hover);
+ $text-shadow-hover: grayscale($text-shadow-hover);
+ }
+
+ @include linear-gradient ($base-color-hover, $stop-gradient-hover);
+
+ background-clip: padding-box;
+ border: 1px solid $border-top;
+ border-color: $border-top $border-sides $border-bottom;
+ box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
+ cursor: pointer;
+ text-shadow: 0 -1px 1px $text-shadow-hover;
+ }
+
+ &:active:not(:disabled),
+ &:focus:not(:disabled) {
+ $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%);
+ $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%);
+ $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%);
+ $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%);
+ $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%);
+
+ @if $grayscale == true {
+ $active-color: grayscale($active-color);
+ $border-active: grayscale($border-active);
+ $border-bottom-active: grayscale($border-bottom-active);
+ $inset-shadow-active: grayscale($inset-shadow-active);
+ $text-shadow-active: grayscale($text-shadow-active);
+ }
+
+ background: $active-color;
+ border: 1px solid $border-active;
+ border-bottom: 1px solid $border-bottom-active;
+ box-shadow: inset 0 0 6px 3px $inset-shadow-active;
+ text-shadow: 0 -1px 1px $text-shadow-active;
+ }
+}
+
+// Flat Button
+@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
+ $color: hsl(0, 0, 100%);
+
+ @if is-light($base-color) {
+ $color: hsl(0, 0, 20%);
+ }
+
+ background-color: $base-color;
+ border-radius: 3px;
+ border: 0;
+ color: $color;
+ display: inline-block;
+ font-size: $textsize;
+ font-weight: bold;
+ padding: $padding;
+ text-decoration: none;
+ background-clip: padding-box;
+
+ &:hover:not(:disabled){
+ $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%);
+
+ @if $grayscale == true {
+ $base-color-hover: grayscale($base-color-hover);
+ }
+
+ background-color: $base-color-hover;
+ cursor: pointer;
+ }
+
+ &:active:not(:disabled),
+ &:focus:not(:disabled) {
+ $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
+
+ @if $grayscale == true {
+ $base-color-active: grayscale($base-color-active);
+ }
+
+ background-color: $base-color-active;
+ cursor: pointer;
+ }
+}
+
+// Flexible grid
+@function flex-grid($columns, $container-columns: $fg-max-columns) {
+ $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
+ @return percentage($width / $container-width);
+
+ @warn "The flex-grid function is deprecated and will be removed in the next major version release";
+}
+
+// Flexible gutter
+@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
+ @return percentage($gutter / $container-width);
+
+ @warn "The flex-gutter function is deprecated and will be removed in the next major version release";
+}
+
+@function grid-width($n) {
+ @return $n * $gw-column + ($n - 1) * $gw-gutter;
+
+ @warn "The grid-width function is deprecated and will be removed in the next major version release";
+}
+
+@function golden-ratio($value, $increment) {
+ @return modular-scale($increment, $value, $ratio: $golden);
+
+ @warn "The golden-ratio function is deprecated and will be removed in the next major version release. Please use the modular-scale function, instead.";
+}
+
+@mixin box-sizing($box) {
+ @include prefixer(box-sizing, $box, webkit moz spec);
+
+ @warn "The box-sizing mixin is deprecated and will be removed in the next major version release. This property can now be used un-prefixed.";
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss b/themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss
new file mode 100644
index 000000000..635c68041
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/_bourbon.scss
@@ -0,0 +1,87 @@
+// Bourbon 4.2.7
+// http://bourbon.io
+// Copyright 2011-2015 thoughtbot, inc.
+// MIT License
+
+@import "settings/prefixer";
+@import "settings/px-to-em";
+@import "settings/asset-pipeline";
+
+@import "functions/assign-inputs";
+@import "functions/contains";
+@import "functions/contains-falsy";
+@import "functions/is-length";
+@import "functions/is-light";
+@import "functions/is-number";
+@import "functions/is-size";
+@import "functions/px-to-em";
+@import "functions/px-to-rem";
+@import "functions/shade";
+@import "functions/strip-units";
+@import "functions/tint";
+@import "functions/transition-property-name";
+@import "functions/unpack";
+@import "functions/modular-scale";
+
+@import "helpers/convert-units";
+@import "helpers/directional-values";
+@import "helpers/font-source-declaration";
+@import "helpers/gradient-positions-parser";
+@import "helpers/linear-angle-parser";
+@import "helpers/linear-gradient-parser";
+@import "helpers/linear-positions-parser";
+@import "helpers/linear-side-corner-parser";
+@import "helpers/radial-arg-parser";
+@import "helpers/radial-positions-parser";
+@import "helpers/radial-gradient-parser";
+@import "helpers/render-gradients";
+@import "helpers/shape-size-stripper";
+@import "helpers/str-to-num";
+
+@import "css3/animation";
+@import "css3/appearance";
+@import "css3/backface-visibility";
+@import "css3/background";
+@import "css3/background-image";
+@import "css3/border-image";
+@import "css3/calc";
+@import "css3/columns";
+@import "css3/filter";
+@import "css3/flex-box";
+@import "css3/font-face";
+@import "css3/font-feature-settings";
+@import "css3/hidpi-media-query";
+@import "css3/hyphens";
+@import "css3/image-rendering";
+@import "css3/keyframes";
+@import "css3/linear-gradient";
+@import "css3/perspective";
+@import "css3/placeholder";
+@import "css3/radial-gradient";
+@import "css3/selection";
+@import "css3/text-decoration";
+@import "css3/transform";
+@import "css3/transition";
+@import "css3/user-select";
+
+@import "addons/border-color";
+@import "addons/border-radius";
+@import "addons/border-style";
+@import "addons/border-width";
+@import "addons/buttons";
+@import "addons/clearfix";
+@import "addons/ellipsis";
+@import "addons/font-stacks";
+@import "addons/hide-text";
+@import "addons/margin";
+@import "addons/padding";
+@import "addons/position";
+@import "addons/prefixer";
+@import "addons/retina-image";
+@import "addons/size";
+@import "addons/text-inputs";
+@import "addons/timing-functions";
+@import "addons/triangle";
+@import "addons/word-wrap";
+
+@import "bourbon-deprecated-upcoming";
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss
new file mode 100644
index 000000000..6f6ab36c4
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-color.scss
@@ -0,0 +1,26 @@
+@charset "UTF-8";
+
+/// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side.
+///
+/// @param {Arglist} $vals
+/// List of arguments
+///
+/// @example scss - Usage
+/// .element {
+/// @include border-color(#a60b55 #76cd9c null #e8ae1a);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// border-left-color: #e8ae1a;
+/// border-right-color: #76cd9c;
+/// border-top-color: #a60b55;
+/// }
+///
+/// @require {mixin} directional-property
+///
+/// @output `border-color`
+
+@mixin border-color($vals...) {
+ @include directional-property(border, color, $vals...);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss
new file mode 100644
index 000000000..1f6586335
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-radius.scss
@@ -0,0 +1,48 @@
+@charset "UTF-8";
+
+/// Provides a quick method for targeting `border-radius` on both corners on the side of a box.
+///
+/// @param {Number} $radii
+/// List of arguments
+///
+/// @example scss - Usage
+/// .element-one {
+/// @include border-top-radius(5px);
+/// }
+///
+/// .element-two {
+/// @include border-left-radius(3px);
+/// }
+///
+/// @example css - CSS Output
+/// .element-one {
+/// border-top-left-radius: 5px;
+/// border-top-right-radius: 5px;
+/// }
+///
+/// .element-two {
+/// border-bottom-left-radius: 3px;
+/// border-top-left-radius: 3px;
+/// }
+///
+/// @output `border-radius`
+
+@mixin border-top-radius($radii) {
+ border-top-left-radius: $radii;
+ border-top-right-radius: $radii;
+}
+
+@mixin border-right-radius($radii) {
+ border-bottom-right-radius: $radii;
+ border-top-right-radius: $radii;
+}
+
+@mixin border-bottom-radius($radii) {
+ border-bottom-left-radius: $radii;
+ border-bottom-right-radius: $radii;
+}
+
+@mixin border-left-radius($radii) {
+ border-bottom-left-radius: $radii;
+ border-top-left-radius: $radii;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss
new file mode 100644
index 000000000..d86ee79d9
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-style.scss
@@ -0,0 +1,25 @@
+@charset "UTF-8";
+
+/// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side.
+///
+/// @param {Arglist} $vals
+/// List of arguments
+///
+/// @example scss - Usage
+/// .element {
+/// @include border-style(dashed null solid);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// border-bottom-style: solid;
+/// border-top-style: dashed;
+/// }
+///
+/// @require {mixin} directional-property
+///
+/// @output `border-style`
+
+@mixin border-style($vals...) {
+ @include directional-property(border, style, $vals...);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss
new file mode 100644
index 000000000..0ea2d4b71
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_border-width.scss
@@ -0,0 +1,25 @@
+@charset "UTF-8";
+
+/// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side.
+///
+/// @param {Arglist} $vals
+/// List of arguments
+///
+/// @example scss - Usage
+/// .element {
+/// @include border-width(1em null 20px);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// border-bottom-width: 20px;
+/// border-top-width: 1em;
+/// }
+///
+/// @require {mixin} directional-property
+///
+/// @output `border-width`
+
+@mixin border-width($vals...) {
+ @include directional-property(border, width, $vals...);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss
new file mode 100644
index 000000000..debeabc53
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_buttons.scss
@@ -0,0 +1,64 @@
+@charset "UTF-8";
+
+/// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`.
+///
+/// @example scss - Usage
+/// #{$all-buttons} {
+/// background-color: #f00;
+/// }
+///
+/// #{$all-buttons-focus},
+/// #{$all-buttons-hover} {
+/// background-color: #0f0;
+/// }
+///
+/// #{$all-buttons-active} {
+/// background-color: #00f;
+/// }
+///
+/// @example css - CSS Output
+/// button,
+/// input[type="button"],
+/// input[type="reset"],
+/// input[type="submit"] {
+/// background-color: #f00;
+/// }
+///
+/// button:focus,
+/// input[type="button"]:focus,
+/// input[type="reset"]:focus,
+/// input[type="submit"]:focus,
+/// button:hover,
+/// input[type="button"]:hover,
+/// input[type="reset"]:hover,
+/// input[type="submit"]:hover {
+/// background-color: #0f0;
+/// }
+///
+/// button:active,
+/// input[type="button"]:active,
+/// input[type="reset"]:active,
+/// input[type="submit"]:active {
+/// background-color: #00f;
+/// }
+///
+/// @require assign-inputs
+///
+/// @type List
+///
+/// @todo Remove double assigned variables (Lines 59–62) in v5.0.0
+
+$buttons-list: 'button',
+ 'input[type="button"]',
+ 'input[type="reset"]',
+ 'input[type="submit"]';
+
+$all-buttons: assign-inputs($buttons-list);
+$all-buttons-active: assign-inputs($buttons-list, active);
+$all-buttons-focus: assign-inputs($buttons-list, focus);
+$all-buttons-hover: assign-inputs($buttons-list, hover);
+
+$all-button-inputs: $all-buttons;
+$all-button-inputs-active: $all-buttons-active;
+$all-button-inputs-focus: $all-buttons-focus;
+$all-button-inputs-hover: $all-buttons-hover;
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss
new file mode 100644
index 000000000..11313d66f
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_clearfix.scss
@@ -0,0 +1,25 @@
+@charset "UTF-8";
+
+/// Provides an easy way to include a clearfix for containing floats.
+///
+/// @link http://cssmojo.com/latest_new_clearfix_so_far/
+///
+/// @example scss - Usage
+/// .element {
+/// @include clearfix;
+/// }
+///
+/// @example css - CSS Output
+/// .element::after {
+/// clear: both;
+/// content: "";
+/// display: table;
+/// }
+
+@mixin clearfix {
+ &::after {
+ clear: both;
+ content: "";
+ display: table;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss
new file mode 100644
index 000000000..a367f651c
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_ellipsis.scss
@@ -0,0 +1,30 @@
+@charset "UTF-8";
+
+/// Truncates text and adds an ellipsis to represent overflow.
+///
+/// @param {Number} $width [100%]
+/// Max-width for the string to respect before being truncated
+///
+/// @example scss - Usage
+/// .element {
+/// @include ellipsis;
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// display: inline-block;
+/// max-width: 100%;
+/// overflow: hidden;
+/// text-overflow: ellipsis;
+/// white-space: nowrap;
+/// word-wrap: normal;
+/// }
+
+@mixin ellipsis($width: 100%) {
+ display: inline-block;
+ max-width: $width;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ word-wrap: normal;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss
new file mode 100644
index 000000000..57128f422
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_font-stacks.scss
@@ -0,0 +1,31 @@
+@charset "UTF-8";
+
+/// Georgia font stack.
+///
+/// @type List
+
+$georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif;
+
+/// Helvetica font stack.
+///
+/// @type List
+
+$helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
+
+/// Lucida Grande font stack.
+///
+/// @type List
+
+$lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif;
+
+/// Monospace font stack.
+///
+/// @type List
+
+$monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace;
+
+/// Verdana font stack.
+///
+/// @type List
+
+$verdana: "Verdana", "Geneva", sans-serif;
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss
new file mode 100644
index 000000000..4caf20ed5
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_hide-text.scss
@@ -0,0 +1,27 @@
+/// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied.
+///
+/// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement
+///
+/// @example scss - Usage
+/// .element {
+/// @include hide-text;
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// overflow: hidden;
+/// text-indent: 101%;
+/// white-space: nowrap;
+/// }
+///
+/// @todo Remove height argument in v5.0.0
+
+@mixin hide-text($height: null) {
+ overflow: hidden;
+ text-indent: 101%;
+ white-space: nowrap;
+
+ @if $height {
+ @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0";
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss
new file mode 100644
index 000000000..674f4e5f6
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_margin.scss
@@ -0,0 +1,26 @@
+@charset "UTF-8";
+
+/// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side.
+///
+/// @param {Arglist} $vals
+/// List of arguments
+///
+/// @example scss - Usage
+/// .element {
+/// @include margin(null 10px 3em 20vh);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// margin-bottom: 3em;
+/// margin-left: 20vh;
+/// margin-right: 10px;
+/// }
+///
+/// @require {mixin} directional-property
+///
+/// @output `margin`
+
+@mixin margin($vals...) {
+ @include directional-property(margin, false, $vals...);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss
new file mode 100644
index 000000000..40a5f006b
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_padding.scss
@@ -0,0 +1,26 @@
+@charset "UTF-8";
+
+/// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side.
+///
+/// @param {Arglist} $vals
+/// List of arguments
+///
+/// @example scss - Usage
+/// .element {
+/// @include padding(12vh null 10px 5%);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// padding-bottom: 10px;
+/// padding-left: 5%;
+/// padding-top: 12vh;
+/// }
+///
+/// @require {mixin} directional-property
+///
+/// @output `padding`
+
+@mixin padding($vals...) {
+ @include directional-property(padding, false, $vals...);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss
new file mode 100644
index 000000000..e460f3ffd
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_position.scss
@@ -0,0 +1,48 @@
+@charset "UTF-8";
+
+/// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side.
+///
+/// @param {Position} $position [relative]
+/// A CSS position value
+///
+/// @param {Arglist} $coordinates [null null null null]
+/// List of values that correspond to the 4-value syntax for the edges of a box
+///
+/// @example scss - Usage
+/// .element {
+/// @include position(absolute, 0 null null 10em);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// left: 10em;
+/// position: absolute;
+/// top: 0;
+/// }
+///
+/// @require {function} is-length
+/// @require {function} unpack
+
+@mixin position($position: relative, $coordinates: null null null null) {
+ @if type-of($position) == list {
+ $coordinates: $position;
+ $position: relative;
+ }
+
+ $coordinates: unpack($coordinates);
+
+ $offsets: (
+ top: nth($coordinates, 1),
+ right: nth($coordinates, 2),
+ bottom: nth($coordinates, 3),
+ left: nth($coordinates, 4)
+ );
+
+ position: $position;
+
+ @each $offset, $value in $offsets {
+ @if is-length($value) {
+ #{$offset}: $value;
+ }
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss
new file mode 100644
index 000000000..2b6f73138
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_prefixer.scss
@@ -0,0 +1,66 @@
+@charset "UTF-8";
+
+/// A mixin for generating vendor prefixes on non-standardized properties.
+///
+/// @param {String} $property
+/// Property to prefix
+///
+/// @param {*} $value
+/// Value to use
+///
+/// @param {List} $prefixes
+/// Prefixes to define
+///
+/// @example scss - Usage
+/// .element {
+/// @include prefixer(border-radius, 10px, webkit ms spec);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// -webkit-border-radius: 10px;
+/// -moz-border-radius: 10px;
+/// border-radius: 10px;
+/// }
+///
+/// @require {variable} $prefix-for-webkit
+/// @require {variable} $prefix-for-mozilla
+/// @require {variable} $prefix-for-microsoft
+/// @require {variable} $prefix-for-opera
+/// @require {variable} $prefix-for-spec
+
+@mixin prefixer($property, $value, $prefixes) {
+ @each $prefix in $prefixes {
+ @if $prefix == webkit {
+ @if $prefix-for-webkit {
+ -webkit-#{$property}: $value;
+ }
+ } @else if $prefix == moz {
+ @if $prefix-for-mozilla {
+ -moz-#{$property}: $value;
+ }
+ } @else if $prefix == ms {
+ @if $prefix-for-microsoft {
+ -ms-#{$property}: $value;
+ }
+ } @else if $prefix == o {
+ @if $prefix-for-opera {
+ -o-#{$property}: $value;
+ }
+ } @else if $prefix == spec {
+ @if $prefix-for-spec {
+ #{$property}: $value;
+ }
+ } @else {
+ @warn "Unrecognized prefix: #{$prefix}";
+ }
+ }
+}
+
+@mixin disable-prefix-for-all() {
+ $prefix-for-webkit: false !global;
+ $prefix-for-mozilla: false !global;
+ $prefix-for-microsoft: false !global;
+ $prefix-for-opera: false !global;
+ $prefix-for-spec: false !global;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss
new file mode 100644
index 000000000..7febbd751
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_retina-image.scss
@@ -0,0 +1,25 @@
+@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) {
+ @if $asset-pipeline {
+ background-image: image-url("#{$filename}.#{$extension}");
+ } @else {
+ background-image: url("#{$filename}.#{$extension}");
+ }
+
+ @include hidpi {
+ @if $asset-pipeline {
+ @if $retina-filename {
+ background-image: image-url("#{$retina-filename}.#{$extension}");
+ } @else {
+ background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}");
+ }
+ } @else {
+ @if $retina-filename {
+ background-image: url("#{$retina-filename}.#{$extension}");
+ } @else {
+ background-image: url("#{$filename}#{$retina-suffix}.#{$extension}");
+ }
+ }
+
+ background-size: $background-size;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss
new file mode 100644
index 000000000..a2992a34c
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_size.scss
@@ -0,0 +1,51 @@
+@charset "UTF-8";
+
+/// Sets the `width` and `height` of the element.
+///
+/// @param {List} $size
+/// A list of at most 2 size values.
+///
+/// If there is only a single value in `$size` it is used for both width and height. All units are supported.
+///
+/// @example scss - Usage
+/// .first-element {
+/// @include size(2em);
+/// }
+///
+/// .second-element {
+/// @include size(auto 10em);
+/// }
+///
+/// @example css - CSS Output
+/// .first-element {
+/// width: 2em;
+/// height: 2em;
+/// }
+///
+/// .second-element {
+/// width: auto;
+/// height: 10em;
+/// }
+///
+/// @todo Refactor in 5.0.0 to use a comma-separated argument
+
+@mixin size($value) {
+ $width: nth($value, 1);
+ $height: $width;
+
+ @if length($value) > 1 {
+ $height: nth($value, 2);
+ }
+
+ @if is-size($height) {
+ height: $height;
+ } @else {
+ @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin.";
+ }
+
+ @if is-size($width) {
+ width: $width;
+ } @else {
+ @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin.";
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss
new file mode 100644
index 000000000..1eb7a5451
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_text-inputs.scss
@@ -0,0 +1,113 @@
+@charset "UTF-8";
+
+/// Generates variables for all text-based inputs. Please note that you must use interpolation on the variable: `#{$all-text-inputs}`.
+///
+/// @example scss - Usage
+/// #{$all-text-inputs} {
+/// border: 1px solid #f00;
+/// }
+///
+/// #{$all-text-inputs-focus},
+/// #{$all-text-inputs-hover} {
+/// border: 1px solid #0f0;
+/// }
+///
+/// #{$all-text-inputs-active} {
+/// border: 1px solid #00f;
+/// }
+///
+/// @example css - CSS Output
+/// input[type="color"],
+/// input[type="date"],
+/// input[type="datetime"],
+/// input[type="datetime-local"],
+/// input[type="email"],
+/// input[type="month"],
+/// input[type="number"],
+/// input[type="password"],
+/// input[type="search"],
+/// input[type="tel"],
+/// input[type="text"],
+/// input[type="time"],
+/// input[type="url"],
+/// input[type="week"],
+/// textarea {
+/// border: 1px solid #f00;
+/// }
+///
+/// input[type="color"]:focus,
+/// input[type="date"]:focus,
+/// input[type="datetime"]:focus,
+/// input[type="datetime-local"]:focus,
+/// input[type="email"]:focus,
+/// input[type="month"]:focus,
+/// input[type="number"]:focus,
+/// input[type="password"]:focus,
+/// input[type="search"]:focus,
+/// input[type="tel"]:focus,
+/// input[type="text"]:focus,
+/// input[type="time"]:focus,
+/// input[type="url"]:focus,
+/// input[type="week"]:focus,
+/// textarea:focus,
+/// input[type="color"]:hover,
+/// input[type="date"]:hover,
+/// input[type="datetime"]:hover,
+/// input[type="datetime-local"]:hover,
+/// input[type="email"]:hover,
+/// input[type="month"]:hover,
+/// input[type="number"]:hover,
+/// input[type="password"]:hover,
+/// input[type="search"]:hover,
+/// input[type="tel"]:hover,
+/// input[type="text"]:hover,
+/// input[type="time"]:hover,
+/// input[type="url"]:hover,
+/// input[type="week"]:hover,
+/// textarea:hover {
+/// border: 1px solid #0f0;
+/// }
+///
+/// input[type="color"]:active,
+/// input[type="date"]:active,
+/// input[type="datetime"]:active,
+/// input[type="datetime-local"]:active,
+/// input[type="email"]:active,
+/// input[type="month"]:active,
+/// input[type="number"]:active,
+/// input[type="password"]:active,
+/// input[type="search"]:active,
+/// input[type="tel"]:active,
+/// input[type="text"]:active,
+/// input[type="time"]:active,
+/// input[type="url"]:active,
+/// input[type="week"]:active,
+/// textarea:active {
+/// border: 1px solid #00f;
+/// }
+///
+/// @require assign-inputs
+///
+/// @type List
+
+$text-inputs-list: 'input[type="color"]',
+ 'input[type="date"]',
+ 'input[type="datetime"]',
+ 'input[type="datetime-local"]',
+ 'input[type="email"]',
+ 'input[type="month"]',
+ 'input[type="number"]',
+ 'input[type="password"]',
+ 'input[type="search"]',
+ 'input[type="tel"]',
+ 'input[type="text"]',
+ 'input[type="time"]',
+ 'input[type="url"]',
+ 'input[type="week"]',
+ 'input:not([type])',
+ 'textarea';
+
+$all-text-inputs: assign-inputs($text-inputs-list);
+$all-text-inputs-active: assign-inputs($text-inputs-list, active);
+$all-text-inputs-focus: assign-inputs($text-inputs-list, focus);
+$all-text-inputs-hover: assign-inputs($text-inputs-list, hover);
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss
new file mode 100644
index 000000000..20e5f1d40
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_timing-functions.scss
@@ -0,0 +1,34 @@
+@charset "UTF-8";
+
+/// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
+///
+/// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html
+///
+/// @type cubic-bezier
+
+$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
+$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
+$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
+$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
+$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
+$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
+
+$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
+$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
+$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
+$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
+$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
+$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
+$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
+
+$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
+$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
+$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
+$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
+$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
+$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
+$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
+$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss
new file mode 100644
index 000000000..8a1ed9cd0
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_triangle.scss
@@ -0,0 +1,63 @@
+@mixin triangle($size, $color, $direction) {
+ $width: nth($size, 1);
+ $height: nth($size, length($size));
+ $foreground-color: nth($color, 1);
+ $background-color: if(length($color) == 2, nth($color, 2), transparent);
+ height: 0;
+ width: 0;
+
+ @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
+ $width: $width / 2;
+ $height: if(length($size) > 1, $height, $height/2);
+
+ @if $direction == up {
+ border-bottom: $height solid $foreground-color;
+ border-left: $width solid $background-color;
+ border-right: $width solid $background-color;
+ } @else if $direction == right {
+ border-bottom: $width solid $background-color;
+ border-left: $height solid $foreground-color;
+ border-top: $width solid $background-color;
+ } @else if $direction == down {
+ border-left: $width solid $background-color;
+ border-right: $width solid $background-color;
+ border-top: $height solid $foreground-color;
+ } @else if $direction == left {
+ border-bottom: $width solid $background-color;
+ border-right: $height solid $foreground-color;
+ border-top: $width solid $background-color;
+ }
+ } @else if ($direction == up-right) or ($direction == up-left) {
+ border-top: $height solid $foreground-color;
+
+ @if $direction == up-right {
+ border-left: $width solid $background-color;
+ } @else if $direction == up-left {
+ border-right: $width solid $background-color;
+ }
+ } @else if ($direction == down-right) or ($direction == down-left) {
+ border-bottom: $height solid $foreground-color;
+
+ @if $direction == down-right {
+ border-left: $width solid $background-color;
+ } @else if $direction == down-left {
+ border-right: $width solid $background-color;
+ }
+ } @else if ($direction == inset-up) {
+ border-color: $background-color $background-color $foreground-color;
+ border-style: solid;
+ border-width: $height $width;
+ } @else if ($direction == inset-down) {
+ border-color: $foreground-color $background-color $background-color;
+ border-style: solid;
+ border-width: $height $width;
+ } @else if ($direction == inset-right) {
+ border-color: $background-color $background-color $background-color $foreground-color;
+ border-style: solid;
+ border-width: $width $height;
+ } @else if ($direction == inset-left) {
+ border-color: $background-color $foreground-color $background-color $background-color;
+ border-style: solid;
+ border-width: $width $height;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss b/themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss
new file mode 100644
index 000000000..64856a925
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/addons/_word-wrap.scss
@@ -0,0 +1,29 @@
+@charset "UTF-8";
+
+/// Provides an easy way to change the `word-wrap` property.
+///
+/// @param {String} $wrap [break-word]
+/// Value for the `word-break` property.
+///
+/// @example scss - Usage
+/// .wrapper {
+/// @include word-wrap(break-word);
+/// }
+///
+/// @example css - CSS Output
+/// .wrapper {
+/// overflow-wrap: break-word;
+/// word-break: break-all;
+/// word-wrap: break-word;
+/// }
+
+@mixin word-wrap($wrap: break-word) {
+ overflow-wrap: $wrap;
+ word-wrap: $wrap;
+
+ @if $wrap == break-word {
+ word-break: break-all;
+ } @else {
+ word-break: $wrap;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss
new file mode 100644
index 000000000..aac675f5a
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_animation.scss
@@ -0,0 +1,43 @@
+// http://www.w3.org/TR/css3-animations/#the-animation-name-property-
+// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.
+
+@mixin animation($animations...) {
+ @include prefixer(animation, $animations, webkit moz spec);
+}
+
+@mixin animation-name($names...) {
+ @include prefixer(animation-name, $names, webkit moz spec);
+}
+
+@mixin animation-duration($times...) {
+ @include prefixer(animation-duration, $times, webkit moz spec);
+}
+
+@mixin animation-timing-function($motions...) {
+ // ease | linear | ease-in | ease-out | ease-in-out
+ @include prefixer(animation-timing-function, $motions, webkit moz spec);
+}
+
+@mixin animation-iteration-count($values...) {
+ // infinite |
+ @include prefixer(animation-iteration-count, $values, webkit moz spec);
+}
+
+@mixin animation-direction($directions...) {
+ // normal | alternate
+ @include prefixer(animation-direction, $directions, webkit moz spec);
+}
+
+@mixin animation-play-state($states...) {
+ // running | paused
+ @include prefixer(animation-play-state, $states, webkit moz spec);
+}
+
+@mixin animation-delay($times...) {
+ @include prefixer(animation-delay, $times, webkit moz spec);
+}
+
+@mixin animation-fill-mode($modes...) {
+ // none | forwards | backwards | both
+ @include prefixer(animation-fill-mode, $modes, webkit moz spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss
new file mode 100644
index 000000000..abddc0204
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_appearance.scss
@@ -0,0 +1,3 @@
+@mixin appearance($value) {
+ @include prefixer(appearance, $value, webkit moz ms o spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss
new file mode 100644
index 000000000..fc68e2dd0
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_backface-visibility.scss
@@ -0,0 +1,3 @@
+@mixin backface-visibility($visibility) {
+ @include prefixer(backface-visibility, $visibility, webkit spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss
new file mode 100644
index 000000000..6ed19ab58
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_background-image.scss
@@ -0,0 +1,42 @@
+//************************************************************************//
+// Background-image property for adding multiple background images with
+// gradients, or for stringing multiple gradients together.
+//************************************************************************//
+
+@mixin background-image($images...) {
+ $webkit-images: ();
+ $spec-images: ();
+
+ @each $image in $images {
+ $webkit-image: ();
+ $spec-image: ();
+
+ @if (type-of($image) == string) {
+ $url-str: str-slice($image, 1, 3);
+ $gradient-type: str-slice($image, 1, 6);
+
+ @if $url-str == "url" {
+ $webkit-image: $image;
+ $spec-image: $image;
+ }
+
+ @else if $gradient-type == "linear" {
+ $gradients: _linear-gradient-parser($image);
+ $webkit-image: map-get($gradients, webkit-image);
+ $spec-image: map-get($gradients, spec-image);
+ }
+
+ @else if $gradient-type == "radial" {
+ $gradients: _radial-gradient-parser($image);
+ $webkit-image: map-get($gradients, webkit-image);
+ $spec-image: map-get($gradients, spec-image);
+ }
+ }
+
+ $webkit-images: append($webkit-images, $webkit-image, comma);
+ $spec-images: append($spec-images, $spec-image, comma);
+ }
+
+ background-image: $webkit-images;
+ background-image: $spec-images;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss
new file mode 100644
index 000000000..019db0ed3
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_background.scss
@@ -0,0 +1,55 @@
+//************************************************************************//
+// Background property for adding multiple backgrounds using shorthand
+// notation.
+//************************************************************************//
+
+@mixin background($backgrounds...) {
+ $webkit-backgrounds: ();
+ $spec-backgrounds: ();
+
+ @each $background in $backgrounds {
+ $webkit-background: ();
+ $spec-background: ();
+ $background-type: type-of($background);
+
+ @if $background-type == string or $background-type == list {
+ $background-str: if($background-type == list, nth($background, 1), $background);
+
+ $url-str: str-slice($background-str, 1, 3);
+ $gradient-type: str-slice($background-str, 1, 6);
+
+ @if $url-str == "url" {
+ $webkit-background: $background;
+ $spec-background: $background;
+ }
+
+ @else if $gradient-type == "linear" {
+ $gradients: _linear-gradient-parser("#{$background}");
+ $webkit-background: map-get($gradients, webkit-image);
+ $spec-background: map-get($gradients, spec-image);
+ }
+
+ @else if $gradient-type == "radial" {
+ $gradients: _radial-gradient-parser("#{$background}");
+ $webkit-background: map-get($gradients, webkit-image);
+ $spec-background: map-get($gradients, spec-image);
+ }
+
+ @else {
+ $webkit-background: $background;
+ $spec-background: $background;
+ }
+ }
+
+ @else {
+ $webkit-background: $background;
+ $spec-background: $background;
+ }
+
+ $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma);
+ $spec-backgrounds: append($spec-backgrounds, $spec-background, comma);
+ }
+
+ background: $webkit-backgrounds;
+ background: $spec-backgrounds;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss
new file mode 100644
index 000000000..cf568ce6d
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_border-image.scss
@@ -0,0 +1,59 @@
+@mixin border-image($borders...) {
+ $webkit-borders: ();
+ $spec-borders: ();
+
+ @each $border in $borders {
+ $webkit-border: ();
+ $spec-border: ();
+ $border-type: type-of($border);
+
+ @if $border-type == string or list {
+ $border-str: if($border-type == list, nth($border, 1), $border);
+
+ $url-str: str-slice($border-str, 1, 3);
+ $gradient-type: str-slice($border-str, 1, 6);
+
+ @if $url-str == "url" {
+ $webkit-border: $border;
+ $spec-border: $border;
+ }
+
+ @else if $gradient-type == "linear" {
+ $gradients: _linear-gradient-parser("#{$border}");
+ $webkit-border: map-get($gradients, webkit-image);
+ $spec-border: map-get($gradients, spec-image);
+ }
+
+ @else if $gradient-type == "radial" {
+ $gradients: _radial-gradient-parser("#{$border}");
+ $webkit-border: map-get($gradients, webkit-image);
+ $spec-border: map-get($gradients, spec-image);
+ }
+
+ @else {
+ $webkit-border: $border;
+ $spec-border: $border;
+ }
+ }
+
+ @else {
+ $webkit-border: $border;
+ $spec-border: $border;
+ }
+
+ $webkit-borders: append($webkit-borders, $webkit-border, comma);
+ $spec-borders: append($spec-borders, $spec-border, comma);
+ }
+
+ -webkit-border-image: $webkit-borders;
+ border-image: $spec-borders;
+ border-style: solid;
+}
+
+//Examples:
+// @include border-image(url("image.png"));
+// @include border-image(url("image.png") 20 stretch);
+// @include border-image(linear-gradient(45deg, orange, yellow));
+// @include border-image(linear-gradient(45deg, orange, yellow) stretch);
+// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);
+// @include border-image(radial-gradient(top, cover, orange, yellow, orange));
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss
new file mode 100644
index 000000000..0bfc738dd
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_calc.scss
@@ -0,0 +1,4 @@
+@mixin calc($property, $value) {
+ #{$property}: -webkit-calc(#{$value});
+ #{$property}: calc(#{$value});
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss
new file mode 100644
index 000000000..96117670c
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_columns.scss
@@ -0,0 +1,47 @@
+@mixin columns($arg: auto) {
+ // ||
+ @include prefixer(columns, $arg, webkit moz spec);
+}
+
+@mixin column-count($int: auto) {
+ // auto || integer
+ @include prefixer(column-count, $int, webkit moz spec);
+}
+
+@mixin column-gap($length: normal) {
+ // normal || length
+ @include prefixer(column-gap, $length, webkit moz spec);
+}
+
+@mixin column-fill($arg: auto) {
+ // auto || length
+ @include prefixer(column-fill, $arg, webkit moz spec);
+}
+
+@mixin column-rule($arg) {
+ // || ||
+ @include prefixer(column-rule, $arg, webkit moz spec);
+}
+
+@mixin column-rule-color($color) {
+ @include prefixer(column-rule-color, $color, webkit moz spec);
+}
+
+@mixin column-rule-style($style: none) {
+ // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
+ @include prefixer(column-rule-style, $style, webkit moz spec);
+}
+
+@mixin column-rule-width ($width: none) {
+ @include prefixer(column-rule-width, $width, webkit moz spec);
+}
+
+@mixin column-span($arg: none) {
+ // none || all
+ @include prefixer(column-span, $arg, webkit moz spec);
+}
+
+@mixin column-width($length: auto) {
+ // auto || length
+ @include prefixer(column-width, $length, webkit moz spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss
new file mode 100644
index 000000000..b8f8ffb0e
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_filter.scss
@@ -0,0 +1,4 @@
+@mixin filter($function: none) {
+ // [
+ @include prefixer(perspective, $depth, webkit moz spec);
+}
+
+@mixin perspective-origin($value: 50% 50%) {
+ @include prefixer(perspective-origin, $value, webkit moz spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss
new file mode 100644
index 000000000..5682fd097
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_placeholder.scss
@@ -0,0 +1,8 @@
+@mixin placeholder {
+ $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
+ @each $placeholder in $placeholders {
+ &:#{$placeholder}-placeholder {
+ @content;
+ }
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss
new file mode 100644
index 000000000..18f7b5b58
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_radial-gradient.scss
@@ -0,0 +1,39 @@
+// Requires Sass 3.1+
+@mixin radial-gradient($g1, $g2,
+ $g3: null, $g4: null,
+ $g5: null, $g6: null,
+ $g7: null, $g8: null,
+ $g9: null, $g10: null,
+ $pos: null,
+ $shape-size: null,
+ $fallback: null) {
+
+ $data: _radial-arg-parser($g1, $g2, $pos, $shape-size);
+ $g1: nth($data, 1);
+ $g2: nth($data, 2);
+ $pos: nth($data, 3);
+ $shape-size: nth($data, 4);
+
+ $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10;
+
+ // Strip deprecated cover/contain for spec
+ $shape-size-spec: _shape-size-stripper($shape-size);
+
+ // Set $g1 as the default fallback color
+ $first-color: nth($full, 1);
+ $fallback-color: nth($first-color, 1);
+
+ @if (type-of($fallback) == color) or ($fallback == "transparent") {
+ $fallback-color: $fallback;
+ }
+
+ // Add Commas and spaces
+ $shape-size: if($shape-size, "#{$shape-size}, ", null);
+ $pos: if($pos, "#{$pos}, ", null);
+ $pos-spec: if($pos, "at #{$pos}", null);
+ $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} ");
+
+ background-color: $fallback-color;
+ background-image: -webkit-radial-gradient(#{$pos}#{$shape-size}#{$full});
+ background-image: radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full});
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss
new file mode 100644
index 000000000..cd71d4f53
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_selection.scss
@@ -0,0 +1,42 @@
+@charset "UTF-8";
+
+/// Outputs the spec and prefixed versions of the `::selection` pseudo-element.
+///
+/// @param {Bool} $current-selector [false]
+/// If set to `true`, it takes the current element into consideration.
+///
+/// @example scss - Usage
+/// .element {
+/// @include selection(true) {
+/// background-color: #ffbb52;
+/// }
+/// }
+///
+/// @example css - CSS Output
+/// .element::-moz-selection {
+/// background-color: #ffbb52;
+/// }
+///
+/// .element::selection {
+/// background-color: #ffbb52;
+/// }
+
+@mixin selection($current-selector: false) {
+ @if $current-selector {
+ &::-moz-selection {
+ @content;
+ }
+
+ &::selection {
+ @content;
+ }
+ } @else {
+ ::-moz-selection {
+ @content;
+ }
+
+ ::selection {
+ @content;
+ }
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss
new file mode 100644
index 000000000..9222746ce
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_text-decoration.scss
@@ -0,0 +1,19 @@
+@mixin text-decoration($value) {
+// || ||
+ @include prefixer(text-decoration, $value, moz);
+}
+
+@mixin text-decoration-line($line: none) {
+// none || underline || overline || line-through
+ @include prefixer(text-decoration-line, $line, moz);
+}
+
+@mixin text-decoration-style($style: solid) {
+// solid || double || dotted || dashed || wavy
+ @include prefixer(text-decoration-style, $style, moz webkit);
+}
+
+@mixin text-decoration-color($color: currentColor) {
+// currentColor ||
+ @include prefixer(text-decoration-color, $color, moz);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss
new file mode 100644
index 000000000..8ee6509ff
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_transform.scss
@@ -0,0 +1,15 @@
+@mixin transform($property: none) {
+ // none |
+ @include prefixer(transform, $property, webkit moz ms o spec);
+}
+
+@mixin transform-origin($axes: 50%) {
+ // x-axis - left | center | right | length | %
+ // y-axis - top | center | bottom | length | %
+ // z-axis - length
+ @include prefixer(transform-origin, $axes, webkit moz ms o spec);
+}
+
+@mixin transform-style($style: flat) {
+ @include prefixer(transform-style, $style, webkit moz ms o spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss
new file mode 100644
index 000000000..3c785ed52
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_transition.scss
@@ -0,0 +1,71 @@
+// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.
+// Example: @include transition (all 2s ease-in-out);
+// @include transition (opacity 1s ease-in 2s, width 2s ease-out);
+// @include transition-property (transform, opacity);
+
+@mixin transition($properties...) {
+ // Fix for vendor-prefix transform property
+ $needs-prefixes: false;
+ $webkit: ();
+ $moz: ();
+ $spec: ();
+
+ // Create lists for vendor-prefixed transform
+ @each $list in $properties {
+ @if nth($list, 1) == "transform" {
+ $needs-prefixes: true;
+ $list1: -webkit-transform;
+ $list2: -moz-transform;
+ $list3: ();
+
+ @each $var in $list {
+ $list3: join($list3, $var);
+
+ @if $var != "transform" {
+ $list1: join($list1, $var);
+ $list2: join($list2, $var);
+ }
+ }
+
+ $webkit: append($webkit, $list1);
+ $moz: append($moz, $list2);
+ $spec: append($spec, $list3);
+ } @else {
+ $webkit: append($webkit, $list, comma);
+ $moz: append($moz, $list, comma);
+ $spec: append($spec, $list, comma);
+ }
+ }
+
+ @if $needs-prefixes {
+ -webkit-transition: $webkit;
+ -moz-transition: $moz;
+ transition: $spec;
+ } @else {
+ @if length($properties) >= 1 {
+ @include prefixer(transition, $properties, webkit moz spec);
+ } @else {
+ $properties: all 0.15s ease-out 0s;
+ @include prefixer(transition, $properties, webkit moz spec);
+ }
+ }
+}
+
+@mixin transition-property($properties...) {
+ -webkit-transition-property: transition-property-names($properties, "webkit");
+ -moz-transition-property: transition-property-names($properties, "moz");
+ transition-property: transition-property-names($properties, false);
+}
+
+@mixin transition-duration($times...) {
+ @include prefixer(transition-duration, $times, webkit moz spec);
+}
+
+@mixin transition-timing-function($motions...) {
+ // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
+ @include prefixer(transition-timing-function, $motions, webkit moz spec);
+}
+
+@mixin transition-delay($times...) {
+ @include prefixer(transition-delay, $times, webkit moz spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss b/themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss
new file mode 100644
index 000000000..d4e555100
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/css3/_user-select.scss
@@ -0,0 +1,3 @@
+@mixin user-select($value: none) {
+ @include prefixer(user-select, $value, webkit moz ms spec);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss
new file mode 100644
index 000000000..f8aba9678
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_assign-inputs.scss
@@ -0,0 +1,11 @@
+@function assign-inputs($inputs, $pseudo: null) {
+ $list: ();
+
+ @each $input in $inputs {
+ $input: unquote($input);
+ $input: if($pseudo, $input + ":" + $pseudo, $input);
+ $list: append($list, $input, comma);
+ }
+
+ @return $list;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss
new file mode 100644
index 000000000..c096fdb92
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains-falsy.scss
@@ -0,0 +1,20 @@
+@charset "UTF-8";
+
+/// Checks if a list does not contains a value.
+///
+/// @access private
+///
+/// @param {List} $list
+/// The list to check against.
+///
+/// @return {Bool}
+
+@function contains-falsy($list) {
+ @each $item in $list {
+ @if not $item {
+ @return true;
+ }
+ }
+
+ @return false;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss
new file mode 100644
index 000000000..3dec27db8
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_contains.scss
@@ -0,0 +1,26 @@
+@charset "UTF-8";
+
+/// Checks if a list contains a value(s).
+///
+/// @access private
+///
+/// @param {List} $list
+/// The list to check against.
+///
+/// @param {List} $values
+/// A single value or list of values to check for.
+///
+/// @example scss - Usage
+/// contains($list, $value)
+///
+/// @return {Bool}
+
+@function contains($list, $values...) {
+ @each $value in $values {
+ @if type-of(index($list, $value)) != "number" {
+ @return false;
+ }
+ }
+
+ @return true;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss
new file mode 100644
index 000000000..5826e789b
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-length.scss
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+
+/// Checks for a valid CSS length.
+///
+/// @param {String} $value
+
+@function is-length($value) {
+ @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc"
+ or index(auto inherit initial 0, $value)
+ or (type-of($value) == "number" and not(unitless($value))));
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss
new file mode 100644
index 000000000..92d90ac3c
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-light.scss
@@ -0,0 +1,21 @@
+@charset "UTF-8";
+
+/// Programatically determines whether a color is light or dark.
+///
+/// @link http://robots.thoughtbot.com/closer-look-color-lightness
+///
+/// @param {Color (Hex)} $color
+///
+/// @example scss - Usage
+/// is-light($color)
+///
+/// @return {Bool}
+
+@function is-light($hex-color) {
+ $-local-red: red(rgba($hex-color, 1));
+ $-local-green: green(rgba($hex-color, 1));
+ $-local-blue: blue(rgba($hex-color, 1));
+ $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;
+
+ @return $-local-lightness > 0.6;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss
new file mode 100644
index 000000000..a64e0bf21
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-number.scss
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+
+/// Checks for a valid number.
+///
+/// @param {Number} $value
+///
+/// @require {function} contains
+
+@function is-number($value) {
+ @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss
new file mode 100644
index 000000000..661789ab4
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_is-size.scss
@@ -0,0 +1,13 @@
+@charset "UTF-8";
+
+/// Checks for a valid CSS size.
+///
+/// @param {String} $value
+///
+/// @require {function} contains
+/// @require {function} is-length
+
+@function is-size($value) {
+ @return is-length($value)
+ or contains("fill" "fit-content" "min-content" "max-content", $value);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss
new file mode 100644
index 000000000..20fa38812
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_modular-scale.scss
@@ -0,0 +1,69 @@
+// Scaling Variables
+$golden: 1.618;
+$minor-second: 1.067;
+$major-second: 1.125;
+$minor-third: 1.2;
+$major-third: 1.25;
+$perfect-fourth: 1.333;
+$augmented-fourth: 1.414;
+$perfect-fifth: 1.5;
+$minor-sixth: 1.6;
+$major-sixth: 1.667;
+$minor-seventh: 1.778;
+$major-seventh: 1.875;
+$octave: 2;
+$major-tenth: 2.5;
+$major-eleventh: 2.667;
+$major-twelfth: 3;
+$double-octave: 4;
+
+$modular-scale-ratio: $perfect-fourth !default;
+$modular-scale-base: em($em-base) !default;
+
+@function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) {
+ $v1: nth($value, 1);
+ $v2: nth($value, length($value));
+ $value: $v1;
+
+ // scale $v2 to just above $v1
+ @while $v2 > $v1 {
+ $v2: ($v2 / $ratio); // will be off-by-1
+ }
+ @while $v2 < $v1 {
+ $v2: ($v2 * $ratio); // will fix off-by-1
+ }
+
+ // check AFTER scaling $v2 to prevent double-counting corner-case
+ $double-stranded: $v2 > $v1;
+
+ @if $increment > 0 {
+ @for $i from 1 through $increment {
+ @if $double-stranded and ($v1 * $ratio) > $v2 {
+ $value: $v2;
+ $v2: ($v2 * $ratio);
+ } @else {
+ $v1: ($v1 * $ratio);
+ $value: $v1;
+ }
+ }
+ }
+
+ @if $increment < 0 {
+ // adjust $v2 to just below $v1
+ @if $double-stranded {
+ $v2: ($v2 / $ratio);
+ }
+
+ @for $i from $increment through -1 {
+ @if $double-stranded and ($v1 / $ratio) < $v2 {
+ $value: $v2;
+ $v2: ($v2 / $ratio);
+ } @else {
+ $v1: ($v1 / $ratio);
+ $value: $v1;
+ }
+ }
+ }
+
+ @return $value;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss
new file mode 100644
index 000000000..ae81a44ad
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-em.scss
@@ -0,0 +1,13 @@
+// Convert pixels to ems
+// eg. for a relational value of 12px write em(12) when the parent is 16px
+// if the parent is another value say 24px write em(12, 24)
+
+@function em($pxval, $base: $em-base) {
+ @if not unitless($pxval) {
+ $pxval: strip-units($pxval);
+ }
+ @if not unitless($base) {
+ $base: strip-units($base);
+ }
+ @return ($pxval / $base) * 1em;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss
new file mode 100644
index 000000000..0ac941e76
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_px-to-rem.scss
@@ -0,0 +1,15 @@
+// Convert pixels to rems
+// eg. for a relational value of 12px write rem(12)
+// Assumes $em-base is the font-size of
+
+@function rem($pxval) {
+ @if not unitless($pxval) {
+ $pxval: strip-units($pxval);
+ }
+
+ $base: $em-base;
+ @if not unitless($base) {
+ $base: strip-units($base);
+ }
+ @return ($pxval / $base) * 1rem;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss
new file mode 100644
index 000000000..8aaf2c6d2
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_shade.scss
@@ -0,0 +1,24 @@
+@charset "UTF-8";
+
+/// Mixes a color with black.
+///
+/// @param {Color} $color
+///
+/// @param {Number (Percentage)} $percent
+/// The amount of black to be mixed in.
+///
+/// @example scss - Usage
+/// .element {
+/// background-color: shade(#ffbb52, 60%);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// background-color: #664a20;
+/// }
+///
+/// @return {Color}
+
+@function shade($color, $percent) {
+ @return mix(#000, $color, $percent);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss
new file mode 100644
index 000000000..6c5f3e810
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_strip-units.scss
@@ -0,0 +1,17 @@
+@charset "UTF-8";
+
+/// Strips the unit from a number.
+///
+/// @param {Number (With Unit)} $value
+///
+/// @example scss - Usage
+/// $dimension: strip-units(10em);
+///
+/// @example css - CSS Output
+/// $dimension: 10;
+///
+/// @return {Number (Unitless)}
+
+@function strip-units($value) {
+ @return ($value / ($value * 0 + 1));
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss
new file mode 100644
index 000000000..2e3381488
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_tint.scss
@@ -0,0 +1,24 @@
+@charset "UTF-8";
+
+/// Mixes a color with white.
+///
+/// @param {Color} $color
+///
+/// @param {Number (Percentage)} $percent
+/// The amount of white to be mixed in.
+///
+/// @example scss - Usage
+/// .element {
+/// background-color: tint(#6ecaa6, 40%);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// background-color: #a8dfc9;
+/// }
+///
+/// @return {Color}
+
+@function tint($color, $percent) {
+ @return mix(#fff, $color, $percent);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss
new file mode 100644
index 000000000..18348b93a
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_transition-property-name.scss
@@ -0,0 +1,22 @@
+// Return vendor-prefixed property names if appropriate
+// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background
+//************************************************************************//
+@function transition-property-names($props, $vendor: false) {
+ $new-props: ();
+
+ @each $prop in $props {
+ $new-props: append($new-props, transition-property-name($prop, $vendor), comma);
+ }
+
+ @return $new-props;
+}
+
+@function transition-property-name($prop, $vendor: false) {
+ // put other properties that need to be prefixed here aswell
+ @if $vendor and $prop == transform {
+ @return unquote('-'+$vendor+'-'+$prop);
+ }
+ @else {
+ @return $prop;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss b/themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss
new file mode 100644
index 000000000..4367935d5
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/functions/_unpack.scss
@@ -0,0 +1,27 @@
+@charset "UTF-8";
+
+/// Converts shorthand to the 4-value syntax.
+///
+/// @param {List} $shorthand
+///
+/// @example scss - Usage
+/// .element {
+/// margin: unpack(1em 2em);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// margin: 1em 2em 1em 2em;
+/// }
+
+@function unpack($shorthand) {
+ @if length($shorthand) == 1 {
+ @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);
+ } @else if length($shorthand) == 2 {
+ @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);
+ } @else if length($shorthand) == 3 {
+ @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);
+ } @else {
+ @return $shorthand;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss
new file mode 100644
index 000000000..e0a65a05c
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_convert-units.scss
@@ -0,0 +1,21 @@
+//************************************************************************//
+// Helper function for str-to-num fn.
+// Source: http://sassmeister.com/gist/9647408
+//************************************************************************//
+@function _convert-units($number, $unit) {
+ $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn";
+ $units: 1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn;
+ $index: index($strings, $unit);
+
+ @if not $index {
+ @warn "Unknown unit `#{$unit}`.";
+ @return false;
+ }
+
+ @if type-of($number) != "number" {
+ @warn "`#{$number} is not a number`";
+ @return false;
+ }
+
+ @return $number * nth($units, $index);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss
new file mode 100644
index 000000000..6ee538db4
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_directional-values.scss
@@ -0,0 +1,96 @@
+@charset "UTF-8";
+
+/// Directional-property mixins are shorthands for writing properties like the following
+///
+/// @ignore You can also use `false` instead of `null`.
+///
+/// @param {List} $vals
+/// List of directional values
+///
+/// @example scss - Usage
+/// .element {
+/// @include border-style(dotted null);
+/// @include margin(null 0 10px);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// border-bottom-style: dotted;
+/// border-top-style: dotted;
+/// margin-bottom: 10px;
+/// margin-left: 0;
+/// margin-right: 0;
+/// }
+///
+/// @require {function} contains-falsy
+///
+/// @return {List}
+
+@function collapse-directionals($vals) {
+ $output: null;
+
+ $a: nth($vals, 1);
+ $b: if(length($vals) < 2, $a, nth($vals, 2));
+ $c: if(length($vals) < 3, $a, nth($vals, 3));
+ $d: if(length($vals) < 2, $a, nth($vals, if(length($vals) < 4, 2, 4)));
+
+ @if $a == 0 { $a: 0; }
+ @if $b == 0 { $b: 0; }
+ @if $c == 0 { $c: 0; }
+ @if $d == 0 { $d: 0; }
+
+ @if $a == $b and $a == $c and $a == $d { $output: $a; }
+ @else if $a == $c and $b == $d { $output: $a $b; }
+ @else if $b == $d { $output: $a $b $c; }
+ @else { $output: $a $b $c $d; }
+
+ @return $output;
+}
+
+/// Output directional properties, for instance `margin`.
+///
+/// @access private
+///
+/// @param {String} $pre
+/// Prefix to use
+/// @param {String} $suf
+/// Suffix to use
+/// @param {List} $vals
+/// List of values
+///
+/// @require {function} collapse-directionals
+/// @require {function} contains-falsy
+
+@mixin directional-property($pre, $suf, $vals) {
+ // Property Names
+ $top: $pre + "-top" + if($suf, "-#{$suf}", "");
+ $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
+ $left: $pre + "-left" + if($suf, "-#{$suf}", "");
+ $right: $pre + "-right" + if($suf, "-#{$suf}", "");
+ $all: $pre + if($suf, "-#{$suf}", "");
+
+ $vals: collapse-directionals($vals);
+
+ @if contains-falsy($vals) {
+ @if nth($vals, 1) { #{$top}: nth($vals, 1); }
+
+ @if length($vals) == 1 {
+ @if nth($vals, 1) { #{$right}: nth($vals, 1); }
+ } @else {
+ @if nth($vals, 2) { #{$right}: nth($vals, 2); }
+ }
+
+ @if length($vals) == 2 {
+ @if nth($vals, 1) { #{$bottom}: nth($vals, 1); }
+ @if nth($vals, 2) { #{$left}: nth($vals, 2); }
+ } @else if length($vals) == 3 {
+ @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
+ @if nth($vals, 2) { #{$left}: nth($vals, 2); }
+ } @else if length($vals) == 4 {
+ @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
+ @if nth($vals, 4) { #{$left}: nth($vals, 4); }
+ }
+ } @else {
+ #{$all}: $vals;
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss
new file mode 100644
index 000000000..7f17586c9
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_font-source-declaration.scss
@@ -0,0 +1,43 @@
+// Used for creating the source string for fonts using @font-face
+// Reference: http://goo.gl/Ru1bKP
+
+@function font-url-prefixer($asset-pipeline) {
+ @if $asset-pipeline == true {
+ @return font-url;
+ } @else {
+ @return url;
+ }
+}
+
+@function font-source-declaration(
+ $font-family,
+ $file-path,
+ $asset-pipeline,
+ $file-formats,
+ $font-url) {
+
+ $src: ();
+
+ $formats-map: (
+ eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"),
+ woff2: "#{$file-path}.woff2" format("woff2"),
+ woff: "#{$file-path}.woff" format("woff"),
+ ttf: "#{$file-path}.ttf" format("truetype"),
+ svg: "#{$file-path}.svg##{$font-family}" format("svg")
+ );
+
+ @each $key, $values in $formats-map {
+ @if contains($file-formats, $key) {
+ $file-path: nth($values, 1);
+ $font-format: nth($values, 2);
+
+ @if $asset-pipeline == true {
+ $src: append($src, font-url($file-path) $font-format, comma);
+ } @else {
+ $src: append($src, url($file-path) $font-format, comma);
+ }
+ }
+ }
+
+ @return $src;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss
new file mode 100644
index 000000000..07d30b6cf
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_gradient-positions-parser.scss
@@ -0,0 +1,13 @@
+@function _gradient-positions-parser($gradient-type, $gradient-positions) {
+ @if $gradient-positions
+ and ($gradient-type == linear)
+ and (type-of($gradient-positions) != color) {
+ $gradient-positions: _linear-positions-parser($gradient-positions);
+ }
+ @else if $gradient-positions
+ and ($gradient-type == radial)
+ and (type-of($gradient-positions) != color) {
+ $gradient-positions: _radial-positions-parser($gradient-positions);
+ }
+ @return $gradient-positions;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss
new file mode 100644
index 000000000..e0401ed8d
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-angle-parser.scss
@@ -0,0 +1,25 @@
+// Private function for linear-gradient-parser
+@function _linear-angle-parser($image, $first-val, $prefix, $suffix) {
+ $offset: null;
+ $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val));
+ $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val));
+
+ @if ($unit-long == "grad") or
+ ($unit-long == "turn") {
+ $offset: if($unit-long == "grad", -100grad * 3, -0.75turn);
+ }
+
+ @else if ($unit-short == "deg") or
+ ($unit-short == "rad") {
+ $offset: if($unit-short == "deg", -90 * 3, 1.6rad);
+ }
+
+ @if $offset {
+ $num: _str-to-num($first-val);
+
+ @return (
+ webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix,
+ spec-image: $image
+ );
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss
new file mode 100644
index 000000000..48a8f77f9
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-gradient-parser.scss
@@ -0,0 +1,41 @@
+@function _linear-gradient-parser($image) {
+ $image: unquote($image);
+ $gradients: ();
+ $start: str-index($image, "(");
+ $end: str-index($image, ",");
+ $first-val: str-slice($image, $start + 1, $end - 1);
+
+ $prefix: str-slice($image, 1, $start);
+ $suffix: str-slice($image, $end, str-length($image));
+
+ $has-multiple-vals: str-index($first-val, " ");
+ $has-single-position: unquote(_position-flipper($first-val) + "");
+ $has-angle: is-number(str-slice($first-val, 1, 1));
+
+ @if $has-multiple-vals {
+ $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals);
+ }
+
+ @else if $has-single-position != "" {
+ $pos: unquote($has-single-position + "");
+
+ $gradients: (
+ webkit-image: -webkit- + $image,
+ spec-image: $prefix + "to " + $pos + $suffix
+ );
+ }
+
+ @else if $has-angle {
+ // Rotate degree for webkit
+ $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix);
+ }
+
+ @else {
+ $gradients: (
+ webkit-image: -webkit- + $image,
+ spec-image: $image
+ );
+ }
+
+ @return $gradients;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss
new file mode 100644
index 000000000..96d6a6d45
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-positions-parser.scss
@@ -0,0 +1,61 @@
+@function _linear-positions-parser($pos) {
+ $type: type-of(nth($pos, 1));
+ $spec: null;
+ $degree: null;
+ $side: null;
+ $corner: null;
+ $length: length($pos);
+ // Parse Side and corner positions
+ @if ($length > 1) {
+ @if nth($pos, 1) == "to" { // Newer syntax
+ $side: nth($pos, 2);
+
+ @if $length == 2 { // eg. to top
+ // Swap for backwards compatibility
+ $degree: _position-flipper(nth($pos, 2));
+ }
+ @else if $length == 3 { // eg. to top left
+ $corner: nth($pos, 3);
+ }
+ }
+ @else if $length == 2 { // Older syntax ("top left")
+ $side: _position-flipper(nth($pos, 1));
+ $corner: _position-flipper(nth($pos, 2));
+ }
+
+ @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") {
+ $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
+ }
+ @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") {
+ $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
+ }
+ @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") {
+ $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
+ }
+ @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") {
+ $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
+ }
+ $spec: to $side $corner;
+ }
+ @else if $length == 1 {
+ // Swap for backwards compatibility
+ @if $type == string {
+ $degree: $pos;
+ $spec: to _position-flipper($pos);
+ }
+ @else {
+ $degree: -270 - $pos; //rotate the gradient opposite from spec
+ $spec: $pos;
+ }
+ }
+ $degree: unquote($degree + ",");
+ $spec: unquote($spec + ",");
+ @return $degree $spec;
+}
+
+@function _position-flipper($pos) {
+ @return if($pos == left, right, null)
+ if($pos == right, left, null)
+ if($pos == top, bottom, null)
+ if($pos == bottom, top, null);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss
new file mode 100644
index 000000000..7a691253d
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_linear-side-corner-parser.scss
@@ -0,0 +1,31 @@
+// Private function for linear-gradient-parser
+@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) {
+ $val-1: str-slice($first-val, 1, $has-multiple-vals - 1);
+ $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val));
+ $val-3: null;
+ $has-val-3: str-index($val-2, " ");
+
+ @if $has-val-3 {
+ $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2));
+ $val-2: str-slice($val-2, 1, $has-val-3 - 1);
+ }
+
+ $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3);
+ $pos: unquote($pos + "");
+
+ // Use old spec for webkit
+ @if $val-1 == "to" {
+ @return (
+ webkit-image: -webkit- + $prefix + $pos + $suffix,
+ spec-image: $image
+ );
+ }
+
+ // Bring the code up to spec
+ @else {
+ @return (
+ webkit-image: -webkit- + $image,
+ spec-image: $prefix + "to " + $pos + $suffix
+ );
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss
new file mode 100644
index 000000000..56c6030b7
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-arg-parser.scss
@@ -0,0 +1,69 @@
+@function _radial-arg-parser($g1, $g2, $pos, $shape-size) {
+ @each $value in $g1, $g2 {
+ $first-val: nth($value, 1);
+ $pos-type: type-of($first-val);
+ $spec-at-index: null;
+
+ // Determine if spec was passed to mixin
+ @if type-of($value) == list {
+ $spec-at-index: if(index($value, at), index($value, at), false);
+ }
+ @if $spec-at-index {
+ @if $spec-at-index > 1 {
+ @for $i from 1 through ($spec-at-index - 1) {
+ $shape-size: $shape-size nth($value, $i);
+ }
+ @for $i from ($spec-at-index + 1) through length($value) {
+ $pos: $pos nth($value, $i);
+ }
+ }
+ @else if $spec-at-index == 1 {
+ @for $i from ($spec-at-index + 1) through length($value) {
+ $pos: $pos nth($value, $i);
+ }
+ }
+ $g1: null;
+ }
+
+ // If not spec calculate correct values
+ @else {
+ @if ($pos-type != color) or ($first-val != "transparent") {
+ @if ($pos-type == number)
+ or ($first-val == "center")
+ or ($first-val == "top")
+ or ($first-val == "right")
+ or ($first-val == "bottom")
+ or ($first-val == "left") {
+
+ $pos: $value;
+
+ @if $pos == $g1 {
+ $g1: null;
+ }
+ }
+
+ @else if
+ ($first-val == "ellipse")
+ or ($first-val == "circle")
+ or ($first-val == "closest-side")
+ or ($first-val == "closest-corner")
+ or ($first-val == "farthest-side")
+ or ($first-val == "farthest-corner")
+ or ($first-val == "contain")
+ or ($first-val == "cover") {
+
+ $shape-size: $value;
+
+ @if $value == $g1 {
+ $g1: null;
+ }
+
+ @else if $value == $g2 {
+ $g2: null;
+ }
+ }
+ }
+ }
+ }
+ @return $g1, $g2, $pos, $shape-size;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss
new file mode 100644
index 000000000..5444d8085
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-gradient-parser.scss
@@ -0,0 +1,50 @@
+@function _radial-gradient-parser($image) {
+ $image: unquote($image);
+ $gradients: ();
+ $start: str-index($image, "(");
+ $end: str-index($image, ",");
+ $first-val: str-slice($image, $start + 1, $end - 1);
+
+ $prefix: str-slice($image, 1, $start);
+ $suffix: str-slice($image, $end, str-length($image));
+
+ $is-spec-syntax: str-index($first-val, "at");
+
+ @if $is-spec-syntax and $is-spec-syntax > 1 {
+ $keyword: str-slice($first-val, 1, $is-spec-syntax - 2);
+ $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
+ $pos: append($pos, $keyword, comma);
+
+ $gradients: (
+ webkit-image: -webkit- + $prefix + $pos + $suffix,
+ spec-image: $image
+ );
+ }
+
+ @else if $is-spec-syntax == 1 {
+ $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
+
+ $gradients: (
+ webkit-image: -webkit- + $prefix + $pos + $suffix,
+ spec-image: $image
+ );
+ }
+
+ @else if str-index($image, "cover") or str-index($image, "contain") {
+ @warn "Radial-gradient needs to be updated to conform to latest spec.";
+
+ $gradients: (
+ webkit-image: null,
+ spec-image: $image
+ );
+ }
+
+ @else {
+ $gradients: (
+ webkit-image: -webkit- + $image,
+ spec-image: $image
+ );
+ }
+
+ @return $gradients;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss
new file mode 100644
index 000000000..3c552ad79
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_radial-positions-parser.scss
@@ -0,0 +1,18 @@
+@function _radial-positions-parser($gradient-pos) {
+ $shape-size: nth($gradient-pos, 1);
+ $pos: nth($gradient-pos, 2);
+ $shape-size-spec: _shape-size-stripper($shape-size);
+
+ $pre-spec: unquote(if($pos, "#{$pos}, ", null))
+ unquote(if($shape-size, "#{$shape-size},", null));
+ $pos-spec: if($pos, "at #{$pos}", null);
+
+ $spec: "#{$shape-size-spec} #{$pos-spec}";
+
+ // Add comma
+ @if ($spec != " ") {
+ $spec: "#{$spec},";
+ }
+
+ @return $pre-spec $spec;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss
new file mode 100644
index 000000000..576567683
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_render-gradients.scss
@@ -0,0 +1,26 @@
+// User for linear and radial gradients within background-image or border-image properties
+
+@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) {
+ $pre-spec: null;
+ $spec: null;
+ $vendor-gradients: null;
+ @if $gradient-type == linear {
+ @if $gradient-positions {
+ $pre-spec: nth($gradient-positions, 1);
+ $spec: nth($gradient-positions, 2);
+ }
+ }
+ @else if $gradient-type == radial {
+ $pre-spec: nth($gradient-positions, 1);
+ $spec: nth($gradient-positions, 2);
+ }
+
+ @if $vendor {
+ $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients);
+ }
+ @else if $vendor == false {
+ $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})";
+ $vendor-gradients: unquote($vendor-gradients);
+ }
+ @return $vendor-gradients;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss
new file mode 100644
index 000000000..ee5eda422
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_shape-size-stripper.scss
@@ -0,0 +1,10 @@
+@function _shape-size-stripper($shape-size) {
+ $shape-size-spec: null;
+ @each $value in $shape-size {
+ @if ($value == "cover") or ($value == "contain") {
+ $value: null;
+ }
+ $shape-size-spec: "#{$shape-size-spec} #{$value}";
+ }
+ @return $shape-size-spec;
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss b/themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss
new file mode 100644
index 000000000..3ef1d873b
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/helpers/_str-to-num.scss
@@ -0,0 +1,50 @@
+//************************************************************************//
+// Helper function for linear/radial-gradient-parsers.
+// Source: http://sassmeister.com/gist/9647408
+//************************************************************************//
+@function _str-to-num($string) {
+ // Matrices
+ $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9";
+ $numbers: 0 1 2 3 4 5 6 7 8 9;
+
+ // Result
+ $result: 0;
+ $divider: 0;
+ $minus: false;
+
+ // Looping through all characters
+ @for $i from 1 through str-length($string) {
+ $character: str-slice($string, $i, $i);
+ $index: index($strings, $character);
+
+ @if $character == "-" {
+ $minus: true;
+ }
+
+ @else if $character == "." {
+ $divider: 1;
+ }
+
+ @else {
+ @if not $index {
+ $result: if($minus, $result * -1, $result);
+ @return _convert-units($result, str-slice($string, $i));
+ }
+
+ $number: nth($numbers, $index);
+
+ @if $divider == 0 {
+ $result: $result * 10;
+ }
+
+ @else {
+ // Move the decimal dot to the left
+ $divider: $divider * 10;
+ $number: $number / $divider;
+ }
+
+ $result: $result + $number;
+ }
+ }
+ @return if($minus, $result * -1, $result);
+}
diff --git a/themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss b/themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss
new file mode 100644
index 000000000..4c6afc5bb
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/settings/_asset-pipeline.scss
@@ -0,0 +1,7 @@
+@charset "UTF-8";
+
+/// A global setting to enable or disable the `$asset-pipeline` variable for all functions that accept it.
+///
+/// @type Bool
+
+$asset-pipeline: false !default;
diff --git a/themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss b/themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss
new file mode 100644
index 000000000..8c390514d
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/settings/_prefixer.scss
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+
+/// Global variables to enable or disable vendor prefixes
+
+$prefix-for-webkit: true !default;
+$prefix-for-mozilla: true !default;
+$prefix-for-microsoft: true !default;
+$prefix-for-opera: true !default;
+$prefix-for-spec: true !default;
diff --git a/themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss b/themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss
new file mode 100644
index 000000000..f2f9a3e8d
--- /dev/null
+++ b/themes/hugodocs/pipeline/scss/bourbon/settings/_px-to-em.scss
@@ -0,0 +1 @@
+$em-base: 16px !default;
diff --git a/themes/hugodocs/pipeline/scss/components/_anchors.scss b/themes/hugodocs/pipeline/scss/components/_anchors.scss
index c3f02bd9b..789716322 100644
--- a/themes/hugodocs/pipeline/scss/components/_anchors.scss
+++ b/themes/hugodocs/pipeline/scss/components/_anchors.scss
@@ -43,45 +43,7 @@ a {
transform: rotateX(0);
}
&::after {
- border-bottom: 2px solid #fff;
+ border-bottom: 1px solid $default-anchor-color;
}
}
-}
-
-// .body-copy {
-// a {
-// position: relative;
-// display: inline-block;
-// outline: none;
-// color: $default-anchor-color;
-// vertical-align: bottom;
-// text-decoration: none;
-// white-space: nowrap;
-// font-weight: 500;
-// &:hover {
-// color:$hugo-white;
-// }
-// &:before {
-// position: absolute;
-// top: 0;
-// left: -5px;
-// z-index: -1;
-// box-sizing: content-box;
-// padding: 0 5px;
-// width: 100%;
-// height: 100%;
-// border-radius: 10px;
-// background-color: $default-anchor-color;
-// content: '';
-// opacity: 0;
-// transition: transform 0.2s, opacity 0.2s;
-// transform: scale(0);
-// }
-// &:hover::before,
-// &:focus::before {
-// opacity: 1;
-// -webkit-transform: scale(1);
-// transform: scale(1);
-// }
-// }
-// }
+}
\ No newline at end of file
diff --git a/themes/hugodocs/pipeline/scss/components/_code.scss b/themes/hugodocs/pipeline/scss/components/_code.scss
index d491e4cdb..33d7c2036 100644
--- a/themes/hugodocs/pipeline/scss/components/_code.scss
+++ b/themes/hugodocs/pipeline/scss/components/_code.scss
@@ -1,22 +1,42 @@
//General code styling for inline code (ie, within body copy and not in a separate code block)
-code,pre {
+code,
+pre {
font-family: $code-font-family;
}
-p code, li > code {
+
+pre > code {
+ font-size: .8em;
+}
+
+.body-copy > pre[class*="language-"],
+.body-copy > code[class*="language-"] {
+ @include card(3);
+ text-shadow: 0 0px transparent;
+ text-shadow: none;
+ padding: 1em;
+ margin: .5em 0;
+ overflow: auto;
+}
+
+.body-copy > pre[class*="language-"] {
+ margin-bottom:1.5em;
+}
+
+p code,
+li > code {
font-size: .9em;
- color:$base-font-color;
+ color: $base-font-color;
font-family: $code-font-family;
- border:1px solid $hugo-gray-light;
- padding-left:.25em;
- padding-right:.25em;
+ border: 1px solid $hugo-gray-light;
+ padding-left: .25em;
+ padding-right: .25em;
}
//for clipboard.js tooltip and button
div.code-copy {
position: relative;
margin-top: 1em;
- margin-bottom: 1em;
- font-size: .8em;
+ margin-bottom: 1.5em;
&:hover {
button.copy-button {
transition: all .2s ease-in-out;
@@ -46,9 +66,9 @@ button.copy-button {
height: 1.5em;
border-width: 0px;
border-radius: 0px;
- color:$code-copy-button-text-color;
+ color: $code-copy-button-text-color;
&:hover {
- background-color:$hugo-blue;
+ background-color: $hugo-blue;
}
&:active,
&:focus {
@@ -59,7 +79,7 @@ button.copy-button {
}
.copy-text {
- color:$code-copy-button-text-color;
+ color: $code-copy-button-text-color;
font-size: 12px;
display: block;
width: 80px;
@@ -83,7 +103,8 @@ button.copy-button {
div.code-copy {
position: relative;
- box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
+ // box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
+ @include card(3);
transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
border-radius: 0px;
}
@@ -95,6 +116,9 @@ div.code-copy-header {
background-color: $code-editor-header-bg-color;
border-radius: 0px;
position: relative;
+ &.output {
+ background-color: $hugo-blue;
+ }
span.filename {
@include center;
text-align: center;
@@ -105,12 +129,12 @@ div.code-copy-header {
background-color: transparent;
font-family: $systemfonts;
}
- [class^="icon-"]{
- float:right;
- position:relative;
- top:-1.45em;
- right:.5em;
- color:$code-filename-color;
+ [class^="icon-"] {
+ float: right;
+ position: relative;
+ top: -1.45em;
+ right: .5em;
+ color: $code-filename-color;
}
}
@@ -502,4 +526,4 @@ code.language-markdown {
.token.list.punctuation {
color: $hugo-blue;
}
-}
\ No newline at end of file
+}
diff --git a/themes/hugodocs/pipeline/scss/components/_icons.scss b/themes/hugodocs/pipeline/scss/components/_icons.scss
index e69de29bb..c8bb0a3e2 100644
--- a/themes/hugodocs/pipeline/scss/components/_icons.scss
+++ b/themes/hugodocs/pipeline/scss/components/_icons.scss
@@ -0,0 +1,4 @@
+svg.svg-icon {
+ max-width: 60px;
+}
+
diff --git a/themes/hugodocs/pipeline/scss/components/_lists.scss b/themes/hugodocs/pipeline/scss/components/_lists.scss
index e174026b7..a08c7b20a 100644
--- a/themes/hugodocs/pipeline/scss/components/_lists.scss
+++ b/themes/hugodocs/pipeline/scss/components/_lists.scss
@@ -17,17 +17,42 @@ aside {
//sets list style in body copy
.body-copy {
- ul {
- list-style: disc outside none;
- padding-left: 1em;
+ ul,
+ ol {
+ padding-left: .75em;
margin-left: .25em;
margin-top: 0px;
padding-top: 0px;
- margin-bottom:1.5em;
+ margin-bottom: 1.5em;
li {
- // padding-left:1em;
- // margin-left: 1em;
- // text-indent: -1em;
+ ul,ol {
+ margin-bottom:0px;
+ }
+ }
+ }
+ ul {
+ list-style: disc outside none;
+ li {
+ ul {
+ list-style-type: circle;
+ li {
+ ul {
+ list-style-type: square;
+ }
+ }
+ }
+ }
+ }
+ ol {
+ li {
+ ol {
+ list-style-type: lower-roman;
+ li {
+ ol {
+ list-style-type: lower-alpha;
+ }
+ }
+ }
}
}
}
diff --git a/themes/hugodocs/pipeline/scss/components/_note-and-warn.scss b/themes/hugodocs/pipeline/scss/components/_note-caution-and-warning-shortcodes.scss
similarity index 66%
rename from themes/hugodocs/pipeline/scss/components/_note-and-warn.scss
rename to themes/hugodocs/pipeline/scss/components/_note-caution-and-warning-shortcodes.scss
index 8548bced9..b172fe696 100644
--- a/themes/hugodocs/pipeline/scss/components/_note-and-warn.scss
+++ b/themes/hugodocs/pipeline/scss/components/_note-caution-and-warning-shortcodes.scss
@@ -1,5 +1,5 @@
.note,
-.caution,.warn {
+.caution,.warning {
display: block;
margin-bottom: 1em;
width: 100%;
@@ -17,6 +17,7 @@
display: block;
margin: 0px;
padding: 12px;
+ font-size:.9em;
}
}
@@ -25,7 +26,10 @@
background-color: $hugo-blue;
}
.shortcode-content {
- background-color: lighten($hugo-blue, 50%);
+ background-color: lighten($hugo-blue, 55%);
+ @include MQ(retina){
+ background-color: lighten($hugo-blue,56%);
+ }
}
}
@@ -35,14 +39,20 @@
}
.shortcode-content {
background-color: lighten($hugo-gold, 30%);
+ @include MQ(retina){
+ background-color: lighten($hugo-gold,35%);
+ }
}
}
-.warn {
+.warning {
> h2 {
background-color: $hugo-pink-dark;
}
.shortcode-content {
background-color: lighten($hugo-pink-dark, 50%);
+ @include MQ(retina){
+ background-color: lighten($hugo-pink-dark, 54%);
+ }
}
}
diff --git a/themes/hugodocs/pipeline/scss/layout/_site-content.scss b/themes/hugodocs/pipeline/scss/layout/_site-content.scss
index 4059c05ab..d58b3dfb1 100644
--- a/themes/hugodocs/pipeline/scss/layout/_site-content.scss
+++ b/themes/hugodocs/pipeline/scss/layout/_site-content.scss
@@ -23,25 +23,65 @@ main.main {
margin-left: auto;
margin-right: auto;
max-width: $content-max-width;
- position:relative;
- header.content-header {
- display: block;
- clear: both;
- width: 100%;
- position: relative;
- margin-top: 3em;
- @include MQ(M) {
- margin-top: 2em;
- }
- .last-modified {
- color: $hugo-gray-light;
- display: block;
- margin-top: -10px;
- width: 100%;
- font-size: .8em;
- margin-bottom: 20px;
- }
+ position: relative;
+ min-height:calc(100vh - #{$site-header-height * 2});
+}
+
+header.content-header {
+ display: block;
+ clear: both;
+ width: 100%;
+ position: relative;
+ margin-top: 3em;
+ @include MQ(M) {
+ margin-top: 2em;
}
+ .last-modified {
+ color: $hugo-gray-light;
+ display: block;
+ margin-top: -10px;
+ width: 100%;
+ font-size: .8em;
+ margin-bottom: 20px;
+ }
+}
+
+a.godoc-link {
+ // position: absolute;
+ // display:flex;
+ // position:relative;
+ display: inline-block;
+ // flex-direction: column;
+ // justify-content: center;
+ // align-items: center;
+ width:auto;
+ position:relative;
+ margin-bottom:0px;
+ vertical-align:bottom;
+ svg {
+ height:1em;
+ width:.7em;
+ }
+ // @include MQ(M) {
+ // max-width: 30px;
+ // }
+ // svg {
+ // display: inline;
+ // // }
+ // span {
+ // display: none;
+ // text-align: center;
+ // text-transform: uppercase;
+ // font-size: 12px;
+ // color: $hugo-white;
+ // background-color: brown;
+ // padding: .2em .5em;
+ // margin-top: -5px;
+ // @include MQ(M) {
+ // font-size: 14px;
+ // margin-top: -8px;
+ // }
+ // }
}
a.edit-link {
@@ -66,7 +106,7 @@ a.edit-link {
}
.body-copy {
- margin-bottom: 2em;
+ margin-bottom: 2.5em;
display: block;
div + h2 {
margin-top: 1em;
diff --git a/themes/hugodocs/pipeline/scss/layout/_site-footer.scss b/themes/hugodocs/pipeline/scss/layout/_site-footer.scss
index e69de29bb..c3695d9a0 100644
--- a/themes/hugodocs/pipeline/scss/layout/_site-footer.scss
+++ b/themes/hugodocs/pipeline/scss/layout/_site-footer.scss
@@ -0,0 +1,43 @@
+#site-footer {
+ position: relative;
+ display: flex;
+ align-items:center;
+ justify-content:space-around;
+ background-color: $hugo-black;
+ min-height: 100px;
+ width: 100%;
+ color: $hugo-white;
+ div {
+ display:flex;
+ flex-direction:column;
+ justify-content:center;
+ align-items:center;
+ img {
+ max-width:200px;
+ }
+ }
+ i.icon-heart:before {
+ color:$hugo-pink;
+ }
+ @include MQ(L) {
+ width:calc(100% - #{$sidebar-width});
+ margin-left: $sidebar-width;
+ }
+}
+
+ul.footer-list {
+ color: $hugo-white;
+ list-style: none;
+ margin-left:0px;
+ padding-left:0px;
+ li a {
+ color: $hugo-white;
+ font-size: .9em;
+ &:not(i) {
+ font-size: 14px;
+ }
+ i {
+ font-size: 16px;
+ }
+ }
+}
diff --git a/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss b/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss
index e8ccc89ae..e1e596409 100644
--- a/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss
+++ b/themes/hugodocs/pipeline/scss/layout/_site-navigation.scss
@@ -40,7 +40,7 @@
}
}
a.top-menu-item-link {
- font-size: 17px;
+ font-size: 16px;
&.active-section {
color: $active-color;
// border-bottom: 1px solid $active-color;
diff --git a/themes/hugodocs/pipeline/scss/style.scss b/themes/hugodocs/pipeline/scss/style.scss
index c1146b844..490a18bfb 100644
--- a/themes/hugodocs/pipeline/scss/style.scss
+++ b/themes/hugodocs/pipeline/scss/style.scss
@@ -1,3 +1,5 @@
+@import 'bourbon/bourbon';
+
//variables and abstracts
@import 'variables';
@import 'abstracts/mixins';
@@ -14,7 +16,7 @@
@import 'components/buttons';
@import 'components/lists';
@import 'components/anchors';
-@import 'components/note-and-warn';
+@import 'components/note-caution-and-warning-shortcodes';
@import 'vendor/prism';
@import 'components/code';
@import 'components/icons';
diff --git a/themes/hugodocs/static/css/style.min.css b/themes/hugodocs/static/css/style.min.css
index 8abc9ef5a..cb8fe6e38 100644
--- a/themes/hugodocs/static/css/style.min.css
+++ b/themes/hugodocs/static/css/style.min.css
@@ -1 +1 @@
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0px;padding:0px;outline:none;border:none;font-size:18px;font-family:"muli","helvetica neue",helvetica,sans-serif;color:#333;line-height:1.6;font-weight:300}body{font-size:90%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 760px){body{font-size:95%}}@media only screen and (min-width: 960px){body{font-size:100%}}p{margin-top:0px;margin-bottom:1.5em;line-height:1.6}@font-face{font-family:'fontello';src:url("/fonts/fontello/fontello.eot?73509738");src:url("/fonts/fontello/fontello.eot?73509738#iefix") format("embedded-opentype"),url("/fonts/fontello/fontello.woff2?73509738") format("woff2"),url("/fonts/fontello/fontello.woff?73509738") format("woff"),url("/fonts/fontello/fontello.ttf?73509738") format("truetype"),url("/fonts/fontello/fontello.svg?73509738#fontello") format("svg");font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-alert:before{content:'\e810'}.icon-angle-double-right:before{content:'\f101'}.icon-attention:before{content:'\e80f'}.icon-bash:before{content:'\e804'}.icon-bell:before{content:'\e80d'}.icon-chrome:before{content:'\e841'}.icon-clipboard:before{content:'\e817'}.icon-code:before{content:'\f121'}.icon-cog-alt:before{content:'\e814'}.icon-css3:before{content:'\f13c'}.icon-download:before{content:'\e815'}.icon-facebook-official:before{content:'\f230'}.icon-file-pdf:before{content:'\f1c1'}.icon-firefox:before{content:'\e840'}.icon-flag:before{content:'\e813'}.icon-go:before{content:'\e801'}.icon-golang:before{content:'\e801'}.icon-gopher:before{content:'\e801'}.icon-home:before{content:'\e812'}.icon-html.input:before{content:'\e801'}.icon-html5:before{content:'\e800'}.icon-html:before{content:'\e800'}.icon-ie:before{content:'\e843'}.icon-info:before{content:'\e811'}.icon-instagram:before{content:'\f32d'}.icon-javascript:before{content:'\e802'}.icon-js:before{content:'\e802'}.icon-json:before{content:'\E81C'}.icon-link:before{content:'\e816'}.icon-markdown:before{content:'\e80e'}.icon-opera:before{content:'\e842'}.icon-pencil:before{content:'\e80c'}.icon-picture:before{content:'\e808'}.icon-quote-left:before{content:'\e809'}.icon-quote-right:before{content:'\e80a'}.icon-sass:before{content:'\e803'}.icon-search:before{content:'\e80b'}.icon-sh:before{content:'\e804'}.icon-share:before{content:'\f1e0'}.icon-shell:before{content:'\e804'}.icon-tag:before{content:'\e806'}.icon-tags:before{content:'\e805'}.icon-terminal:before{content:'\e804'}.icon-twitter:before{content:'\e807'}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-webfont.woff") format("woff"),url("/fonts/muli/muli-100-webfont.ttf") format("truetype");font-weight:100;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-100-italic-webfont.ttf") format("truetype");font-weight:100;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-webfont.woff") format("woff"),url("/fonts/muli/muli-300-webfont.ttf") format("truetype");font-weight:300;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-300-italic-webfont.ttf") format("truetype");font-weight:300;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-webfont.woff") format("woff"),url("/fonts/muli/muli-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-webfont.woff") format("woff"),url("/fonts/muli/muli-600-webfont.ttf") format("truetype");font-weight:600;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-600-italic-webfont.ttf") format("truetype");font-weight:600;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-webfont.woff") format("woff"),url("/fonts/muli/muli-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}h1,h2,h3,h4{letter-spacing:-.021em;font-weight:700;margin:0px;padding-bottom:20px;line-height:1.4}h1{font-size:2em}@media only screen and (min-width: 760px){h1{font-size:2.25em}}h2{font-size:1.5em}h3{font-size:1.2em}h4{font-size:1em;color:#737373;text-transform:uppercase}.functions{font-family:"courierprime",courier,monospace;font-weight:300}button,a[role="button"]{background-color:#0594CB;color:#fff;border:none;outline:none;border-radius:.25em;padding:.25em .5em;box-shadow:none;text-align:center;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}button:hover,a[role="button"]:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}button[class^="icon-"]:before,a[role="button"][class^="icon-"]:before{display:inline-block;font-family:'FontAwesome';margin-right:.3em}button.icon-forum:before,a[role="button"].icon-forum:before{content:'\f086'}button.icon-mailing-list:before,a[role="button"].icon-mailing-list:before{content:'\f0e0'}nav ul,nav ol,aside ul,aside ol{margin-left:0px;padding-left:0px;list-style:none;text-indent:0px}nav ul li,nav ol li,aside ul li,aside ol li{margin-left:0px;padding-left:0px;list-style:none}.body-copy ul{list-style:disc outside none;padding-left:1em;margin-left:.25em;margin-top:0px;padding-top:0px;margin-bottom:1.5em}a{color:#ff4088;font-weight:500}a,a:hover,a:active,a:focus{text-decoration:none;cursor:pointer}.body-copy a{text-decoration:none;color:#ff4088;display:inline-block;outline:none;position:relative;transition:color 0.3s ease;-webkit-perspective:1800px;perspective:1800px}.body-copy a:hover{color:#fff}.body-copy a::before,.body-copy a::after{position:absolute;top:0;left:-4px;padding:0 4px;z-index:-1;box-sizing:content-box;width:100%;height:100%;content:''}.body-copy a::before{background-color:#ff4088;transition:-webkit-transform 0.2s;transition:transform 0.2s;transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1);-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.body-copy a:hover::before,.body-copy a:focus::before{-webkit-transform:rotateX(0);transform:rotateX(0)}.body-copy a::after{border-bottom:2px solid #fff}.note,.caution,.warn{display:block;margin-bottom:1em;width:100%}.note h2,.caution h2,.warn h2{font-size:1.1em;color:#fff;width:100%;display:block;margin:0px;padding:.25em 12px;border:none;outline:none}.note .shortcode-content,.caution .shortcode-content,.warn .shortcode-content{display:block;margin:0px;padding:12px}.note>h2{background-color:#0594CB}.note .shortcode-content{background-color:#d1f1fe}.caution>h2{background-color:#EBB951}.caution .shortcode-content{background-color:#fbf0da}.warn>h2{background-color:#C9177E}.warn .shortcode-content{background-color:#fce3f1}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#f5f2f0}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}code,pre{font-family:"courierprime",courier,monospace}p code,li>code{font-size:.9em;color:#333;font-family:"courierprime",courier,monospace;border:1px solid #949494;padding-left:.25em;padding-right:.25em}div.code-copy{position:relative;margin-top:1em;margin-bottom:1em;font-size:.8em}div.code-copy:hover button.copy-button{transition:all .2s ease-in-out;opacity:1}p+.code-copy{margin-top:0em}button.copy-button{display:none}@media only screen and (min-width: 760px){button.copy-button{display:block;padding:0px;transition:all .2s ease-in-out;opacity:1;background-color:#5a5a5a;box-sizing:border-box;position:absolute;bottom:0px;right:0px;z-index:4;width:80px;height:1.5em;border-width:0px;border-radius:0px;color:#fff}button.copy-button:hover{background-color:#0594CB}button.copy-button:active,button.copy-button:focus{outline:none;position:absolute}}.copy-text{color:#fff;font-size:12px;display:block;width:80px;line-height:1.5em;height:1.5em;vertical-align:middle;text-align:center}.copy-text i.icon-clipboard{display:inline}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}div.code-copy{position:relative;box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);border-radius:0px}div.code-copy-header{position:relative;height:1.5em;line-height:1.5em;background-color:#5a5a5a;border-radius:0px;position:relative}div.code-copy-header span.filename{display:block;margin-right:auto;margin-left:auto;text-align:center;max-width:50%;color:#fff;font-weight:100;font-size:.8em;background-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbols"}div.code-copy-header [class^="icon-"]{float:right;position:relative;top:-1.45em;right:.5em;color:#fff}.action-buttons{position:absolute;left:10px;margin-top:.35em;width:12px;height:12px;background:Crimson;border-radius:50%;box-shadow:18px 0 0 Orange, 36px 0 0 LimeGreen}.tooltipped{position:relative;background-color:#0594CB;padding-right:2em}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:2px 4px;font-size:.8em;font-weight:700;font-family:"muli","helvetica neue",helvetica,sans-serif;color:#fff;text-align:center;text-transform:uppercase;text-decoration:none;text-shadow:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background-color:#0594CB;border-color:#0594CB;border-radius:0px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:#0594CB;pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before,.tooltipped:hover:after,.tooltipped:active:before,.tooltipped:active:after,.tooltipped:focus:before,.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after,.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;text-align:center}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:#0594CB;text-align:center}.tooltipped-se:after{right:auto;left:50%;margin-left:-15px;text-align:center}.tooltipped-sw:after{margin-right:-15px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:#0594CB}.tooltipped-ne:after{right:auto;left:50%;margin-left:-15px}.tooltipped-nw:after{margin-right:-15px}.tooltipped-s:after,.tooltipped-n:after{-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:#0594CB}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:#0594CB}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-multiline.tooltipped-s:after,.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after,.tooltipped-multiline.tooltipped-e:after{right:100%}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:"courierprime",courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em 1em 2em 1em;margin:.5em 0;overflow:auto;background-color:#333}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#fff}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#5a5a5a}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#C9177E}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#33BA91}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#C9177E;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#0594CB}.token.function{color:#EBB951}.token.regex,.token.important,.token.variable{color:#EBB951}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre.line-numbers>code{position:relative}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#737373;display:block;padding-right:0.8em;text-align:right}code.language-markdown span.token.italic{color:#ff4088}code.language-markdown span.token.url{color:#0594CB}code.language-markdown .token.list.punctuation{color:#0594CB}ul.tags{list-style:none;margin:0;overflow:hidden;padding:0;margin-top:-1em;margin-bottom:.5em}.tags li{float:left}.tags li:first-child{margin-right:.5em}.tag{background:#eee;border-radius:3px 0 0 3px;color:#999;display:inline-block;height:26px;line-height:26px;padding:0 20px 0 23px;position:relative;margin:0 10px 10px 0;text-decoration:none;font-size:.7em;-webkit-transition:color 0.2s}.tag::before{background:#fff;border-radius:10px;box-shadow:inset 0 1px rgba(0,0,0,0.25);content:'';height:6px;left:10px;position:absolute;width:6px;top:10px}.tag::after{background:#fff;border-bottom:13px solid transparent;border-left:10px solid #eee;border-top:13px solid transparent;content:'';position:absolute;right:0;top:0}.tag:hover{background-color:#C9177E;color:white}.tag:hover::after{border-left-color:#C9177E}.site-header{width:100%;height:50px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin:0px;background-color:#fff;color:#000;position:fixed;top:0px;left:0px;z-index:10;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}@media only screen and (min-width: 760px){.site-header{-ms-flex-pack:justify;justify-content:space-between}}.site-header .hugo-meta{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.site-header #home-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.8em;margin-left:1.5em}.site-header #home-link img{height:35px;margin-right:.25em}.site-header #home-link .hugo-v{-ms-flex-item-align:end;align-self:flex-end;font-size:.9em}.site-header a.github-button{display:none}@media only screen and (min-width: 760px){.site-header a.github-button{display:inline}}.site-header iframe[src^="https://buttons.github.io"]{display:none;margin-left:1em}@media only screen and (min-width: 760px){.site-header iframe[src^="https://buttons.github.io"]{display:inline}}.site-navigation{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;position:fixed;left:0px;top:0px;width:280px;bottom:0px;overflow-y:scroll;background-color:#fcfcfc;-webkit-transform:translateX(-280px);transform:translateX(-280px);padding:1em;z-index:9}.site-navigation.navigation-open{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-webkit-transform:translateX(0px);transform:translateX(0px)}@media only screen and (min-width: 960px){.site-navigation{-webkit-transform:translateX(0px);transform:translateX(0px)}}.site-navigation ul.top-menu{margin-top:80px;display:inline-block;margin-left:auto;margin-right:auto}@media only screen and (min-width: 960px){.site-navigation ul.top-menu{margin-top:60px}}.site-navigation ul.top-menu a{color:#333;font-weight:300}.site-navigation ul.top-menu li{padding-left:1em;line-height:1;margin-top:.66em;margin-bottom:.66em}.site-navigation ul.top-menu li ul li{padding-left:.5em}.site-navigation ul.top-menu a.top-menu-item-link{font-size:17px}.site-navigation ul.top-menu a.top-menu-item-link.active-section{color:#ff4088;font-weight:600}.site-navigation ul.top-menu a.top-menu-item-link.active-section+ul.submenu{display:block;border-left:1px solid #ff4088}.site-navigation ul.top-menu ul.submenu{display:none}.site-navigation ul.top-menu ul.submenu a.submenu-item-link{font-size:14px}.site-navigation ul.top-menu ul.submenu a.submenu-item-link:hover{color:#737373}.site-navigation ul.top-menu ul.submenu a.submenu-item-link.active-page{font-weight:600;color:#0594CB}.nav-buttons a{margin-left:1em;margin-bottom:.5em;display:inline-block;width:200px;font-size:.9em}.navigation-toggle-wrapper{width:60px;height:60px;position:fixed;top:50px;left:0px;z-index:20}.navigation-toggle-wrapper h4.menu{display:inline-block;position:absolute;bottom:-1em;left:.8em;color:#0594CB;display:none}@media only screen and (min-width: 960px){.navigation-toggle-wrapper{display:none}}.navigation-toggle-wrapper.navigation-open .middle{width:40px;height:40px;top:10%;border-radius:50%;background-color:#ff4088;border-color:#ff4088;opacity:0.3}.navigation-toggle-wrapper.navigation-open .top{-webkit-transform:rotate(45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.navigation-toggle-wrapper.navigation-open .bottom{-webkit-transform:rotate(-45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.bar{width:40px;height:2px;border:2px solid #0594CB;background-color:#0594CB;position:absolute;border-radius:10px}.bar.navigation-open{background-color:#ff4088;border:2px solid #ff4088}.top{left:15%;top:20%;-webkit-transition:all 0.5s}.middle{left:15%;top:40%;-webkit-transition:all 0.5s}.bottom{left:15%;top:60%;-webkit-transition:all 0.5s}#all-content-wrapper{margin-top:50px;z-index:5;transition:all .3s ease-in-out;opacity:1}@media only screen and (min-width: 960px){#all-content-wrapper{margin-left:280px}}#all-content-wrapper.navigation-open{transition:all .3s ease-in-out;-webkit-transform:translateX(280px);transform:translateX(280px);opacity:.4}@media only screen and (min-width: 960px){#all-content-wrapper.navigation-open{opacity:1;-webkit-transform:translateX(0px);transform:translateX(0px)}}main.main{width:90%;display:block;margin-left:auto;margin-right:auto;max-width:35em;position:relative}main.main header.content-header{display:block;clear:both;width:100%;position:relative;margin-top:3em}@media only screen and (min-width: 760px){main.main header.content-header{margin-top:2em}}main.main header.content-header .last-modified{color:#949494;display:block;margin-top:-10px;width:100%;font-size:.8em;margin-bottom:20px}a.edit-link{font-size:1.2em;position:absolute;top:-40px;right:0px}@media only screen and (min-width: 960px){a.edit-link{font-size:.7em;position:fixed;top:90px;right:2em}}a.edit-link .edit-text{display:none}@media only screen and (min-width: 960px){a.edit-link .edit-text{display:inline;margin-right:.15em;text-transform:uppercase}}.body-copy{margin-bottom:2em;display:block}.body-copy div+h2{margin-top:1em}.all-content-wrapper.home{background-color:#eaf9fe}main#homepage{width:90%;margin-bottom:2.5em}@media only screen and (min-width: 760px){main#homepage{max-width:684px}}@media only screen and (min-width: 960px){main#homepage{max-width:774px}}.homepage-image{display:block;margin:1em auto;max-width:200px}.homepage-image img{max-width:200px;margin-left:auto;margin-right:auto}.homepage-cards{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.homepage-cards .homepage-card{transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);color:inherit;width:100%;background-color:#fff;margin-bottom:.5em;padding:16px 8px}.homepage-cards .homepage-card:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}@media only screen and (min-width: 760px){.homepage-cards .homepage-card{max-width:328.32px;margin-bottom:1em}}@media only screen and (min-width: 960px){.homepage-cards .homepage-card{max-width:239.94px;margin-left:.2em}}.homepage-cards .homepage-card h2{font-size:1em;margin:0px;line-height:1.1;margin-bottom:.5em;padding-bottom:0px}.homepage-cards .homepage-card p{font-size:.8em;line-height:1.3;margin-bottom:0px;color:#595959}
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0px;padding:0px;outline:none;border:none;font-size:18px;font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;color:#333;line-height:1.6;font-weight:300}body{font-size:90%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 760px){body{font-size:95%}}@media only screen and (min-width: 960px){body{font-size:100%}}p{margin-top:0px;margin-bottom:1.5em;line-height:1.6}@font-face{font-family:'fontello';src:url("/fonts/fontello/fontello.eot");src:url("/fonts/fontello/fontello.woff2") format("woff2"),url("/fonts/fontello/fontello.woff") format("woff"),url("/fonts/fontello/fontello.ttf") format("truetype"),url("/fonts/fontello/fontello.svg?78165468#fontello") format("svg");font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-alert:before{content:'\e810'}.icon-angle-double-right:before{content:'\f101'}.icon-attach:before{content:'\e820'}.icon-attention:before{content:'\e80f'}.icon-bell:before{content:'\e80d'}.icon-cancel:before{content:'\e81e'}.icon-caution:before{content:'\e80f'}.icon-chrome:before{content:'\e841'}.icon-clipboard:before{content:'\e817'}.icon-code:before{content:'\f121'}.icon-cog-alt:before{content:'\e814'}.icon-css3:before{content:'\f13c'}.icon-docs:before{content:'\f15c'}.icon-download:before{content:'\e815'}.icon-facebook-official:before{content:'\f230'}.icon-firefox:before{content:'\e840'}.icon-flag:before{content:'\e813'}.icon-forum:before{content:'\f03d';margin-right:.3em}.icon-github:before{content:'\f09b'}.icon-gitter:before{content:'\e819'}.icon-go:before{content:'\e801'}.icon-golang:before{content:'\e801'}.icon-heart:before{content:'\e81d'}.icon-help:before{content:'\e81b'}.icon-home:before{content:'\e812'}.icon-html.input:before{content:'\e81f'}.icon-html5:before{content:'\e800'}.icon-html:before{content:'\e800'}.icon-hugo:before{content:'\e81f'}.icon-ie:before{content:'\e843'}.icon-info:before{content:'\e811'}.icon-instagram:before{content:'\f32d'}.icon-javascript:before{content:'\e802'}.icon-js:before{content:'\e802'}.icon-json:before{content:'\e81c'}.icon-link:before{content:'\e816'}.icon-linkedin:before{content:'\f30c'}.icon-love:before{content:'\e81d'}.icon-mail:before{content:'\e821'}.icon-markdown:before{content:'\e80e'}.icon-note:before{content:'\e80d'}.icon-opera:before{content:'\e842'}.icon-pdf:before{content:'\f1c1'}.icon-pencil:before{content:'\e80c'}.icon-picture:before{content:'\e808'}.icon-quote-left:before{content:'\e809'}.icon-quote-right:before{content:'\e80a'}.icon-sass:before{content:'\e803'}.icon-search:before{content:'\e80b'}.icon-share:before{content:'\f1e0'}.icon-tag:before{content:'\e806'}.icon-tags:before{content:'\e805'}.icon-sh:before{content:'\e804'}.icon-terminal:before{content:'\e804'}.icon-bash:before{content:'\e804'}.icon-thumbs-up:before{content:'\e81a'}.icon-twitter:before{content:'\e807'}.icon-warning:before{content:'\e810'}.icon-website:before{content:'\e818'}.icon-yaml:before,.icon-yml:before,.icon-toml:before{font-family:"courierprime",courier,monospace;left:-1em;margin-right:1em}.icon-yaml:before,.icon-yml:before{content:'YAML'}.icon-toml:before{content:'TOML'}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-webfont.woff") format("woff"),url("/fonts/muli/muli-100-webfont.ttf") format("truetype");font-weight:100;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-100-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-100-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-100-italic-webfont.ttf") format("truetype");font-weight:100;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-webfont.woff") format("woff"),url("/fonts/muli/muli-300-webfont.ttf") format("truetype");font-weight:300;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-300-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-300-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-300-italic-webfont.ttf") format("truetype");font-weight:300;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-webfont.woff") format("woff"),url("/fonts/muli/muli-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-400-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-400-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-webfont.woff") format("woff"),url("/fonts/muli/muli-600-webfont.ttf") format("truetype");font-weight:600;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-600-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-600-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-600-italic-webfont.ttf") format("truetype");font-weight:600;font-style:italic}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-webfont.woff") format("woff"),url("/fonts/muli/muli-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"muli";src:url("/fonts/muli/muli-700-italic-webfont.woff2") format("woff2"),url("/fonts/muli/muli-700-italic-webfont.woff") format("woff"),url("/fonts/muli/muli-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-webfont.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-400-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-400-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-400-italic-webfont.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-webfont.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"courierprime";src:url("/fonts/courierprime/courierprime-700-italic-webfont.woff2") format("woff2"),url("/fonts/courierprime/courierprime-700-italic-webfont.woff") format("woff"),url("/fonts/courierprime/courierprime-700-italic-webfont.ttf") format("truetype");font-weight:700;font-style:italic}h1,h2,h3,h4{font-weight:700;margin:0px;padding-bottom:20px;line-height:1.4}h1{font-size:2em;letter-spacing:-.021em}@media only screen and (min-width: 760px){h1{font-size:2.25em}}h2{font-size:1.5em}h3{font-size:1.2em}h4{font-size:1em;color:#737373;text-transform:uppercase}.functions{font-family:"courierprime",courier,monospace;font-weight:300}.submenu-item:first-child a.submenu-item-link.functions{font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif}button,a[role="button"]{background-color:#0594CB;color:#fff;border:none;outline:none;border-radius:.25em;padding:.25em .5em;box-shadow:none;text-align:center;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}button:hover,a[role="button"]:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}button[class^="icon-"]:before,a[role="button"][class^="icon-"]:before{display:inline-block;font-family:'FontAwesome';margin-right:.3em}button.icon-forum:before,a[role="button"].icon-forum:before{content:'\f086'}button.icon-mailing-list:before,a[role="button"].icon-mailing-list:before{content:'\f0e0'}nav ul,nav ol,aside ul,aside ol{margin-left:0px;padding-left:0px;list-style:none;text-indent:0px}nav ul li,nav ol li,aside ul li,aside ol li{margin-left:0px;padding-left:0px;list-style:none}.body-copy ul,.body-copy ol{padding-left:.75em;margin-left:.25em;margin-top:0px;padding-top:0px;margin-bottom:1.5em}.body-copy ul li ul,.body-copy ul li ol,.body-copy ol li ul,.body-copy ol li ol{margin-bottom:0px}.body-copy ul{list-style:disc outside none}.body-copy ul li ul{list-style-type:circle}.body-copy ul li ul li ul{list-style-type:square}.body-copy ol li ol{list-style-type:lower-roman}.body-copy ol li ol li ol{list-style-type:lower-alpha}a{color:#ff4088;font-weight:500}a,a:hover,a:active,a:focus{text-decoration:none;cursor:pointer}.body-copy a{text-decoration:none;color:#ff4088;display:inline-block;outline:none;position:relative;transition:color 0.3s ease;-webkit-perspective:1800px;perspective:1800px}.body-copy a:hover{color:#fff}.body-copy a::before,.body-copy a::after{position:absolute;top:0;left:-4px;padding:0 4px;z-index:-1;box-sizing:content-box;width:100%;height:100%;content:''}.body-copy a::before{background-color:#ff4088;transition:-webkit-transform 0.2s;transition:transform 0.2s;transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1);-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.body-copy a:hover::before,.body-copy a:focus::before{-webkit-transform:rotateX(0);transform:rotateX(0)}.body-copy a::after{border-bottom:1px solid #ff4088}.note,.caution,.warning{display:block;margin-bottom:1em;width:100%}.note h2,.caution h2,.warning h2{font-size:1.1em;color:#fff;width:100%;display:block;margin:0px;padding:.25em 12px;border:none;outline:none}.note .shortcode-content,.caution .shortcode-content,.warning .shortcode-content{display:block;margin:0px;padding:12px;font-size:.9em}.note>h2{background-color:#0594CB}.note .shortcode-content{background-color:#eaf9fe}@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi){.note .shortcode-content{background-color:#effaff}}.caution>h2{background-color:#EBB951}.caution .shortcode-content{background-color:#fbf0da}@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi){.caution .shortcode-content{background-color:#fdf9f1}}.warning>h2{background-color:#C9177E}.warning .shortcode-content{background-color:#fce3f1}@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi){.warning .shortcode-content{background-color:#fef5fa}}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#f5f2f0}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}code,pre{font-family:"courierprime",courier,monospace}pre>code{font-size:.8em}.body-copy>pre[class*="language-"],.body-copy>code[class*="language-"]{transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23);text-shadow:0 0px transparent;text-shadow:none;padding:1em;margin:.5em 0;overflow:auto}.body-copy>pre[class*="language-"]{margin-bottom:1.5em}p code,li>code{font-size:.9em;color:#333;font-family:"courierprime",courier,monospace;border:1px solid #949494;padding-left:.25em;padding-right:.25em}div.code-copy{position:relative;margin-top:1em;margin-bottom:1.5em}div.code-copy:hover button.copy-button{transition:all .2s ease-in-out;opacity:1}p+.code-copy{margin-top:0em}button.copy-button{display:none}@media only screen and (min-width: 760px){button.copy-button{display:block;padding:0px;transition:all .2s ease-in-out;opacity:1;background-color:#5a5a5a;box-sizing:border-box;position:absolute;bottom:0px;right:0px;z-index:4;width:80px;height:1.5em;border-width:0px;border-radius:0px;color:#fff}button.copy-button:hover{background-color:#0594CB}button.copy-button:active,button.copy-button:focus{outline:none;position:absolute}}.copy-text{color:#fff;font-size:12px;display:block;width:80px;line-height:1.5em;height:1.5em;vertical-align:middle;text-align:center}.copy-text i.icon-clipboard{display:inline}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}@media only screen and (min-device-width: 375px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2){button.copy-button{display:none}}div.code-copy{position:relative;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23);transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);border-radius:0px}div.code-copy-header{position:relative;height:1.5em;line-height:1.5em;background-color:#5a5a5a;border-radius:0px;position:relative}div.code-copy-header.output{background-color:#0594CB}div.code-copy-header span.filename{display:block;margin-right:auto;margin-left:auto;text-align:center;max-width:50%;color:#fff;font-weight:100;font-size:.8em;background-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbols"}div.code-copy-header [class^="icon-"]{float:right;position:relative;top:-1.45em;right:.5em;color:#fff}.action-buttons{position:absolute;left:10px;margin-top:.35em;width:12px;height:12px;background:Crimson;border-radius:50%;box-shadow:18px 0 0 Orange, 36px 0 0 LimeGreen}.tooltipped{position:relative;background-color:#0594CB;padding-right:2em}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:2px 4px;font-size:.8em;font-weight:700;font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;color:#fff;text-align:center;text-transform:uppercase;text-decoration:none;text-shadow:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background-color:#0594CB;border-color:#0594CB;border-radius:0px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:#0594CB;pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before,.tooltipped:hover:after,.tooltipped:active:before,.tooltipped:active:after,.tooltipped:focus:before,.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after,.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;text-align:center}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:#0594CB;text-align:center}.tooltipped-se:after{right:auto;left:50%;margin-left:-15px;text-align:center}.tooltipped-sw:after{margin-right:-15px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:#0594CB}.tooltipped-ne:after{right:auto;left:50%;margin-left:-15px}.tooltipped-nw:after{margin-right:-15px}.tooltipped-s:after,.tooltipped-n:after{-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:#0594CB}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:#0594CB}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-multiline.tooltipped-s:after,.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after,.tooltipped-multiline.tooltipped-e:after{right:100%}code[class*="language-"],pre[class*="language-"]{color:black;background:none;text-shadow:0 1px white;font-family:"courierprime",courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"]::selection,code[class*="language-"]::selection,code[class*="language-"]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em 1em 2em 1em;margin:.5em 0;overflow:auto;background-color:#333}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#fff}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#5a5a5a}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#C9177E}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#33BA91}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#C9177E;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#0594CB}.token.function{color:#EBB951}.token.regex,.token.important,.token.variable{color:#EBB951}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre.line-numbers>code{position:relative}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#737373;display:block;padding-right:0.8em;text-align:right}code.language-markdown span.token.italic{color:#ff4088}code.language-markdown span.token.url{color:#0594CB}code.language-markdown .token.list.punctuation{color:#0594CB}svg.svg-icon{max-width:60px}ul.tags{list-style:none;margin:0;overflow:hidden;padding:0;margin-top:-1em;margin-bottom:.5em}.tags li{float:left}.tags li:first-child{margin-right:.5em}.tag{background:#eee;border-radius:3px 0 0 3px;color:#999;display:inline-block;height:26px;line-height:26px;padding:0 20px 0 23px;position:relative;margin:0 10px 10px 0;text-decoration:none;font-size:.7em;-webkit-transition:color 0.2s}.tag::before{background:#fff;border-radius:10px;box-shadow:inset 0 1px rgba(0,0,0,0.25);content:'';height:6px;left:10px;position:absolute;width:6px;top:10px}.tag::after{background:#fff;border-bottom:13px solid transparent;border-left:10px solid #eee;border-top:13px solid transparent;content:'';position:absolute;right:0;top:0}.tag:hover{background-color:#C9177E;color:white}.tag:hover::after{border-left-color:#C9177E}.site-header{width:100%;height:50px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin:0px;background-color:#fff;color:#000;position:fixed;top:0px;left:0px;z-index:10;transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}@media only screen and (min-width: 760px){.site-header{-ms-flex-pack:justify;justify-content:space-between}}.site-header .hugo-meta{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.site-header #home-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.8em;margin-left:1.5em}.site-header #home-link img{height:35px;margin-right:.25em}.site-header #home-link .hugo-v{-ms-flex-item-align:end;align-self:flex-end;font-size:.9em}.site-header a.github-button{display:none}@media only screen and (min-width: 760px){.site-header a.github-button{display:inline}}.site-header iframe[src^="https://buttons.github.io"]{display:none;margin-left:1em}@media only screen and (min-width: 760px){.site-header iframe[src^="https://buttons.github.io"]{display:inline}}.site-navigation{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;position:fixed;left:0px;top:0px;width:280px;bottom:0px;overflow-y:scroll;background-color:#fcfcfc;-webkit-transform:translateX(-280px);transform:translateX(-280px);padding:1em;z-index:9}.site-navigation.navigation-open{transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-webkit-transform:translateX(0px);transform:translateX(0px)}@media only screen and (min-width: 960px){.site-navigation{-webkit-transform:translateX(0px);transform:translateX(0px)}}.site-navigation ul.top-menu{margin-top:80px;display:inline-block;margin-left:auto;margin-right:auto}@media only screen and (min-width: 960px){.site-navigation ul.top-menu{margin-top:60px}}.site-navigation ul.top-menu a{color:#333;font-weight:300}.site-navigation ul.top-menu li{padding-left:1em;line-height:1;margin-top:.66em;margin-bottom:.66em}.site-navigation ul.top-menu li ul li{padding-left:.5em}.site-navigation ul.top-menu a.top-menu-item-link{font-size:16px}.site-navigation ul.top-menu a.top-menu-item-link.active-section{color:#ff4088;font-weight:600}.site-navigation ul.top-menu a.top-menu-item-link.active-section+ul.submenu{display:block;border-left:1px solid #ff4088}.site-navigation ul.top-menu ul.submenu{display:none}.site-navigation ul.top-menu ul.submenu a.submenu-item-link{font-size:14px}.site-navigation ul.top-menu ul.submenu a.submenu-item-link:hover{color:#737373}.site-navigation ul.top-menu ul.submenu a.submenu-item-link.active-page{font-weight:600;color:#0594CB}.nav-buttons a{margin-left:1em;margin-bottom:.5em;display:inline-block;width:200px;font-size:.9em}.navigation-toggle-wrapper{width:60px;height:60px;position:fixed;top:50px;left:0px;z-index:20}.navigation-toggle-wrapper h4.menu{display:inline-block;position:absolute;bottom:-1em;left:.8em;color:#0594CB;display:none}@media only screen and (min-width: 960px){.navigation-toggle-wrapper{display:none}}.navigation-toggle-wrapper.navigation-open .middle{width:40px;height:40px;top:10%;border-radius:50%;background-color:#ff4088;border-color:#ff4088;opacity:0.3}.navigation-toggle-wrapper.navigation-open .top{-webkit-transform:rotate(45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.navigation-toggle-wrapper.navigation-open .bottom{-webkit-transform:rotate(-45deg);top:40%;border-radius:5px;background-color:#ff4088;border-color:#ff4088}.bar{width:40px;height:2px;border:2px solid #0594CB;background-color:#0594CB;position:absolute;border-radius:10px}.bar.navigation-open{background-color:#ff4088;border:2px solid #ff4088}.top{left:15%;top:20%;-webkit-transition:all 0.5s}.middle{left:15%;top:40%;-webkit-transition:all 0.5s}.bottom{left:15%;top:60%;-webkit-transition:all 0.5s}#all-content-wrapper{margin-top:50px;z-index:5;transition:all .3s ease-in-out;opacity:1}@media only screen and (min-width: 960px){#all-content-wrapper{margin-left:280px}}#all-content-wrapper.navigation-open{transition:all .3s ease-in-out;-webkit-transform:translateX(280px);transform:translateX(280px);opacity:.4}@media only screen and (min-width: 960px){#all-content-wrapper.navigation-open{opacity:1;-webkit-transform:translateX(0px);transform:translateX(0px)}}main.main{width:90%;display:block;margin-left:auto;margin-right:auto;max-width:35em;position:relative;min-height:calc(100vh - 100px)}header.content-header{display:block;clear:both;width:100%;position:relative;margin-top:3em}@media only screen and (min-width: 760px){header.content-header{margin-top:2em}}header.content-header .last-modified{color:#949494;display:block;margin-top:-10px;width:100%;font-size:.8em;margin-bottom:20px}a.godoc-link{display:inline-block;width:auto;position:relative;margin-bottom:0px;vertical-align:bottom}a.godoc-link svg{height:1em;width:.7em}a.edit-link{font-size:1.2em;position:absolute;top:-40px;right:0px}@media only screen and (min-width: 960px){a.edit-link{font-size:.7em;position:fixed;top:90px;right:2em}}a.edit-link .edit-text{display:none}@media only screen and (min-width: 960px){a.edit-link .edit-text{display:inline;margin-right:.15em;text-transform:uppercase}}.body-copy{margin-bottom:2.5em;display:block}.body-copy div+h2{margin-top:1em}#site-footer{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around;background-color:#000;min-height:100px;width:100%;color:#fff}#site-footer div{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}#site-footer div img{max-width:200px}#site-footer i.icon-heart:before{color:#ff4088}@media only screen and (min-width: 960px){#site-footer{width:calc(100% - 280px);margin-left:280px}}ul.footer-list{color:#fff;list-style:none;margin-left:0px;padding-left:0px}ul.footer-list li a{color:#fff;font-size:.9em}ul.footer-list li a:not(i){font-size:14px}ul.footer-list li a i{font-size:16px}.all-content-wrapper.home{background-color:#eaf9fe}main#homepage{width:90%;margin-bottom:2.5em}@media only screen and (min-width: 760px){main#homepage{max-width:684px}}@media only screen and (min-width: 960px){main#homepage{max-width:774px}}.homepage-image{display:block;margin:1em auto;max-width:200px}.homepage-image img{max-width:200px;margin-left:auto;margin-right:auto}.homepage-cards{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.homepage-cards .homepage-card{transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);color:inherit;width:100%;background-color:#fff;margin-bottom:.5em;padding:16px 8px}.homepage-cards .homepage-card:hover{transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}@media only screen and (min-width: 760px){.homepage-cards .homepage-card{max-width:328.32px;margin-bottom:1em}}@media only screen and (min-width: 960px){.homepage-cards .homepage-card{max-width:239.94px;margin-left:.2em}}.homepage-cards .homepage-card h2{font-size:1em;margin:0px;line-height:1.1;margin-bottom:.5em;padding-bottom:0px}.homepage-cards .homepage-card p{font-size:.8em;line-height:1.3;margin-bottom:0px;color:#595959}
diff --git a/themes/hugodocs/static/design-resources/godoc-icon.afdesign b/themes/hugodocs/static/design-resources/godoc-icon.afdesign
new file mode 100644
index 000000000..793d9218e
Binary files /dev/null and b/themes/hugodocs/static/design-resources/godoc-icon.afdesign differ
diff --git a/themes/hugodocs/static/design-resources/hugo-h.afdesign b/themes/hugodocs/static/design-resources/hugo-h.afdesign
new file mode 100644
index 000000000..8f027454a
Binary files /dev/null and b/themes/hugodocs/static/design-resources/hugo-h.afdesign differ
diff --git a/themes/hugodocs/static/fonts/fontello/fontello.eot b/themes/hugodocs/static/fonts/fontello/fontello.eot
index 481146e76..f57898c84 100755
Binary files a/themes/hugodocs/static/fonts/fontello/fontello.eot and b/themes/hugodocs/static/fonts/fontello/fontello.eot differ
diff --git a/themes/hugodocs/static/fonts/fontello/fontello.svg b/themes/hugodocs/static/fonts/fontello/fontello.svg
index 1422dccbe..43cf02a6c 100755
--- a/themes/hugodocs/static/fonts/fontello/fontello.svg
+++ b/themes/hugodocs/static/fonts/fontello/fontello.svg
@@ -8,7 +8,7 @@
-
+
@@ -20,7 +20,7 @@
-
+
@@ -64,6 +64,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -72,7 +82,9 @@
-
+
+
+
@@ -80,12 +92,16 @@
-
+
+
+
+
+
diff --git a/themes/hugodocs/static/fonts/fontello/fontello.ttf b/themes/hugodocs/static/fonts/fontello/fontello.ttf
index 885c83aeb..17f58d96e 100755
Binary files a/themes/hugodocs/static/fonts/fontello/fontello.ttf and b/themes/hugodocs/static/fonts/fontello/fontello.ttf differ
diff --git a/themes/hugodocs/static/fonts/fontello/fontello.woff b/themes/hugodocs/static/fonts/fontello/fontello.woff
index a842ba97d..b9ef41c4a 100755
Binary files a/themes/hugodocs/static/fonts/fontello/fontello.woff and b/themes/hugodocs/static/fonts/fontello/fontello.woff differ
diff --git a/themes/hugodocs/static/fonts/fontello/fontello.woff2 b/themes/hugodocs/static/fonts/fontello/fontello.woff2
index 75feb98a2..ee7c932eb 100755
Binary files a/themes/hugodocs/static/fonts/fontello/fontello.woff2 and b/themes/hugodocs/static/fonts/fontello/fontello.woff2 differ
diff --git a/themes/hugodocs/static/images/hugo-tall.png b/themes/hugodocs/static/images/hugo-tall.png
new file mode 100755
index 000000000..001ce5eb3
Binary files /dev/null and b/themes/hugodocs/static/images/hugo-tall.png differ
diff --git a/themes/hugodocs/static/images/made-with-hugo-dark.png b/themes/hugodocs/static/images/made-with-hugo-dark.png
new file mode 100755
index 000000000..c6cadf283
Binary files /dev/null and b/themes/hugodocs/static/images/made-with-hugo-dark.png differ
diff --git a/themes/hugodocs/static/images/made-with-hugo-long-dark.png b/themes/hugodocs/static/images/made-with-hugo-long-dark.png
new file mode 100755
index 000000000..1e49995fb
Binary files /dev/null and b/themes/hugodocs/static/images/made-with-hugo-long-dark.png differ
diff --git a/themes/hugodocs/static/images/made-with-hugo-long.png b/themes/hugodocs/static/images/made-with-hugo-long.png
new file mode 100755
index 000000000..c5df534cf
Binary files /dev/null and b/themes/hugodocs/static/images/made-with-hugo-long.png differ
diff --git a/themes/hugodocs/static/images/made-with-hugo.png b/themes/hugodocs/static/images/made-with-hugo.png
new file mode 100755
index 000000000..52dfd19e5
Binary files /dev/null and b/themes/hugodocs/static/images/made-with-hugo.png differ
diff --git a/themes/hugodocs/static/images/powered-by-hugo-dark.png b/themes/hugodocs/static/images/powered-by-hugo-dark.png
new file mode 100755
index 000000000..a8e2ebc80
Binary files /dev/null and b/themes/hugodocs/static/images/powered-by-hugo-dark.png differ
diff --git a/themes/hugodocs/static/images/powered-by-hugo-long-dark.png b/themes/hugodocs/static/images/powered-by-hugo-long-dark.png
new file mode 100755
index 000000000..1b760b1bf
Binary files /dev/null and b/themes/hugodocs/static/images/powered-by-hugo-long-dark.png differ
diff --git a/themes/hugodocs/static/images/powered-by-hugo-long.png b/themes/hugodocs/static/images/powered-by-hugo-long.png
new file mode 100755
index 000000000..37131359d
Binary files /dev/null and b/themes/hugodocs/static/images/powered-by-hugo-long.png differ
diff --git a/themes/hugodocs/static/images/powered-by-hugo.png b/themes/hugodocs/static/images/powered-by-hugo.png
new file mode 100755
index 000000000..27ff099d5
Binary files /dev/null and b/themes/hugodocs/static/images/powered-by-hugo.png differ