diff --git a/themes/Blog/Phantom/assets/webfonts/fa-solid-900.woff b/themes/Blog/Phantom/assets/webfonts/fa-solid-900.woff
new file mode 100644
index 00000000..77c17862
Binary files /dev/null and b/themes/Blog/Phantom/assets/webfonts/fa-solid-900.woff differ
diff --git a/themes/Blog/SolidState/_Footer.cshtml b/themes/Blog/SolidState/_Footer.cshtml
index d1e54b85..484bdc93 100644
--- a/themes/Blog/SolidState/_Footer.cshtml
+++ b/themes/Blog/SolidState/_Footer.cshtml
@@ -1,22 +1,20 @@
@if (Context.String(BlogKeys.RssPath) != null && Context.String(BlogKeys.AtomPath) != null) {
- Feeds
+ Follow
@if (Context.String(BlogKeys.RssPath) != null) {
- RSS Feed
+
}
@if (Context.String(BlogKeys.AtomPath) != null) {
- Atom Feed
+
}
}
-
\ No newline at end of file
diff --git a/themes/Blog/SolidState/_Header.cshtml b/themes/Blog/SolidState/_Header.cshtml
index 327e57c6..36ac61a8 100644
--- a/themes/Blog/SolidState/_Header.cshtml
+++ b/themes/Blog/SolidState/_Header.cshtml
@@ -1,5 +1,6 @@
@Model.WithoutSettings.String(BlogKeys.Title)
+
@Model.WithoutSettings.String(BlogKeys.Description)
\ No newline at end of file
diff --git a/themes/Blog/SolidState/_Index.cshtml b/themes/Blog/SolidState/_Index.cshtml
index 657b35f1..29936f24 100644
--- a/themes/Blog/SolidState/_Index.cshtml
+++ b/themes/Blog/SolidState/_Index.cshtml
@@ -37,17 +37,17 @@ else
}
}
-
+
@@ -71,7 +71,7 @@ else
diff --git a/themes/Blog/SolidState/_Layout.cshtml b/themes/Blog/SolidState/_Layout.cshtml
index b84f9a3f..ce96442e 100644
--- a/themes/Blog/SolidState/_Layout.cshtml
+++ b/themes/Blog/SolidState/_Layout.cshtml
@@ -14,8 +14,10 @@
@PageTitle
-
-
+
+
+
+
@if(Model.ContainsKey(BlogKeys.Image))
{
",e})},initVars:function(){var e,n,i,a=navigator.userAgent;e="other",n=0,i=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],t.iterate(i,function(t,i){return a.match(i[1])?(e=i[0],n=parseFloat(RegExp.$1),!1):void 0}),t.vars.browser=e,t.vars.browserVersion=n,e="other",n=0,i=[["ios",/([0-9_]+) like Mac OS X/,function(t){return t.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(t){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(t){return t.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null]],t.iterate(i,function(t,i){return a.match(i[1])?(e=i[0],n=parseFloat(i[2]?i[2](RegExp.$1):RegExp.$1),!1):void 0}),t.vars.os=e,t.vars.osVersion=n,t.vars.IEVersion="ie"==t.vars.browser?t.vars.browserVersion:99,t.vars.touch="wp"==t.vars.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),t.vars.mobile="wp"==t.vars.os||"android"==t.vars.os||"ios"==t.vars.os||"bb"==t.vars.os}};return t.init(),t}();!function(t,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():t.skel=e()}(this,function(){return skel});
diff --git a/themes/Blog/SolidState/assets/sass/base/_page.scss b/themes/Blog/SolidState/assets/sass/base/_page.scss
index 31e0f191..bc72cdfe 100644
--- a/themes/Blog/SolidState/assets/sass/base/_page.scss
+++ b/themes/Blog/SolidState/assets/sass/base/_page.scss
@@ -17,15 +17,28 @@
}
// Ensures page width is always >=320px.
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
html, body {
min-width: 320px;
}
}
+ // Set box model to border-box.
+ // Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
+ html {
+ box-sizing: border-box;
+ }
+
+ *, *:before, *:after {
+ box-sizing: inherit;
+ }
+
body {
background-color: _palette(bg);
+ background-image: linear-gradient(to top, transparentize(_palette(bg), 0.2), transparentize(_palette(bg), 0.2)),
+ url('../../images/bg.jpg');
+
background-size: auto,
cover;
@@ -35,9 +48,8 @@
background-position: center,
center;
- // Prevents animation/transition "flicker" on page load.
- // Automatically added/removed by js/main.js.
- &.is-loading {
+ // Stops initial animations until page loads.
+ &.is-preload {
*, *:before, *:after {
@include vendor('animation', 'none !important');
@include vendor('transition', 'none !important');
diff --git a/themes/Blog/SolidState/assets/sass/base/_reset.scss b/themes/Blog/SolidState/assets/sass/base/_reset.scss
new file mode 100644
index 00000000..8efa65f9
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/base/_reset.scss
@@ -0,0 +1,76 @@
+///
+/// Solid State by HTML5 UP
+/// html5up.net | @ajlkn
+/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+///
+
+// Reset.
+// Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain)
+
+ html, body, div, span, applet, object,
+ iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
+ pre, a, abbr, acronym, address, big, cite,
+ code, del, dfn, em, img, ins, kbd, q, s, samp,
+ small, strike, strong, sub, sup, tt, var, b,
+ u, i, center, dl, dt, dd, ol, ul, li, fieldset,
+ form, label, legend, table, caption, tbody,
+ tfoot, thead, tr, th, td, article, aside,
+ canvas, details, embed, figure, figcaption,
+ footer, header, hgroup, menu, nav, output, ruby,
+ section, summary, time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+ }
+
+ article, aside, details, figcaption, figure,
+ footer, header, hgroup, menu, nav, section {
+ display: block;
+ }
+
+ body {
+ line-height: 1;
+ }
+
+ ol, ul {
+ list-style:none;
+ }
+
+ blockquote, q {
+ quotes: none;
+
+ &:before,
+ &:after {
+ content: '';
+ content: none;
+ }
+ }
+
+ table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+
+ body {
+ -webkit-text-size-adjust: none;
+ }
+
+ mark {
+ background-color: transparent;
+ color: inherit;
+ }
+
+ input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+ }
+
+ input, select, textarea {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ -ms-appearance: none;
+ appearance: none;
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/base/_typography.scss b/themes/Blog/SolidState/assets/sass/base/_typography.scss
index d6193f19..f89af0d8 100644
--- a/themes/Blog/SolidState/assets/sass/base/_typography.scss
+++ b/themes/Blog/SolidState/assets/sass/base/_typography.scss
@@ -13,23 +13,23 @@
font-weight: _font(weight);
line-height: 1.65;
- @include breakpoint(xlarge) {
+ @include breakpoint('<=xlarge') {
font-size: 13pt;
}
- @include breakpoint(large) {
+ @include breakpoint('<=large') {
font-size: 12pt;
}
- @include breakpoint(medium) {
+ @include breakpoint('<=medium') {
font-size: 12pt;
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
font-size: 12pt;
}
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
font-size: 12pt;
}
}
@@ -46,7 +46,7 @@
}
&.special:not(.button) {
- @include icon;
+ @include icon(false, solid);
border-bottom: 0;
display: block;
font-family: _font(family-heading);
@@ -64,7 +64,7 @@
display: inline-block;
font-size: 1.25em;
height: 2em;
- line-height: 1.65em;
+ line-height: 1.75em;
margin-right: 0.85em;
text-align: center;
text-indent: 0.15em;
@@ -110,6 +110,7 @@
a {
color: inherit;
text-decoration: none;
+ border-bottom: 0;
}
span {
@@ -142,7 +143,7 @@
font-size: 0.7em;
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
h2 {
font-size: 1em;
}
diff --git a/themes/Blog/SolidState/assets/sass/components/_actions.scss b/themes/Blog/SolidState/assets/sass/components/_actions.scss
new file mode 100644
index 00000000..101a9d7a
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/components/_actions.scss
@@ -0,0 +1,101 @@
+///
+/// Solid State by HTML5 UP
+/// html5up.net | @ajlkn
+/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+///
+
+/* Actions */
+
+ ul.actions {
+ @include vendor('display', 'flex');
+ cursor: default;
+ list-style: none;
+ margin-left: (_size(element-margin) * -0.5);
+ padding-left: 0;
+
+ li {
+ padding: 0 0 0 (_size(element-margin) * 0.5);
+ vertical-align: middle;
+ }
+
+ &.special {
+ @include vendor('justify-content', 'center');
+ width: 100%;
+ margin-left: 0;
+
+ li {
+ &:first-child {
+ padding-left: 0;
+ }
+ }
+ }
+
+ &.stacked {
+ @include vendor('flex-direction', 'column');
+ margin-left: 0;
+
+ li {
+ padding: (_size(element-margin) * 0.65) 0 0 0;
+
+ &:first-child {
+ padding-top: 0;
+ }
+ }
+ }
+
+ &.fit {
+ width: calc(100% + #{_size(element-margin) * 0.5});
+
+ li {
+ @include vendor('flex-grow', '1');
+ @include vendor('flex-shrink', '1');
+ width: 100%;
+
+ > * {
+ width: 100%;
+ }
+ }
+
+ &.stacked {
+ width: 100%;
+ }
+ }
+
+ @include breakpoint('<=xsmall') {
+ &:not(.fixed) {
+ @include vendor('flex-direction', 'column');
+ margin-left: 0;
+ width: 100% !important;
+
+ li {
+ @include vendor('flex-grow', '1');
+ @include vendor('flex-shrink', '1');
+ padding: (_size(element-margin) * 0.5) 0 0 0;
+ text-align: center;
+ width: 100%;
+
+ > * {
+ width: 100%;
+ }
+
+ &:first-child {
+ padding-top: 0;
+ }
+
+ input[type="submit"],
+ input[type="reset"],
+ input[type="button"],
+ button,
+ .button {
+ width: 100%;
+
+ &.icon {
+ &:before {
+ margin-left: -0.5rem;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/_button.scss b/themes/Blog/SolidState/assets/sass/components/_button.scss
index 6b6e5893..2ed49b36 100644
--- a/themes/Blog/SolidState/assets/sass/components/_button.scss
+++ b/themes/Blog/SolidState/assets/sass/components/_button.scss
@@ -47,7 +47,7 @@
}
}
- &.special {
+ &.primary {
background-color: _palette(accent);
box-shadow: none;
@@ -67,8 +67,6 @@
}
&.fit {
- display: block;
- margin: 0 0 (_size(element-margin) * 0.5) 0;
width: 100%;
}
@@ -76,7 +74,7 @@
font-size: 0.6em;
}
- &.big {
+ &.large {
font-size: 1em;
}
@@ -85,7 +83,7 @@
opacity: 0.25;
}
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
padding: 0;
}
}
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/_contact.scss b/themes/Blog/SolidState/assets/sass/components/_contact.scss
new file mode 100644
index 00000000..4268bc1d
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/components/_contact.scss
@@ -0,0 +1,43 @@
+///
+/// Solid State by HTML5 UP
+/// html5up.net | @ajlkn
+/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+///
+
+/* Contact */
+
+ ul.contact {
+ list-style: none;
+ padding: 0;
+
+ li {
+ @include icon;
+ margin: (_size(element-margin) * 1.25) 0 0 0;
+ padding: 0 0 0 3.25em;
+ position: relative;
+
+ &:before {
+ border-radius: 100%;
+ border: solid 2px _palette(border);
+ display: inline-block;
+ font-size: 0.8em;
+ height: 2.5em;
+ left: 0;
+ line-height: 2.35em;
+ position: absolute;
+ text-align: center;
+ top: 0;
+ width: 2.5em;
+ }
+
+ &:first-child {
+ margin-top: 0;
+ }
+ }
+
+ @include breakpoint('<=small') {
+ li {
+ margin: (_size(element-margin) * 0.75) 0 0 0;
+ }
+ }
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/_features.scss b/themes/Blog/SolidState/assets/sass/components/_features.scss
index 57c1b4a7..338fa58a 100644
--- a/themes/Blog/SolidState/assets/sass/components/_features.scss
+++ b/themes/Blog/SolidState/assets/sass/components/_features.scss
@@ -38,14 +38,14 @@
}
}
- @include breakpoint(medium) {
+ @include breakpoint('<=medium') {
article {
margin: (_size(section-spacing, medium) * 0.5) _size(section-spacing, medium) (_size(section-spacing, medium) * 0.5) 0;
width: calc(50% - #{_size(section-spacing, medium) * 0.5});
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
article {
@include padding(1.5em, 1.5em);
margin: (_size(section-spacing, small) * 0.5) _size(section-spacing, small) (_size(section-spacing, small) * 0.5) 0;
@@ -60,7 +60,7 @@
}
}
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
display: block;
article {
diff --git a/themes/Blog/SolidState/assets/sass/components/_form.scss b/themes/Blog/SolidState/assets/sass/components/_form.scss
index e9b4e34c..70fe6ea4 100644
--- a/themes/Blog/SolidState/assets/sass/components/_form.scss
+++ b/themes/Blog/SolidState/assets/sass/components/_form.scss
@@ -9,22 +9,62 @@
form {
margin: 0 0 _size(element-margin) 0;
- .field {
- margin: 0 0 _size(element-margin) 0;
+ > :last-child {
+ margin-bottom: 0;
+ }
- label {
- margin-top: _size(element-margin) * -0.75;
- }
+ > .fields {
+ $gutter: (_size(element-margin) * 0.75);
+
+ @include vendor('display', 'flex');
+ @include vendor('flex-wrap', 'wrap');
+ width: calc(100% + #{$gutter * 2});
+ margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);
+
+ > .field {
+ @include vendor('flex-grow', '0');
+ @include vendor('flex-shrink', '0');
+ padding: $gutter 0 0 $gutter;
+ width: calc(100% - #{$gutter * 1});
+
+ &.half {
+ width: calc(50% - #{$gutter * 0.5});
+ }
+
+ &.third {
+ width: calc(#{100% / 3} - #{$gutter * (1 / 3)});
+ }
- &:first-child {
- label {
- margin-top: 0;
+ &.quarter {
+ width: calc(25% - #{$gutter * 0.25});
}
}
}
- > :last-child {
- margin-bottom: 0;
+ @include breakpoint('<=xsmall') {
+ > .fields {
+ $gutter: (_size(element-margin) * 0.75);
+
+ width: calc(100% + #{$gutter * 2});
+ margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);
+
+ > .field {
+ padding: $gutter 0 0 $gutter;
+ width: calc(100% - #{$gutter * 1});
+
+ &.half {
+ width: calc(100% - #{$gutter * 1});
+ }
+
+ &.third {
+ width: calc(100% - #{$gutter * 1});
+ }
+
+ &.quarter {
+ width: calc(100% - #{$gutter * 1});
+ }
+ }
+ }
}
}
@@ -66,35 +106,29 @@
}
}
- .select-wrapper {
- @include icon;
- display: block;
- position: relative;
-
- &:before {
- color: _palette(border);
- content: '\f078';
- display: block;
- height: _size(element-height);
- line-height: _size(element-height);
- pointer-events: none;
- position: absolute;
- right: 0;
- text-align: center;
- top: 0;
- width: _size(element-height);
- }
-
- select::-ms-expand {
- display: none;
- }
- }
-
select {
+ background-image: svg-url(" ");
+ background-size: 1.25rem;
+ background-repeat: no-repeat;
+ background-position: calc(100% - 1rem) center;
+ height: _size(element-height);
+ padding-right: _size(element-height);
+ text-overflow: ellipsis;
+
option {
color: _palette(fg-bold);
background: _palette(bg);
}
+
+ &:focus {
+ &::-ms-value {
+ background-color: transparent;
+ }
+ }
+
+ &::-ms-expand {
+ display: none;
+ }
}
input[type="text"],
@@ -119,7 +153,7 @@
z-index: -1;
& + label {
- @include icon;
+ @include icon(false, solid);
color: _palette(fg);
cursor: pointer;
display: inline-block;
@@ -138,13 +172,14 @@
border: solid 2px _palette(border);
content: '';
display: inline-block;
- height: (_size(element-height) * 0.6);
+ font-size: 0.8em;
+ height: (_size(element-height) * 0.75);
left: 0;
- line-height: (_size(element-height) * 0.575);
+ line-height: (_size(element-height) * 0.75);
position: absolute;
text-align: center;
top: 0;
- width: (_size(element-height) * 0.6);
+ width: (_size(element-height) * 0.75);
}
}
@@ -198,9 +233,4 @@
:-ms-input-placeholder {
color: _palette(fg-light) !important;
opacity: 1.0;
- }
-
- .polyfill-placeholder {
- color: _palette(fg-light) !important;
- opacity: 1.0;
}
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/_icon.scss b/themes/Blog/SolidState/assets/sass/components/_icon.scss
index c8089e08..b9df1c8e 100644
--- a/themes/Blog/SolidState/assets/sass/components/_icon.scss
+++ b/themes/Blog/SolidState/assets/sass/components/_icon.scss
@@ -14,4 +14,20 @@
> .label {
display: none;
}
+
+ &:before {
+ line-height: inherit;
+ }
+
+ &.solid {
+ &:before {
+ font-weight: 900;
+ }
+ }
+
+ &.brands {
+ &:before {
+ font-family: 'Font Awesome 5 Brands';
+ }
+ }
}
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/_icons.scss b/themes/Blog/SolidState/assets/sass/components/_icons.scss
new file mode 100644
index 00000000..0b501515
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/components/_icons.scss
@@ -0,0 +1,28 @@
+///
+/// Solid State by HTML5 UP
+/// html5up.net | @ajlkn
+/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+///
+
+/* Icons */
+
+ ul.icons {
+ cursor: default;
+ list-style: none;
+ padding-left: 0;
+
+ li {
+ display: inline-block;
+ padding: 0 1em 0 0;
+
+ &:last-child {
+ padding-right: 0;
+ }
+
+ .icon {
+ &:before {
+ font-size: 1.25em;
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/_list.scss b/themes/Blog/SolidState/assets/sass/components/_list.scss
index d44a2578..0bf97be3 100644
--- a/themes/Blog/SolidState/assets/sass/components/_list.scss
+++ b/themes/Blog/SolidState/assets/sass/components/_list.scss
@@ -39,234 +39,6 @@
}
}
}
-
- &.icons {
- cursor: default;
- list-style: none;
- padding-left: 0;
-
- li {
- display: inline-block;
- padding: 0 1em 0 0;
-
- &:last-child {
- padding-right: 0;
- }
-
- .icon {
- &:before {
- font-size: 1.25em;
- }
- }
- }
- }
-
- &.actions {
- cursor: default;
- list-style: none;
- padding-left: 0;
-
- li {
- display: inline-block;
- padding: 0 (_size(element-margin) * 0.5) 0 0;
- vertical-align: middle;
-
- &:last-child {
- padding-right: 0;
- }
- }
-
- &.small {
- li {
- padding: 0 (_size(element-margin) * 0.25) 0 0;
- }
- }
-
- &.vertical {
- li {
- display: block;
- padding: (_size(element-margin) * 0.5) 0 0 0;
-
- &:first-child {
- padding-top: 0;
- }
-
- > * {
- margin-bottom: 0;
- }
- }
-
- &.small {
- li {
- padding: (_size(element-margin) * 0.25) 0 0 0;
-
- &:first-child {
- padding-top: 0;
- }
- }
- }
- }
-
- &.fit {
- display: table;
- margin-left: (_size(element-margin) * -0.5);
- padding: 0;
- table-layout: fixed;
- width: calc(100% + #{(_size(element-margin) * 0.5)});
-
- li {
- display: table-cell;
- padding: 0 0 0 (_size(element-margin) * 0.5);
-
- > * {
- margin-bottom: 0;
- }
- }
-
- &.small {
- margin-left: (_size(element-margin) * -0.25);
- width: calc(100% + #{(_size(element-margin) * 0.25)});
-
- li {
- padding: 0 0 0 (_size(element-margin) * 0.25);
- }
- }
- }
-
- @include breakpoint(xsmall) {
- margin: 0 0 _size(element-margin) 0;
-
- li {
- padding: (_size(element-margin) * 0.5) 0 0 0;
- display: block;
- text-align: center;
- width: 100%;
-
- &:first-child {
- padding-top: 0;
- }
-
- > * {
- width: 100%;
- margin: 0 !important;
- }
- }
-
- &.small {
- li {
- padding: (_size(element-margin) * 0.25) 0 0 0;
-
- &:first-child {
- padding-top: 0;
- }
- }
- }
- }
- }
-
- &.contact {
- list-style: none;
- padding: 0;
-
- li {
- @include icon;
- margin: (_size(element-margin) * 1.25) 0 0 0;
- padding: 0 0 0 3.25em;
- position: relative;
-
- &:before {
- border-radius: 100%;
- border: solid 2px _palette(border);
- display: inline-block;
- font-size: 0.8em;
- height: 2.5em;
- left: 0;
- line-height: 2.35em;
- position: absolute;
- text-align: center;
- top: 0;
- width: 2.5em;
- }
-
- &:first-child {
- margin-top: 0;
- }
- }
-
- @include breakpoint(small) {
- li {
- margin: (_size(element-margin) * 0.75) 0 0 0;
- }
- }
- }
-
- &.pagination {
- cursor: default;
- list-style: none;
- padding-left: 0;
-
- li {
- display: inline-block;
- padding-left: 0;
- vertical-align: middle;
-
- > .page {
- @include vendor('transition', (
- 'background-color #{_duration(transition)} ease-in-out',
- 'color #{_duration(transition)} ease-in-out'
- ));
- border-bottom: 0;
- border-radius: _size(border-radius);
- display: inline-block;
- height: 1.5em;
- line-height: 1.5em;
- margin: 0 0.125em;
- min-width: 1.5em;
- padding: 0 0.5em;
- text-align: center;
-
- &:hover {
- background-color: _palette(border-bg);
- }
-
- &.active {
- background-color: _palette(accent);
- }
- }
-
- &:first-child {
- padding-right: 0.75em;
- }
-
- &:last-child {
- padding-left: 0.75em;
- }
- }
-
- @include breakpoint(xsmall) {
- li {
- &:nth-child(n+2):nth-last-child(n+2) {
- display: none;
- }
-
- .button {
- width: 100%;
- }
-
- &:first-child {
- width: calc(50% - 2px);
- text-align: left;
- padding-right: 0.325em;
- }
-
- &:last-child {
- width: calc(50% - 2px);
- text-align: right;
- padding-left: 0.325em;
- }
- }
- }
- }
}
dl {
diff --git a/themes/Blog/SolidState/assets/sass/components/_pagination.scss b/themes/Blog/SolidState/assets/sass/components/_pagination.scss
new file mode 100644
index 00000000..665f96e8
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/components/_pagination.scss
@@ -0,0 +1,75 @@
+///
+/// Solid State by HTML5 UP
+/// html5up.net | @ajlkn
+/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+///
+
+/* Pagination */
+
+ ul.pagination {
+ cursor: default;
+ list-style: none;
+ padding-left: 0;
+
+ li {
+ display: inline-block;
+ padding-left: 0;
+ vertical-align: middle;
+
+ > .page {
+ @include vendor('transition', (
+ 'background-color #{_duration(transition)} ease-in-out',
+ 'color #{_duration(transition)} ease-in-out'
+ ));
+ border-bottom: 0;
+ border-radius: _size(border-radius);
+ display: inline-block;
+ height: 1.5em;
+ line-height: 1.5em;
+ margin: 0 0.125em;
+ min-width: 1.5em;
+ padding: 0 0.5em;
+ text-align: center;
+
+ &:hover {
+ background-color: _palette(border-bg);
+ }
+
+ &.active {
+ background-color: _palette(accent);
+ }
+ }
+
+ &:first-child {
+ padding-right: 0.75em;
+ }
+
+ &:last-child {
+ padding-left: 0.75em;
+ }
+ }
+
+ @include breakpoint('<=xsmall') {
+ li {
+ &:nth-child(n+2):nth-last-child(n+2) {
+ display: none;
+ }
+
+ .button {
+ width: 100%;
+ }
+
+ &:first-child {
+ width: calc(50% - 2px);
+ text-align: left;
+ padding-right: 0.325em;
+ }
+
+ &:last-child {
+ width: calc(50% - 2px);
+ text-align: right;
+ padding-left: 0.325em;
+ }
+ }
+ }
+ }
diff --git a/themes/Blog/SolidState/assets/sass/components/_row.scss b/themes/Blog/SolidState/assets/sass/components/_row.scss
new file mode 100644
index 00000000..ff63c88d
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/components/_row.scss
@@ -0,0 +1,35 @@
+///
+/// Solid State by HTML5 UP
+/// html5up.net | @ajlkn
+/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+///
+
+/* Row */
+
+ .row {
+ @include html-grid(1.75em);
+
+ @include breakpoint('<=xlarge') {
+ @include html-grid(1.75em, xlarge);
+ }
+
+ @include breakpoint('<=large') {
+ @include html-grid(1.75em, large);
+ }
+
+ @include breakpoint('<=medium') {
+ @include html-grid(1.75em, medium);
+ }
+
+ @include breakpoint('<=small') {
+ @include html-grid(1.25em, small);
+ }
+
+ @include breakpoint('<=xsmall') {
+ @include html-grid(1.25em, xsmall);
+ }
+
+ @include breakpoint('<=xxsmall') {
+ @include html-grid(1.25em, xxsmall);
+ }
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/layout/_banner.scss b/themes/Blog/SolidState/assets/sass/components/layout/_banner.scss
deleted file mode 100644
index 809cbb87..00000000
--- a/themes/Blog/SolidState/assets/sass/components/layout/_banner.scss
+++ /dev/null
@@ -1,137 +0,0 @@
-///
-/// Solid State by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Banner */
-
- #banner {
- @include padding(10em, 0, (0, 0, _size(wrapper-edges, large) * -0.5, 0));
-
- .inner {
- margin: 0 auto;
- width: _size(inner);
- }
-
- .logo {
- @include vendor('transition', (
- 'opacity 2s ease',
- 'transform 1s ease',
- ));
- @include vendor('transform', 'translateY(0)');
- opacity: 1;
- margin: 0 0 (_size(element-margin) * 0.65) 0;
-
- .icon {
- border-radius: 100%;
- border: solid 2px _palette(border);
- cursor: default;
- display: inline-block;
- font-size: 2em;
- height: 2.25em;
- line-height: 2.25em;
- text-align: center;
- width: 2.25em;
- }
- }
-
- h2 {
- @include vendor('transition', (
- 'opacity 0.5s ease',
- 'transform 0.5s ease',
- 'filter 0.25s ease',
- ));
- @include vendor('transform', 'translateX(0)');
- @include vendor('transition-delay', '0.65s');
- @include vendor('filter', 'blur(0)');
- opacity: 1;
- border-bottom: solid 2px _palette(border);
- font-size: 2.25em;
- margin-bottom: _size(element-margin) * 0.4;
- padding-bottom: _size(element-margin) * 0.2;
- }
-
- p {
- @include vendor('transition', (
- 'opacity 0.5s ease',
- 'transform 0.5s ease',
- 'filter 0.25s ease',
- ));
- @include vendor('transform', 'translateX(0)');
- @include vendor('transition-delay', '0.8s');
- @include vendor('filter', 'blur(0)');
- opacity: 1;
- font-family: _font(family-heading);
- font-size: 1em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kern-heading);
- line-height: 2;
- text-transform: uppercase;
- }
-
- @include breakpoint(large) {
- @include padding(7em, 0, (0, 0, _size(wrapper-edges, large) * 0.5, 0));
-
- background-color: _palette(bg);
-
- background-size: auto,
- cover;
-
- background-position: center,
- center;
-
- margin-bottom: (_size(wrapper-edges, large) * -1);
- }
-
- @include breakpoint(medium) {
- @include padding(12em, 3em, (0, 0, _size(wrapper-edges, medium) * 0.5, 0));
-
- margin-bottom: (_size(wrapper-edges, medium) * -1);
-
- .inner {
- width: 100%;
- }
- }
-
- @include breakpoint(small) {
- @include padding(5em, 2em, (0, 0, _size(wrapper-edges, small) * 0.5, 0));
-
- margin-bottom: (_size(wrapper-edges, small) * -1);
-
- .logo {
- margin: 0 0 (_size(element-margin) * 0.5) 0;
-
- .icon {
- font-size: 1.5em;
- }
- }
-
- h2 {
- font-size: 1.5em;
- }
-
- p {
- font-size: 0.8em;
- }
- }
-
- body.is-loading & {
- .logo {
- @include vendor('transform', 'translateY(0.5em)');
- opacity: 0;
- }
-
- h2 {
- opacity: 0;
- @include vendor('transform', 'translateX(0.25em)');
- @include vendor('filter', 'blur(2px)');
- }
-
- p {
- opacity: 0;
- @include vendor('transform', 'translateX(0.5em)');
- @include vendor('filter', 'blur(2px)');
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/layout/_footer.scss b/themes/Blog/SolidState/assets/sass/components/layout/_footer.scss
deleted file mode 100644
index 02d7bcb0..00000000
--- a/themes/Blog/SolidState/assets/sass/components/layout/_footer.scss
+++ /dev/null
@@ -1,140 +0,0 @@
-///
-/// Solid State by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Footer */
-
- #footer {
- .inner {
- @include padding(5em, 0);
- @include vendor('display', 'flex');
- @include vendor('flex-direction', 'row');
- @include vendor('flex-wrap', 'wrap');
- margin: 0 auto;
- width: _size(inner);
-
- > * {
- width: 100%;
- }
-
- form {
- margin: 0 _size(section-spacing, large) 0 0;
- width: calc(50% - #{_size(section-spacing, large) * 0.5});
- }
-
- .contact {
- width: calc(50% - #{_size(section-spacing, large) * 0.5});
- }
-
- .copyright {
- border-top: solid 2px _palette(border);
- list-style: none;
- margin: (_size(element-margin) * 2) 0 _size(element-margin) 0;
- padding: _size(element-margin) 0 0 0;
- width: 100%;
-
- li {
- border-left: solid 2px _palette(border);
- color: _palette(fg-light);
- display: inline-block;
- font-size: 0.9em;
- line-height: 1;
- margin-left: 1em;
- padding: 0;
- padding-left: 1em;
-
- &:first-child {
- border-left: 0;
- margin-left: 0;
- padding-left: 0;
- }
-
- a {
- color: inherit;
- }
- }
- }
- }
-
- @include breakpoint(large) {
-
- background-color: _palette(bg);
-
- background-size: auto,
- cover;
-
- background-position: center,
- center;
-
- margin-top: (_size(wrapper-edges, large) * -1);
- padding-top: _size(wrapper-edges, large);
-
- }
-
- @include breakpoint(medium) {
- margin-top: (_size(wrapper-edges, medium) * -1);
- padding-top: _size(wrapper-edges, medium);
-
- .inner {
- @include padding(3em, 3em);
- display: block;
- width: 100%;
-
- form {
- width: 100%;
- margin: 0 0 (_size(element-margin) * 2) 0;
- }
-
- .contact {
- width: 100%;
- margin: 0 0 (_size(element-margin) * 2) 0;
- }
-
- .copyright {
- margin: (_size(element-margin) * 2) 0 _size(element-margin) 0;
- }
- }
- }
-
- @include breakpoint(small) {
- margin-top: (_size(wrapper-edges, small) * -1);
- padding-top: _size(wrapper-edges, small);
-
- .inner {
- @include padding(2em, 2em);
-
- form {
- margin: 0 0 (_size(element-margin) * 1.5) 0;
- }
-
- .contact {
- margin: 0 0 (_size(element-margin) * 1.5) 0;
- }
- }
- }
-
- @include breakpoint(xsmall) {
- .inner {
- .copyright {
- li {
- border-left: 0;
- display: block;
- margin: 1em 0 0 0;
- padding-left: 0;
-
- &:first-child {
- margin-top: 0;
- }
- }
- }
- }
- }
-
- @include breakpoint(xxsmall) {
- .inner {
- @include padding(2em, 1.5em);
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/layout/_header.scss b/themes/Blog/SolidState/assets/sass/components/layout/_header.scss
deleted file mode 100644
index c80af9e3..00000000
--- a/themes/Blog/SolidState/assets/sass/components/layout/_header.scss
+++ /dev/null
@@ -1,140 +0,0 @@
-///
-/// Solid State by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Header */
-
- #header {
- @include vendor('transition', 'background-color #{_duration(transition)} ease-in-out');
- background-color: transparentize(desaturate(lighten(_palette(bg), 3), 1.5), 0.05);
- height: 3.5em;
- left: 0;
- line-height: 3.5em;
- padding: 0 1.25em;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: _misc(z-index-base);
-
- h1 {
- @include vendor('transition', (
- 'opacity #{_duration(transition)} ease-in-out',
- 'visibility #{_duration(transition)}'
- ));
- border-bottom: 0;
- font-size: 0.8em;
- margin-bottom: 0;
- opacity: 1;
- visibility: visible;
-
- a {
- border: 0;
- }
- }
-
- nav {
- font-family: _font(family-heading);
- font-size: 0.8em;
- font-weight: _font(weight-heading-bold);
- height: 3em;
- letter-spacing: _font(kern-heading);
- line-height: 3em;
- position: absolute;
- right: 0.7em;
- text-transform: uppercase;
- top: 0.7em;
-
- a {
- border: 0;
- display: inline-block;
- padding: 0 1em;
-
- &:before {
- float: right;
- margin-left: 0.75em;
- }
-
- &[href="#menu"] {
- @include icon;
- @include vendor('transition', 'background-color #{_duration(transition)} ease-in-out');
- border-radius: _size(border-radius);
- box-shadow: inset 0 0 0 2px _palette(border);
- padding: 0 1.35em;
-
- &:before {
- content: '\f0c9';
- }
-
- &:hover {
- background-color: _palette(border-bg);
- }
-
- &:active {
- background-color: _palette(border2-bg);
- }
- }
- }
- }
-
- &.alt {
- background-color: transparent;
-
- h1 {
- opacity: 0;
- visibility: hidden;
- }
- }
-
- @include breakpoint(small) {
- height: 2.75em;
- line-height: 2.75em;
-
- nav {
- top: 0;
- right: 0;
- height: inherit;
- line-height: inherit;
-
- a {
- height: inherit;
- line-height: inherit;
-
- &[href="#menu"] {
- box-shadow: none;
- padding: 0 1em;
- border-radius: 0;
-
- &:hover, &:active {
- background-color: inherit;
- }
- }
- }
- }
- }
-
- @include breakpoint(xsmall) {
- nav {
- a {
- &[href="#menu"] {
- width: 4em;
- white-space: nowrap;
- text-indent: 4em;
- position: relative;
-
- &:before {
- width: inherit;
- position: absolute;
- top: 0;
- left: 0;
- text-indent: 0;
- text-align: right;
- margin-left: 0;
- padding-right: 1.25em;
- }
- }
- }
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/layout/_menu.scss b/themes/Blog/SolidState/assets/sass/components/layout/_menu.scss
deleted file mode 100644
index 0483a777..00000000
--- a/themes/Blog/SolidState/assets/sass/components/layout/_menu.scss
+++ /dev/null
@@ -1,127 +0,0 @@
-///
-/// Solid State by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Menu */
-
- #page-wrapper {
- @include vendor('transition', 'filter 0.25s ease');
- }
-
- #menu {
- @include vendor('align-items', 'center');
- @include vendor('display', 'flex');
- @include vendor('justify-content', 'center');
- @include vendor('pointer-events', 'none');
- @include vendor('transition', ('opacity #{_duration(menu)} ease', 'visibility #{_duration(menu)}'));
- -moz-user-select: none;
- -webkit-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-tap-highlight-color: rgba(0,0,0,0);
- background: transparentize(_palette(bg), 0.2);
- cursor: default;
- height: 100%;
- left: 0;
- opacity: 0;
- position: fixed;
- text-align: center;
- top: 0;
- visibility: hidden;
- width: 100%;
-
- .inner {
- @include padding(2.5em, 1.5em);
- @include vendor('transform', 'translateY(0.5em)');
- @include vendor('transition', ('opacity #{_duration(menu)} ease','transform #{_duration(menu)} ease'));
- -webkit-overflow-scrolling: touch;
- background: _palette(accent);
- border-radius: _size(border-radius);
- display: block;
- max-width: 100%;
- opacity: 0;
- position: relative;
- width: 18em;
- }
-
- h2 {
- border-bottom: solid 2px _palette(border);
- padding-bottom: 1em;
- }
-
- .close {
- background-image: url('images/close.svg');
- background-position: 75% 25%;
- background-repeat: no-repeat;
- background-size: 2em 2em;
- border: 0;
- content: '';
- display: block;
- height: 4em;
- overflow: hidden;
- position: absolute;
- right: 0;
- text-align: center;
- text-indent: 4em;
- top: 0;
- width: 4em;
- }
-
- .links {
- list-style: none;
- margin-bottom: (_size(element-margin) - 0.5em);
- padding: 0;
-
- li {
- padding: 0;
-
- a {
- border-radius: _size(border-radius);
- border: 0;
- display: block;
- font-family: _font(family-heading);
- font-size: 0.8em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kern-heading);
- line-height: 1.85em;
- padding: 0.75em 0;
- text-transform: uppercase;
-
- &:hover {
- background: saturate(darken(_palette(accent), 3), 1.5);
- }
- }
- }
- }
-
- @include breakpoint(small) {
- .inner {
- max-height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
-
- .close {
- background-size: 1.5em 1.5em;
- }
- }
- }
- }
-
- body.is-menu-visible {
- #page-wrapper {
- @include vendor('filter', 'blur(1.5px)');
- }
-
- #menu {
- @include vendor('pointer-events', 'auto');
- opacity: 1;
- visibility: visible;
-
- .inner {
- @include vendor('transform', 'translateY(0)');
- opacity: 1;
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/components/layout/_wrapper.scss b/themes/Blog/SolidState/assets/sass/components/layout/_wrapper.scss
deleted file mode 100644
index 82845966..00000000
--- a/themes/Blog/SolidState/assets/sass/components/layout/_wrapper.scss
+++ /dev/null
@@ -1,300 +0,0 @@
-///
-/// Solid State by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Wrapper */
-
- /// Sets the colors of the wrapper's top/bottom edges.
- /// @param {string} $color Color.
- @mixin wrapper-edges-color($color: black) {
- &:before, &:after {
- background-image: svg-url(' ');
- }
-
- &:before {
- box-shadow: inset 0 -1px 0 0 $color, 0 1px 0 0 $color;
- }
-
- &:after {
- box-shadow: inset 0 -1px 0 0 $color, 0 1px 0 0 $color;
- }
- }
-
- #wrapper {
- > header {
- @include padding(7.5em, 0, (3.5em, 0, _size(wrapper-edges, large) * -0.5, 0));
-
- .inner {
- margin: 0 auto;
- width: _size(inner);
- }
-
- h2 {
- border-bottom: solid 2px _palette(border);
- font-size: 2em;
- margin-bottom: _size(element-margin) * 0.4;
- padding-bottom: _size(element-margin) * 0.2;
- }
-
- p {
- font-family: _font(family-heading);
- font-size: 1em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kern-heading);
- line-height: 2;
- text-transform: uppercase;
- }
- }
-
- @include breakpoint(large) {
- > header {
- @include padding(5em, 0, (4em, 0, _size(wrapper-edges, large) * 0.5, 0));
-
- background-color: _palette(bg);
-
- background-size: auto,
- cover;
-
- background-position: center,
- 0% 30%;
-
- margin-bottom: (_size(wrapper-edges, large) * -1);
- }
- }
-
- @include breakpoint(medium) {
- > header {
- @include padding(7em, 3em, (4em, 0, _size(wrapper-edges, medium) * 0.5, 0));
-
- background-size: auto,
- cover;
-
- background-position: center,
- 0% 0%;
-
- margin-bottom: (_size(wrapper-edges, medium) * -1);
-
- .inner {
- width: 100%;
- }
- }
- }
-
- @include breakpoint(small) {
- > header {
- @include padding(3.75em, 2em, (2.75em, 0, _size(wrapper-edges, small) * 0.5, 0));
-
- background-size: auto,
- 125%;
-
- margin-bottom: (_size(wrapper-edges, small) * -1);
-
- h2 {
- font-size: 1.25em;
- }
-
- p {
- font-size: 0.8em;
- }
- }
- }
- }
-
- .wrapper {
- background-color: _palette(bg);
- margin: _size(wrapper-edges, large) 0;
- position: relative;
- @include wrapper-edges-color(_palette(bg));
-
- &:before, &:after {
- background-repeat: no-repeat;
- background-size: 100% 100%;
- content: '';
- display: block;
- height: _size(wrapper-edges, large);
- position: absolute;
- width: 100%;
- }
-
- &:before {
- left: 0;
- top: (_size(wrapper-edges, large) * -1);
- }
-
- &:after {
- @include vendor('transform', 'scaleY(-1)');
- bottom: (_size(wrapper-edges, large) * -1);
- left: 0;
- }
-
- &.alt {
- &:before {
- @include vendor('transform', 'scaleX(-1)');
- }
-
- &:after {
- @include vendor('transform', 'scaleY(-1) scaleX(-1)');
- }
- }
-
- .inner {
- @include padding(3em, 0);
- margin: 0 auto;
- width: _size(inner);
- }
-
- @for $i from 2 through _misc(max-wrapper-styles) {
- $j: 3 * ($i - 1);
- $color: desaturate(lighten(_palette(bg), $j), $j * 0.5);
-
- &.style#{$i} {
- background-color: $color;
- @include wrapper-edges-color($color);
- }
- }
-
- &.spotlight {
- @include wrapper-edges-color(_palette(accent));
- background-color: _palette(accent);
-
- .inner {
- @include vendor('display', 'flex');
- @include vendor('align-items', 'center');
- @include vendor('flex-direction', 'row');
- }
-
- .image {
- border-radius: 100%;
- margin: 0 _size(section-spacing, large) _size(element-margin) 0;
- width: 22em;
- overflow: hidden;
- -ms-flex: 1;
-
- img {
- border-radius: 100%;
- width: 100%;
- }
- }
-
- .content {
- width: 100%;
- -ms-flex: 2;
- }
-
- &:nth-child(2n - 1) {
- .inner {
- @include vendor('flex-direction', 'row-reverse');
- text-align: right;
- }
-
- .image {
- margin: 0 0 _size(element-margin) _size(section-spacing, large);
- }
- }
-
- @for $i from 2 through _misc(max-wrapper-styles) {
- $j: 3 * ($i - 1);
- $color: saturate(darken(_palette(accent), $j), $j * 0.5);
-
- &.style#{$i} {
- background-color: $color;
- @include wrapper-edges-color($color);
- }
- }
- }
-
- @include breakpoint(medium) {
- margin: _size(wrapper-edges, medium) 0;
-
- &:before, &:after {
- height: _size(wrapper-edges, medium);
- }
-
- &:before {
- top: (_size(wrapper-edges, medium) * -1);
- }
-
- &:after {
- bottom: (_size(wrapper-edges, medium) * -1);
- left: 0;
- }
-
- .inner {
- @include padding(3em, 3em);
- width: 100%;
- }
-
- &.spotlight {
- .image {
- margin: 0 _size(section-spacing, medium) _size(element-margin) 0;
- width: 32em;
- }
-
- &:nth-child(2n - 1) {
- .image {
- margin: 0 0 _size(element-margin) _size(section-spacing, medium);
- }
- }
- }
- }
-
- @include breakpoint(small) {
- margin: _size(wrapper-edges, small) 0;
-
- &:before, &:after {
- height: _size(wrapper-edges, small);
- }
-
- &:before {
- top: (_size(wrapper-edges, small) * -1);
- }
-
- &:after {
- bottom: (_size(wrapper-edges, small) * -1);
- left: 0;
- }
-
- .inner {
- @include padding(2em, 2em);
- }
-
- &.spotlight {
- .inner {
- @include vendor('align-items', 'flex-start');
- }
-
- .image {
- width: 19em;
- margin: 0 _size(section-spacing, small) _size(element-margin) 0;
- }
-
- &:nth-child(2n - 1) {
- .image {
- margin: 0 0 _size(element-margin) _size(section-spacing, small);
- }
- }
- }
- }
-
- @include breakpoint(xsmall) {
- &.spotlight {
- .inner {
- display: block;
- }
-
- .image {
- margin: 0 0 (_size(element-margin) * 0.5) 0 !important;
- max-width: 85%;
- width: 12em;
- }
- }
- }
-
- @include breakpoint(xxsmall) {
- .inner {
- @include padding(2em, 1.5em);
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/ie8.scss b/themes/Blog/SolidState/assets/sass/ie8.scss
deleted file mode 100644
index 4e4f4e62..00000000
--- a/themes/Blog/SolidState/assets/sass/ie8.scss
+++ /dev/null
@@ -1,190 +0,0 @@
-@import 'libs/vars';
-@import 'libs/functions';
-@import 'libs/mixins';
-@import 'libs/skel';
-
-/*
- Solid State by HTML5 UP
- html5up.net | @ajlkn
- Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-*/
-
-/* Basic */
-
- body {
- -ms-behavior: url('assets/js/backgroundsize.min.htc');
- }
-
-/* Type */
-
- h1, h2, h3, h4, h5, h6 {
- &.major {
- border-bottom: solid 2px _palette(fg-bold);
- }
- }
-
- blockquote {
- border-left: solid 4px _palette(fg-bold);
- }
-
- code {
- border: solid 2px _palette(fg-bold);
- }
-
- hr {
- border-bottom: solid 2px _palette(fg-bold);
- }
-
-/* Button */
-
- input[type="submit"],
- input[type="reset"],
- input[type="button"],
- button,
- .button {
- position: relative;
- -ms-behavior: url('assets/js/ie/PIE.htc');
- border: solid 2px _palette(fg-bold);
-
- &.special {
- border: 0;
- }
- }
-
-/* Form */
-
- input[type="text"],
- input[type="password"],
- input[type="email"],
- input[type="tel"],
- select,
- textarea {
- position: relative;
- -ms-behavior: url('assets/js/ie/PIE.htc');
- background: transparent;
- border: solid 2px _palette(fg-bold);
- }
-
-/* Table */
-
- table {
- tbody {
- tr {
- border: solid 1px _palette(fg-bold);
- border-left: 0;
- border-right: 0;
- }
- }
-
- &.alt {
- tbody {
- tr {
- td {
- border: solid 1px _palette(fg-bold);
- border-left-width: 0;
- border-top-width: 0;
-
- &:first-child {
- border-left-width: 1px;
- }
- }
-
- &:first-child {
- td {
- border-top-width: 1px;
- }
- }
- }
- }
-
- thead {
- border-bottom: 0;
- }
-
- tfoot {
- border-top: 0;
- }
- }
- }
-
-/* Features */
-
- .features {
- article {
- -ms-behavior: url('assets/js/ie/PIE.htc');
- position: relative;
- width: 44%;
-
- .image {
- margin-top: 0;
- margin-left: 0;
- width: 100%;
- }
- }
- }
-
-/* Menu */
-
- #menu {
- background: _palette(bg);
-
- h2 {
- border-bottom: solid 2px _palette(fg-bold);
- }
- }
-
-/* Header */
-
- #header {
- background-color: desaturate(lighten(_palette(bg), 3), 1.5);
- }
-
-/* Wrapper */
-
- .wrapper {
- &:before, &:after {
- display: none;
- }
-
- margin: 0;
-
- &.spotlight {
- .image {
- -ms-behavior: url('assets/js/ie/PIE.htc');
-
- img {
- position: relative;
- -ms-behavior: url('assets/js/ie/PIE.htc');
- }
- }
- }
- }
-
-/* Banner */
-
- #banner {
- .logo {
- .icon {
- border: solid 2px _palette(fg-bold);
- -ms-behavior: url('assets/js/ie/PIE.htc');
- }
- }
-
- h2 {
- border-bottom: solid 2px _palette(fg-bold);
- }
- }
-
-/* Footer */
-
- #footer {
- .inner {
- .copyright {
- border-top: solid 2px _palette(fg-bold);
-
- li {
- border-left: solid 2px _palette(fg-bold);
- }
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/ie9.scss b/themes/Blog/SolidState/assets/sass/ie9.scss
deleted file mode 100644
index 9debd53a..00000000
--- a/themes/Blog/SolidState/assets/sass/ie9.scss
+++ /dev/null
@@ -1,105 +0,0 @@
-@import 'libs/vars';
-@import 'libs/functions';
-@import 'libs/mixins';
-@import 'libs/skel';
-
-/*
- Solid State by HTML5 UP
- html5up.net | @ajlkn
- Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-*/
-
-/* Basic */
-
- body {
- background-color: _palette(bg);
- background-size: cover;
- background-attachment: fixed;
- background-position: center;
-
- &:before {
- background: transparentize(_palette(bg), 0.2);
- content: '';
- display: block;
- height: 100%;
- left: 0;
- position: fixed;
- top: 0;
- width: 100%;
- }
-
- > * {
- position: relative;
- z-index: 1;
- }
- }
-
-/* Features */
-
- .features {
- article {
- display: inline-block;
- width: 45%;
- }
- }
-
-/* Menu */
-
- #menu {
- .inner {
- margin: 4em auto;
- }
- }
-
-/* Wrapper */
-
- #wrapper {
- > header {
- background: none !important;
- }
- }
-
- .wrapper {
- &.spotlight {
- .inner {
- text-align: left !important;
- }
-
- .image {
- display: inline-block;
- margin: 0 _size(section-spacing, large) _size(element-margin) 0 !important;
- vertical-align: middle;
- width: 24%;
- }
-
- .content {
- display: inline-block;
- vertical-align: middle;
- width: 70%;
- }
- }
- }
-
-/* Banner */
-
- #banner {
- background: none !important;
- }
-
-/* Footer */
-
- #footer {
- background: none !important;
-
- .inner {
- form {
- display: inline-block;
- width: 45%;
- }
-
- .contact {
- display: inline-block;
- width: 45%;
- }
- }
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/layout/_banner.scss b/themes/Blog/SolidState/assets/sass/layout/_banner.scss
index 809cbb87..c35f48c0 100644
--- a/themes/Blog/SolidState/assets/sass/layout/_banner.scss
+++ b/themes/Blog/SolidState/assets/sass/layout/_banner.scss
@@ -70,11 +70,14 @@
text-transform: uppercase;
}
- @include breakpoint(large) {
+ @include breakpoint('<=large') {
@include padding(7em, 0, (0, 0, _size(wrapper-edges, large) * 0.5, 0));
background-color: _palette(bg);
+ background-image: linear-gradient(to top, transparentize(_palette(bg), 0.2), transparentize(_palette(bg), 0.2)),
+ url('../../images/bg.jpg');
+
background-size: auto,
cover;
@@ -84,7 +87,7 @@
margin-bottom: (_size(wrapper-edges, large) * -1);
}
- @include breakpoint(medium) {
+ @include breakpoint('<=medium') {
@include padding(12em, 3em, (0, 0, _size(wrapper-edges, medium) * 0.5, 0));
margin-bottom: (_size(wrapper-edges, medium) * -1);
@@ -94,7 +97,7 @@
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
@include padding(5em, 2em, (0, 0, _size(wrapper-edges, small) * 0.5, 0));
margin-bottom: (_size(wrapper-edges, small) * -1);
@@ -116,7 +119,7 @@
}
}
- body.is-loading & {
+ body.is-preload & {
.logo {
@include vendor('transform', 'translateY(0.5em)');
opacity: 0;
diff --git a/themes/Blog/SolidState/assets/sass/layout/_footer.scss b/themes/Blog/SolidState/assets/sass/layout/_footer.scss
index 02d7bcb0..5b4d542d 100644
--- a/themes/Blog/SolidState/assets/sass/layout/_footer.scss
+++ b/themes/Blog/SolidState/assets/sass/layout/_footer.scss
@@ -58,10 +58,13 @@
}
}
- @include breakpoint(large) {
+ @include breakpoint('<=large') {
background-color: _palette(bg);
+ background-image: linear-gradient(to top, transparentize(_palette(bg), 0.2), transparentize(_palette(bg), 0.2)),
+ url('../../images/bg.jpg');
+
background-size: auto,
cover;
@@ -73,7 +76,7 @@
}
- @include breakpoint(medium) {
+ @include breakpoint('<=medium') {
margin-top: (_size(wrapper-edges, medium) * -1);
padding-top: _size(wrapper-edges, medium);
@@ -98,7 +101,7 @@
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
margin-top: (_size(wrapper-edges, small) * -1);
padding-top: _size(wrapper-edges, small);
@@ -115,7 +118,7 @@
}
}
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
.inner {
.copyright {
li {
@@ -132,7 +135,7 @@
}
}
- @include breakpoint(xxsmall) {
+ @include breakpoint('<=xxsmall') {
.inner {
@include padding(2em, 1.5em);
}
diff --git a/themes/Blog/SolidState/assets/sass/layout/_header.scss b/themes/Blog/SolidState/assets/sass/layout/_header.scss
index c80af9e3..35e42ad0 100644
--- a/themes/Blog/SolidState/assets/sass/layout/_header.scss
+++ b/themes/Blog/SolidState/assets/sass/layout/_header.scss
@@ -57,7 +57,7 @@
}
&[href="#menu"] {
- @include icon;
+ @include icon(false, solid);
@include vendor('transition', 'background-color #{_duration(transition)} ease-in-out');
border-radius: _size(border-radius);
box-shadow: inset 0 0 0 2px _palette(border);
@@ -65,6 +65,7 @@
&:before {
content: '\f0c9';
+ line-height: inherit;
}
&:hover {
@@ -87,7 +88,7 @@
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
height: 2.75em;
line-height: 2.75em;
@@ -114,7 +115,7 @@
}
}
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
nav {
a {
&[href="#menu"] {
diff --git a/themes/Blog/SolidState/assets/sass/layout/_menu.scss b/themes/Blog/SolidState/assets/sass/layout/_menu.scss
index 0483a777..c1cbf4fb 100644
--- a/themes/Blog/SolidState/assets/sass/layout/_menu.scss
+++ b/themes/Blog/SolidState/assets/sass/layout/_menu.scss
@@ -96,7 +96,7 @@
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
.inner {
max-height: 100%;
overflow-y: auto;
diff --git a/themes/Blog/SolidState/assets/sass/layout/_wrapper.scss b/themes/Blog/SolidState/assets/sass/layout/_wrapper.scss
index 82845966..7020093f 100644
--- a/themes/Blog/SolidState/assets/sass/layout/_wrapper.scss
+++ b/themes/Blog/SolidState/assets/sass/layout/_wrapper.scss
@@ -48,12 +48,15 @@
}
}
- @include breakpoint(large) {
+ @include breakpoint('<=large') {
> header {
@include padding(5em, 0, (4em, 0, _size(wrapper-edges, large) * 0.5, 0));
background-color: _palette(bg);
+ background-image: linear-gradient(to top, transparentize(_palette(bg), 0.2), transparentize(_palette(bg), 0.2)),
+ url('../../images/bg.jpg');
+
background-size: auto,
cover;
@@ -64,7 +67,7 @@
}
}
- @include breakpoint(medium) {
+ @include breakpoint('<=medium') {
> header {
@include padding(7em, 3em, (4em, 0, _size(wrapper-edges, medium) * 0.5, 0));
@@ -82,7 +85,7 @@
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
> header {
@include padding(3.75em, 2em, (2.75em, 0, _size(wrapper-edges, small) * 0.5, 0));
@@ -205,7 +208,7 @@
}
}
- @include breakpoint(medium) {
+ @include breakpoint('<=medium') {
margin: _size(wrapper-edges, medium) 0;
&:before, &:after {
@@ -240,7 +243,7 @@
}
}
- @include breakpoint(small) {
+ @include breakpoint('<=small') {
margin: _size(wrapper-edges, small) 0;
&:before, &:after {
@@ -278,7 +281,7 @@
}
}
- @include breakpoint(xsmall) {
+ @include breakpoint('<=xsmall') {
&.spotlight {
.inner {
display: block;
@@ -292,7 +295,7 @@
}
}
- @include breakpoint(xxsmall) {
+ @include breakpoint('<=xxsmall') {
.inner {
@include padding(2em, 1.5em);
}
diff --git a/themes/Blog/SolidState/assets/sass/libs/_breakpoints.scss b/themes/Blog/SolidState/assets/sass/libs/_breakpoints.scss
new file mode 100644
index 00000000..c5301d85
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/libs/_breakpoints.scss
@@ -0,0 +1,223 @@
+// breakpoints.scss v1.0 | @ajlkn | MIT licensed */
+
+// Vars.
+
+ /// Breakpoints.
+ /// @var {list}
+ $breakpoints: () !global;
+
+// Mixins.
+
+ /// Sets breakpoints.
+ /// @param {map} $x Breakpoints.
+ @mixin breakpoints($x: ()) {
+ $breakpoints: $x !global;
+ }
+
+ /// Wraps @content in a @media block targeting a specific orientation.
+ /// @param {string} $orientation Orientation.
+ @mixin orientation($orientation) {
+ @media screen and (orientation: #{$orientation}) {
+ @content;
+ }
+ }
+
+ /// Wraps @content in a @media block using a given query.
+ /// @param {string} $query Query.
+ @mixin breakpoint($query: null) {
+
+ $breakpoint: null;
+ $op: null;
+ $media: null;
+
+ // Determine operator, breakpoint.
+
+ // Greater than or equal.
+ @if (str-slice($query, 0, 2) == '>=') {
+
+ $op: 'gte';
+ $breakpoint: str-slice($query, 3);
+
+ }
+
+ // Less than or equal.
+ @elseif (str-slice($query, 0, 2) == '<=') {
+
+ $op: 'lte';
+ $breakpoint: str-slice($query, 3);
+
+ }
+
+ // Greater than.
+ @elseif (str-slice($query, 0, 1) == '>') {
+
+ $op: 'gt';
+ $breakpoint: str-slice($query, 2);
+
+ }
+
+ // Less than.
+ @elseif (str-slice($query, 0, 1) == '<') {
+
+ $op: 'lt';
+ $breakpoint: str-slice($query, 2);
+
+ }
+
+ // Not.
+ @elseif (str-slice($query, 0, 1) == '!') {
+
+ $op: 'not';
+ $breakpoint: str-slice($query, 2);
+
+ }
+
+ // Equal.
+ @else {
+
+ $op: 'eq';
+ $breakpoint: $query;
+
+ }
+
+ // Build media.
+ @if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
+
+ $a: map-get($breakpoints, $breakpoint);
+
+ // Range.
+ @if (type-of($a) == 'list') {
+
+ $x: nth($a, 1);
+ $y: nth($a, 2);
+
+ // Max only.
+ @if ($x == null) {
+
+ // Greater than or equal (>= 0 / anything)
+ @if ($op == 'gte') {
+ $media: 'screen';
+ }
+
+ // Less than or equal (<= y)
+ @elseif ($op == 'lte') {
+ $media: 'screen and (max-width: ' + $y + ')';
+ }
+
+ // Greater than (> y)
+ @elseif ($op == 'gt') {
+ $media: 'screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Less than (< 0 / invalid)
+ @elseif ($op == 'lt') {
+ $media: 'screen and (max-width: -1px)';
+ }
+
+ // Not (> y)
+ @elseif ($op == 'not') {
+ $media: 'screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Equal (<= y)
+ @else {
+ $media: 'screen and (max-width: ' + $y + ')';
+ }
+
+ }
+
+ // Min only.
+ @else if ($y == null) {
+
+ // Greater than or equal (>= x)
+ @if ($op == 'gte') {
+ $media: 'screen and (min-width: ' + $x + ')';
+ }
+
+ // Less than or equal (<= inf / anything)
+ @elseif ($op == 'lte') {
+ $media: 'screen';
+ }
+
+ // Greater than (> inf / invalid)
+ @elseif ($op == 'gt') {
+ $media: 'screen and (max-width: -1px)';
+ }
+
+ // Less than (< x)
+ @elseif ($op == 'lt') {
+ $media: 'screen and (max-width: ' + ($x - 1) + ')';
+ }
+
+ // Not (< x)
+ @elseif ($op == 'not') {
+ $media: 'screen and (max-width: ' + ($x - 1) + ')';
+ }
+
+ // Equal (>= x)
+ @else {
+ $media: 'screen and (min-width: ' + $x + ')';
+ }
+
+ }
+
+ // Min and max.
+ @else {
+
+ // Greater than or equal (>= x)
+ @if ($op == 'gte') {
+ $media: 'screen and (min-width: ' + $x + ')';
+ }
+
+ // Less than or equal (<= y)
+ @elseif ($op == 'lte') {
+ $media: 'screen and (max-width: ' + $y + ')';
+ }
+
+ // Greater than (> y)
+ @elseif ($op == 'gt') {
+ $media: 'screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Less than (< x)
+ @elseif ($op == 'lt') {
+ $media: 'screen and (max-width: ' + ($x - 1) + ')';
+ }
+
+ // Not (< x and > y)
+ @elseif ($op == 'not') {
+ $media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Equal (>= x and <= y)
+ @else {
+ $media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
+ }
+
+ }
+
+ }
+
+ // String.
+ @else {
+
+ // Missing a media type? Prefix with "screen".
+ @if (str-slice($a, 0, 1) == '(') {
+ $media: 'screen and ' + $a;
+ }
+
+ // Otherwise, use as-is.
+ @else {
+ $media: $a;
+ }
+
+ }
+
+ }
+
+ // Output.
+ @media #{$media} {
+ @content;
+ }
+
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/libs/_functions.scss b/themes/Blog/SolidState/assets/sass/libs/_functions.scss
index 3b834f59..b367524a 100644
--- a/themes/Blog/SolidState/assets/sass/libs/_functions.scss
+++ b/themes/Blog/SolidState/assets/sass/libs/_functions.scss
@@ -1,3 +1,59 @@
+/// Removes a specific item from a list.
+/// @author Hugo Giraudel
+/// @param {list} $list List.
+/// @param {integer} $index Index.
+/// @return {list} Updated list.
+@function remove-nth($list, $index) {
+
+ $result: null;
+
+ @if type-of($index) != number {
+ @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
+ }
+ @else if $index == 0 {
+ @warn "List index 0 must be a non-zero integer for `remove-nth`.";
+ }
+ @else if abs($index) > length($list) {
+ @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
+ }
+ @else {
+
+ $result: ();
+ $index: if($index < 0, length($list) + $index + 1, $index);
+
+ @for $i from 1 through length($list) {
+
+ @if $i != $index {
+ $result: append($result, nth($list, $i));
+ }
+
+ }
+
+ }
+
+ @return $result;
+
+}
+
+/// Gets a value from a map.
+/// @author Hugo Giraudel
+/// @param {map} $map Map.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function val($map, $keys...) {
+
+ @if nth($keys, 1) == null {
+ $keys: remove-nth($keys, 1);
+ }
+
+ @each $key in $keys {
+ $map: map-get($map, $key);
+ }
+
+ @return $map;
+
+}
+
/// Gets a duration value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
diff --git a/themes/Blog/SolidState/assets/sass/libs/_html-grid.scss b/themes/Blog/SolidState/assets/sass/libs/_html-grid.scss
new file mode 100644
index 00000000..3c080694
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/libs/_html-grid.scss
@@ -0,0 +1,149 @@
+// html-grid.scss v1.0 | @ajlkn | MIT licensed */
+
+// Mixins.
+
+ /// Initializes the current element as an HTML grid.
+ /// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
+ /// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
+ @mixin html-grid($gutters: 1.5em, $suffix: '') {
+
+ // Initialize.
+ $cols: 12;
+ $multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
+ $unit: 100% / $cols;
+
+ // Suffixes.
+ $suffixes: null;
+
+ @if (type-of($suffix) == 'list') {
+ $suffixes: $suffix;
+ }
+ @else {
+ $suffixes: ($suffix);
+ }
+
+ // Gutters.
+ $guttersCols: null;
+ $guttersRows: null;
+
+ @if (type-of($gutters) == 'list') {
+
+ $guttersCols: nth($gutters, 1);
+ $guttersRows: nth($gutters, 2);
+
+ }
+ @else {
+
+ $guttersCols: $gutters;
+ $guttersRows: 0;
+
+ }
+
+ // Row.
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ align-items: stretch;
+
+ // Columns.
+ > * {
+ box-sizing: border-box;
+ }
+
+ // Gutters.
+ &.gtr-uniform {
+ > * {
+ > :last-child {
+ margin-bottom: 0;
+ }
+ }
+ }
+
+ // Alignment.
+ &.aln-left {
+ justify-content: flex-start;
+ }
+
+ &.aln-center {
+ justify-content: center;
+ }
+
+ &.aln-right {
+ justify-content: flex-end;
+ }
+
+ &.aln-top {
+ align-items: flex-start;
+ }
+
+ &.aln-middle {
+ align-items: center;
+ }
+
+ &.aln-bottom {
+ align-items: flex-end;
+ }
+
+ // Step through suffixes.
+ @each $suffix in $suffixes {
+
+ // Suffix.
+ @if ($suffix != '') {
+ $suffix: '-' + $suffix;
+ }
+ @else {
+ $suffix: '';
+ }
+
+ // Row.
+
+ // Important.
+ > .imp#{$suffix} {
+ order: -1;
+ }
+
+ // Columns, offsets.
+ @for $i from 1 through $cols {
+ > .col-#{$i}#{$suffix} {
+ width: $unit * $i;
+ }
+
+ > .off-#{$i}#{$suffix} {
+ margin-left: $unit * $i;
+ }
+ }
+
+ // Step through multipliers.
+ @each $multiplier in $multipliers {
+
+ // Gutters.
+ $class: null;
+
+ @if ($multiplier != 1) {
+ $class: '.gtr-' + ($multiplier * 100);
+ }
+
+ {$class} {
+ margin-top: ($guttersRows * $multiplier * -1);
+ margin-left: ($guttersCols * $multiplier * -1);
+
+ > * {
+ padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
+ }
+
+ // Uniform.
+ &.gtr-uniform {
+ margin-top: $guttersCols * $multiplier * -1;
+
+ > * {
+ padding-top: $guttersCols * $multiplier;
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/libs/_mixins.scss b/themes/Blog/SolidState/assets/sass/libs/_mixins.scss
index ab6191f8..81874635 100644
--- a/themes/Blog/SolidState/assets/sass/libs/_mixins.scss
+++ b/themes/Blog/SolidState/assets/sass/libs/_mixins.scss
@@ -1,7 +1,8 @@
/// Makes an element's :before pseudoelement a FontAwesome icon.
/// @param {string} $content Optional content value to use.
+/// @param {string} $category Optional category to use.
/// @param {string} $where Optional pseudoelement to target (before or after).
-@mixin icon($content: false, $where: before) {
+@mixin icon($content: false, $category: regular, $where: before) {
text-decoration: none;
@@ -13,11 +14,25 @@
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
- font-family: FontAwesome;
+ display: inline-block;
font-style: normal;
- font-weight: normal;
+ font-variant: normal;
+ text-rendering: auto;
+ line-height: 1;
text-transform: none !important;
+ @if ($category == brands) {
+ font-family: 'Font Awesome 5 Brands';
+ }
+ @elseif ($category == solid) {
+ font-family: 'Font Awesome 5 Free';
+ font-weight: 900;
+ }
+ @else {
+ font-family: 'Font Awesome 5 Free';
+ font-weight: 400;
+ }
+
}
}
@@ -60,339 +75,4 @@
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
-}
-
-/// Initializes base flexgrid classes.
-/// @param {string} $vertical-align Vertical alignment of cells.
-/// @param {string} $horizontal-align Horizontal alignment of cells.
-@mixin flexgrid-base($vertical-align: null, $horizontal-align: null) {
-
- // Grid.
- @include vendor('display', 'flex');
- @include vendor('flex-wrap', 'wrap');
-
- // Vertical alignment.
- @if ($vertical-align == top) {
- @include vendor('align-items', 'flex-start');
- }
- @else if ($vertical-align == bottom) {
- @include vendor('align-items', 'flex-end');
- }
- @else if ($vertical-align == center) {
- @include vendor('align-items', 'center');
- }
- @else {
- @include vendor('align-items', 'stretch');
- }
-
- // Horizontal alignment.
- @if ($horizontal-align != null) {
- text-align: $horizontal-align;
- }
-
- // Cells.
- > * {
- @include vendor('flex-shrink', '1');
- @include vendor('flex-grow', '0');
- }
-
-}
-
-/// Sets up flexgrid columns.
-/// @param {integer} $columns Columns.
-@mixin flexgrid-columns($columns) {
-
- > * {
- $cell-width: 100% / $columns;
- width: #{$cell-width};
- }
-
-}
-
-/// Sets up flexgrid gutters.
-/// @param {integer} $columns Columns.
-/// @param {number} $gutters Gutters.
-@mixin flexgrid-gutters($columns, $gutters) {
-
- // Apply padding.
- > * {
- $cell-width: 100% / $columns;
-
- padding: ($gutters * 0.5);
- width: $cell-width;
- }
-
-}
-
-/// Sets up flexgrid gutters (flush).
-/// @param {integer} $columns Columns.
-/// @param {number} $gutters Gutters.
-@mixin flexgrid-gutters-flush($columns, $gutters) {
-
- // Apply padding.
- > * {
- $cell-width: 100% / $columns;
- $cell-width-pad: $gutters / $columns;
-
- padding: ($gutters * 0.5);
- width: calc(#{$cell-width} + #{$cell-width-pad});
- }
-
- // Clear top/bottom gutters.
- > :nth-child(-n + #{$columns}) {
- padding-top: 0;
- }
-
- > :nth-last-child(-n + #{$columns}) {
- padding-bottom: 0;
- }
-
- // Clear left/right gutters.
- > :nth-child(#{$columns}n + 1) {
- padding-left: 0;
- }
-
- > :nth-child(#{$columns}n) {
- padding-right: 0;
- }
-
- // Adjust widths of leftmost and rightmost cells.
- > :nth-child(#{$columns}n + 1),
- > :nth-child(#{$columns}n) {
- $cell-width: 100% / $columns;
- $cell-width-pad: ($gutters / $columns) - ($gutters / 2);
-
- width: calc(#{$cell-width} + #{$cell-width-pad});
- }
-
-}
-
-/// Reset flexgrid gutters (flush only).
-/// Used to override a previous set of flexgrid gutter classes.
-/// @param {integer} $columns Columns.
-/// @param {number} $gutters Gutters.
-/// @param {integer} $prev-columns Previous columns.
-@mixin flexgrid-gutters-flush-reset($columns, $gutters, $prev-columns) {
-
- // Apply padding.
- > * {
- $cell-width: 100% / $prev-columns;
- $cell-width-pad: $gutters / $prev-columns;
-
- padding: ($gutters * 0.5);
- width: calc(#{$cell-width} + #{$cell-width-pad});
- }
-
- // Clear top/bottom gutters.
- > :nth-child(-n + #{$prev-columns}) {
- padding-top: ($gutters * 0.5);
- }
-
- > :nth-last-child(-n + #{$prev-columns}) {
- padding-bottom: ($gutters * 0.5);
- }
-
- // Clear left/right gutters.
- > :nth-child(#{$prev-columns}n + 1) {
- padding-left: ($gutters * 0.5);
- }
-
- > :nth-child(#{$prev-columns}n) {
- padding-right: ($gutters * 0.5);
- }
-
- // Adjust widths of leftmost and rightmost cells.
- > :nth-child(#{$prev-columns}n + 1),
- > :nth-child(#{$prev-columns}n) {
- $cell-width: 100% / $columns;
- $cell-width-pad: $gutters / $columns;
-
- padding: ($gutters * 0.5);
- width: calc(#{$cell-width} + #{$cell-width-pad});
- }
-
-}
-
-/// Adds debug styles to current flexgrid element.
-@mixin flexgrid-debug() {
-
- box-shadow: 0 0 0 1px red;
-
- > * {
- box-shadow: inset 0 0 0 1px blue;
- position: relative;
-
- > * {
- position: relative;
- box-shadow: inset 0 0 0 1px green;
- }
- }
-
-}
-
-/// Initializes the current element as a flexgrid.
-/// @param {integer} $columns Columns (optional).
-/// @param {number} $gutters Gutters (optional).
-/// @param {bool} $flush If true, clears padding around the very edge of the grid.
-@mixin flexgrid($settings: ()) {
-
- // Settings.
-
- // Debug.
- $debug: false;
-
- @if (map-has-key($settings, 'debug')) {
- $debug: map-get($settings, 'debug');
- }
-
- // Vertical align.
- $vertical-align: null;
-
- @if (map-has-key($settings, 'vertical-align')) {
- $vertical-align: map-get($settings, 'vertical-align');
- }
-
- // Horizontal align.
- $horizontal-align: null;
-
- @if (map-has-key($settings, 'horizontal-align')) {
- $horizontal-align: map-get($settings, 'horizontal-align');
- }
-
- // Columns.
- $columns: null;
-
- @if (map-has-key($settings, 'columns')) {
- $columns: map-get($settings, 'columns');
- }
-
- // Gutters.
- $gutters: 0;
-
- @if (map-has-key($settings, 'gutters')) {
- $gutters: map-get($settings, 'gutters');
- }
-
- // Flush.
- $flush: true;
-
- @if (map-has-key($settings, 'flush')) {
- $flush: map-get($settings, 'flush');
- }
-
- // Initialize base grid.
- @include flexgrid-base($vertical-align, $horizontal-align);
-
- // Debug?
- @if ($debug) {
- @include flexgrid-debug;
- }
-
- // Columns specified?
- @if ($columns != null) {
-
- // Initialize columns.
- @include flexgrid-columns($columns);
-
- // Gutters specified?
- @if ($gutters > 0) {
-
- // Flush gutters?
- @if ($flush) {
-
- // Initialize gutters (flush).
- @include flexgrid-gutters-flush($columns, $gutters);
-
- }
-
- // Otherwise ...
- @else {
-
- // Initialize gutters.
- @include flexgrid-gutters($columns, $gutters);
-
- }
-
- }
-
- }
-
-}
-
-/// Resizes a previously-initialized grid.
-/// @param {integer} $columns Columns.
-/// @param {number} $gutters Gutters (optional).
-/// @param {list} $reset A list of previously-initialized grid columns (only if $flush is true).
-/// @param {bool} $flush If true, clears padding around the very edge of the grid.
-@mixin flexgrid-resize($settings: ()) {
-
- // Settings.
-
- // Columns.
- $columns: 1;
-
- @if (map-has-key($settings, 'columns')) {
- $columns: map-get($settings, 'columns');
- }
-
- // Gutters.
- $gutters: 0;
-
- @if (map-has-key($settings, 'gutters')) {
- $gutters: map-get($settings, 'gutters');
- }
-
- // Previous columns.
- $prev-columns: false;
-
- @if (map-has-key($settings, 'prev-columns')) {
- $prev-columns: map-get($settings, 'prev-columns');
- }
-
- // Flush.
- $flush: true;
-
- @if (map-has-key($settings, 'flush')) {
- $flush: map-get($settings, 'flush');
- }
-
- // Resize columns.
- @include flexgrid-columns($columns);
-
- // Gutters specified?
- @if ($gutters > 0) {
-
- // Flush gutters?
- @if ($flush) {
-
- // Previous columns specified?
- @if ($prev-columns) {
-
- // Convert to list if it isn't one already.
- @if (type-of($prev-columns) != list) {
- $prev-columns: ($prev-columns);
- }
-
- // Step through list of previous columns and reset them.
- @each $x in $prev-columns {
- @include flexgrid-gutters-flush-reset($columns, $gutters, $x);
- }
-
- }
-
- // Resize gutters (flush).
- @include flexgrid-gutters-flush($columns, $gutters);
-
- }
-
- // Otherwise ...
- @else {
-
- // Resize gutters.
- @include flexgrid-gutters($columns, $gutters);
-
- }
-
- }
-
}
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/libs/_skel.scss b/themes/Blog/SolidState/assets/sass/libs/_skel.scss
deleted file mode 100644
index 33fdccbe..00000000
--- a/themes/Blog/SolidState/assets/sass/libs/_skel.scss
+++ /dev/null
@@ -1,587 +0,0 @@
-// skel.scss v3.0.2-dev | (c) skel.io | MIT licensed */
-
-// Vars.
-
- /// Breakpoints.
- /// @var {list}
- $breakpoints: () !global;
-
- /// Vendor prefixes.
- /// @var {list}
- $vendor-prefixes: (
- '-moz-',
- '-webkit-',
- '-ms-',
- ''
- );
-
- /// Properties that should be vendorized.
- /// @var {list}
- $vendor-properties: (
- 'align-content',
- 'align-items',
- 'align-self',
- 'animation',
- 'animation-delay',
- 'animation-direction',
- 'animation-duration',
- 'animation-fill-mode',
- 'animation-iteration-count',
- 'animation-name',
- 'animation-play-state',
- 'animation-timing-function',
- 'appearance',
- 'backface-visibility',
- 'box-sizing',
- 'filter',
- 'flex',
- 'flex-basis',
- 'flex-direction',
- 'flex-flow',
- 'flex-grow',
- 'flex-shrink',
- 'flex-wrap',
- 'justify-content',
- 'object-fit',
- 'object-position',
- 'order',
- 'perspective',
- 'pointer-events',
- 'transform',
- 'transform-origin',
- 'transform-style',
- 'transition',
- 'transition-delay',
- 'transition-duration',
- 'transition-property',
- 'transition-timing-function',
- 'user-select'
- );
-
- /// Values that should be vendorized.
- /// @var {list}
- $vendor-values: (
- 'filter',
- 'flex',
- 'linear-gradient',
- 'radial-gradient',
- 'transform'
- );
-
-// Functions.
-
- /// Removes a specific item from a list.
- /// @author Hugo Giraudel
- /// @param {list} $list List.
- /// @param {integer} $index Index.
- /// @return {list} Updated list.
- @function remove-nth($list, $index) {
-
- $result: null;
-
- @if type-of($index) != number {
- @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
- }
- @else if $index == 0 {
- @warn "List index 0 must be a non-zero integer for `remove-nth`.";
- }
- @else if abs($index) > length($list) {
- @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
- }
- @else {
-
- $result: ();
- $index: if($index < 0, length($list) + $index + 1, $index);
-
- @for $i from 1 through length($list) {
-
- @if $i != $index {
- $result: append($result, nth($list, $i));
- }
-
- }
-
- }
-
- @return $result;
-
- }
-
- /// Replaces a substring within another string.
- /// @author Hugo Giraudel
- /// @param {string} $string String.
- /// @param {string} $search Substring.
- /// @param {string} $replace Replacement.
- /// @return {string} Updated string.
- @function str-replace($string, $search, $replace: '') {
-
- $index: str-index($string, $search);
-
- @if $index {
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
- }
-
- @return $string;
-
- }
-
- /// Replaces a substring within each string in a list.
- /// @param {list} $strings List of strings.
- /// @param {string} $search Substring.
- /// @param {string} $replace Replacement.
- /// @return {list} Updated list of strings.
- @function str-replace-all($strings, $search, $replace: '') {
-
- @each $string in $strings {
- $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
- }
-
- @return $strings;
-
- }
-
- /// Gets a value from a map.
- /// @author Hugo Giraudel
- /// @param {map} $map Map.
- /// @param {string} $keys Key(s).
- /// @return {string} Value.
- @function val($map, $keys...) {
-
- @if nth($keys, 1) == null {
- $keys: remove-nth($keys, 1);
- }
-
- @each $key in $keys {
- $map: map-get($map, $key);
- }
-
- @return $map;
-
- }
-
-// Mixins.
-
- /// Sets the global box model.
- /// @param {string} $model Model (default is content).
- @mixin boxModel($model: 'content') {
-
- $x: $model + '-box';
-
- *, *:before, *:after {
- -moz-box-sizing: #{$x};
- -webkit-box-sizing: #{$x};
- box-sizing: #{$x};
- }
-
- }
-
- /// Wraps @content in a @media block using a given breakpoint.
- /// @param {string} $breakpoint Breakpoint.
- /// @param {map} $queries Additional queries.
- @mixin breakpoint($breakpoint: null, $queries: null) {
-
- $query: 'screen';
-
- // Breakpoint.
- @if $breakpoint and map-has-key($breakpoints, $breakpoint) {
- $query: $query + ' and ' + map-get($breakpoints, $breakpoint);
- }
-
- // Queries.
- @if $queries {
- @each $k, $v in $queries {
- $query: $query + ' and (' + $k + ':' + $v + ')';
- }
- }
-
- @media #{$query} {
- @content;
- }
-
- }
-
- /// Wraps @content in a @media block targeting a specific orientation.
- /// @param {string} $orientation Orientation.
- @mixin orientation($orientation) {
- @media screen and (orientation: #{$orientation}) {
- @content;
- }
- }
-
- /// Utility mixin for containers.
- /// @param {mixed} $width Width.
- @mixin containers($width) {
-
- // Locked?
- $lock: false;
-
- @if length($width) == 2 {
- $width: nth($width, 1);
- $lock: true;
- }
-
- // Modifiers.
- .container.\31 25\25 { width: 100%; max-width: $width * 1.25; min-width: $width; }
- .container.\37 5\25 { width: $width * 0.75; }
- .container.\35 0\25 { width: $width * 0.5; }
- .container.\32 5\25 { width: $width * 0.25; }
-
- // Main class.
- .container {
- @if $lock {
- width: $width !important;
- }
- @else {
- width: $width;
- }
- }
-
- }
-
- /// Utility mixin for grid.
- /// @param {list} $gutters Column and row gutters (default is 40px).
- /// @param {string} $breakpointName Optional breakpoint name.
- @mixin grid($gutters: 40px, $breakpointName: null) {
-
- // Gutters.
- @include grid-gutters($gutters);
- @include grid-gutters($gutters, \32 00\25, 2);
- @include grid-gutters($gutters, \31 50\25, 1.5);
- @include grid-gutters($gutters, \35 0\25, 0.5);
- @include grid-gutters($gutters, \32 5\25, 0.25);
-
- // Cells.
- $x: '';
-
- @if $breakpointName {
- $x: '\\28' + $breakpointName + '\\29';
- }
-
- .\31 2u#{$x}, .\31 2u\24#{$x} { width: 100%; clear: none; margin-left: 0; }
- .\31 1u#{$x}, .\31 1u\24#{$x} { width: 91.6666666667%; clear: none; margin-left: 0; }
- .\31 0u#{$x}, .\31 0u\24#{$x} { width: 83.3333333333%; clear: none; margin-left: 0; }
- .\39 u#{$x}, .\39 u\24#{$x} { width: 75%; clear: none; margin-left: 0; }
- .\38 u#{$x}, .\38 u\24#{$x} { width: 66.6666666667%; clear: none; margin-left: 0; }
- .\37 u#{$x}, .\37 u\24#{$x} { width: 58.3333333333%; clear: none; margin-left: 0; }
- .\36 u#{$x}, .\36 u\24#{$x} { width: 50%; clear: none; margin-left: 0; }
- .\35 u#{$x}, .\35 u\24#{$x} { width: 41.6666666667%; clear: none; margin-left: 0; }
- .\34 u#{$x}, .\34 u\24#{$x} { width: 33.3333333333%; clear: none; margin-left: 0; }
- .\33 u#{$x}, .\33 u\24#{$x} { width: 25%; clear: none; margin-left: 0; }
- .\32 u#{$x}, .\32 u\24#{$x} { width: 16.6666666667%; clear: none; margin-left: 0; }
- .\31 u#{$x}, .\31 u\24#{$x} { width: 8.3333333333%; clear: none; margin-left: 0; }
-
- .\31 2u\24#{$x} + *,
- .\31 1u\24#{$x} + *,
- .\31 0u\24#{$x} + *,
- .\39 u\24#{$x} + *,
- .\38 u\24#{$x} + *,
- .\37 u\24#{$x} + *,
- .\36 u\24#{$x} + *,
- .\35 u\24#{$x} + *,
- .\34 u\24#{$x} + *,
- .\33 u\24#{$x} + *,
- .\32 u\24#{$x} + *,
- .\31 u\24#{$x} + * {
- clear: left;
- }
-
- .\-11u#{$x} { margin-left: 91.6666666667% }
- .\-10u#{$x} { margin-left: 83.3333333333% }
- .\-9u#{$x} { margin-left: 75% }
- .\-8u#{$x} { margin-left: 66.6666666667% }
- .\-7u#{$x} { margin-left: 58.3333333333% }
- .\-6u#{$x} { margin-left: 50% }
- .\-5u#{$x} { margin-left: 41.6666666667% }
- .\-4u#{$x} { margin-left: 33.3333333333% }
- .\-3u#{$x} { margin-left: 25% }
- .\-2u#{$x} { margin-left: 16.6666666667% }
- .\-1u#{$x} { margin-left: 8.3333333333% }
-
- }
-
- /// Utility mixin for grid.
- /// @param {list} $gutters Gutters.
- /// @param {string} $class Optional class name.
- /// @param {integer} $multiplier Multiplier (default is 1).
- @mixin grid-gutters($gutters, $class: null, $multiplier: 1) {
-
- // Expand gutters if it's not a list.
- @if length($gutters) == 1 {
- $gutters: ($gutters, 0);
- }
-
- // Get column and row gutter values.
- $c: nth($gutters, 1);
- $r: nth($gutters, 2);
-
- // Get class (if provided).
- $x: '';
-
- @if $class {
- $x: '.' + $class;
- }
-
- // Default.
- .row#{$x} > * { padding: ($r * $multiplier) 0 0 ($c * $multiplier); }
- .row#{$x} { margin: ($r * $multiplier * -1) 0 -1px ($c * $multiplier * -1); }
-
- // Uniform.
- .row.uniform#{$x} > * { padding: ($c * $multiplier) 0 0 ($c * $multiplier); }
- .row.uniform#{$x} { margin: ($c * $multiplier * -1) 0 -1px ($c * $multiplier * -1); }
-
- }
-
- /// Wraps @content in vendorized keyframe blocks.
- /// @param {string} $name Name.
- @mixin keyframes($name) {
-
- @-moz-keyframes #{$name} { @content; }
- @-webkit-keyframes #{$name} { @content; }
- @-ms-keyframes #{$name} { @content; }
- @keyframes #{$name} { @content; }
-
- }
-
- ///
- /// Sets breakpoints.
- /// @param {map} $x Breakpoints.
- ///
- @mixin skel-breakpoints($x: ()) {
- $breakpoints: $x !global;
- }
-
- ///
- /// Initializes layout module.
- /// @param {map} config Config.
- ///
- @mixin skel-layout($config: ()) {
-
- // Config.
- $configPerBreakpoint: ();
-
- $z: map-get($config, 'breakpoints');
-
- @if $z {
- $configPerBreakpoint: $z;
- }
-
- // Reset.
- $x: map-get($config, 'reset');
-
- @if $x {
-
- /* Reset */
-
- @include reset($x);
-
- }
-
- // Box model.
- $x: map-get($config, 'boxModel');
-
- @if $x {
-
- /* Box Model */
-
- @include boxModel($x);
-
- }
-
- // Containers.
- $containers: map-get($config, 'containers');
-
- @if $containers {
-
- /* Containers */
-
- .container {
- margin-left: auto;
- margin-right: auto;
- }
-
- // Use default is $containers is just "true".
- @if $containers == true {
- $containers: 960px;
- }
-
- // Apply base.
- @include containers($containers);
-
- // Apply per-breakpoint.
- @each $name in map-keys($breakpoints) {
-
- // Get/use breakpoint setting if it exists.
- $x: map-get($configPerBreakpoint, $name);
-
- // Per-breakpoint config exists?
- @if $x {
- $y: map-get($x, 'containers');
-
- // Setting exists? Use it.
- @if $y {
- $containers: $y;
- }
-
- }
-
- // Create @media block.
- @media screen and #{map-get($breakpoints, $name)} {
- @include containers($containers);
- }
-
- }
-
- }
-
- // Grid.
- $grid: map-get($config, 'grid');
-
- @if $grid {
-
- /* Grid */
-
- // Use defaults if $grid is just "true".
- @if $grid == true {
- $grid: ();
- }
-
- // Sub-setting: Gutters.
- $grid-gutters: 40px;
- $x: map-get($grid, 'gutters');
-
- @if $x {
- $grid-gutters: $x;
- }
-
- // Rows.
- .row {
- border-bottom: solid 1px transparent;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- }
-
- .row > * {
- float: left;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- }
-
- .row:after, .row:before {
- content: '';
- display: block;
- clear: both;
- height: 0;
- }
-
- .row.uniform > * > :first-child {
- margin-top: 0;
- }
-
- .row.uniform > * > :last-child {
- margin-bottom: 0;
- }
-
- // Gutters (0%).
- @include grid-gutters($grid-gutters, \30 \25, 0);
-
- // Apply base.
- @include grid($grid-gutters);
-
- // Apply per-breakpoint.
- @each $name in map-keys($breakpoints) {
-
- // Get/use breakpoint setting if it exists.
- $x: map-get($configPerBreakpoint, $name);
-
- // Per-breakpoint config exists?
- @if $x {
- $y: map-get($x, 'grid');
-
- // Setting exists?
- @if $y {
-
- // Sub-setting: Gutters.
- $x: map-get($y, 'gutters');
-
- @if $x {
- $grid-gutters: $x;
- }
-
- }
-
- }
-
- // Create @media block.
- @media screen and #{map-get($breakpoints, $name)} {
- @include grid($grid-gutters, $name);
- }
-
- }
-
- }
-
- }
-
- /// Resets browser styles.
- /// @param {string} $mode Mode (default is 'normalize').
- @mixin reset($mode: 'normalize') {
-
- @if $mode == 'normalize' {
-
- // normalize.css v3.0.2 | MIT License | git.io/normalize
- 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:700}dfn{font-style:italic}h1{font-size:2em;margin:.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:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;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;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
-
- }
- @else if $mode == 'full' {
-
- // meyerweb.com/eric/tools/css/reset v2.0 | 20110126 | License: none (public domain)
- html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none}
-
- }
-
- }
-
- /// Vendorizes a declaration's property and/or value(s).
- /// @param {string} $property Property.
- /// @param {mixed} $value String/list of value(s).
- @mixin vendor($property, $value) {
-
- // Determine if property should expand.
- $expandProperty: index($vendor-properties, $property);
-
- // Determine if value should expand (and if so, add '-prefix-' placeholder).
- $expandValue: false;
-
- @each $x in $value {
- @each $y in $vendor-values {
- @if $y == str-slice($x, 1, str-length($y)) {
-
- $value: set-nth($value, index($value, $x), '-prefix-' + $x);
- $expandValue: true;
-
- }
- }
- }
-
- // Expand property?
- @if $expandProperty {
- @each $vendor in $vendor-prefixes {
- #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
- }
- }
-
- // Expand just the value?
- @elseif $expandValue {
- @each $vendor in $vendor-prefixes {
- #{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
- }
- }
-
- // Neither? Treat them as a normal declaration.
- @else {
- #{$property}: #{$value};
- }
-
- }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/libs/_vendor.scss b/themes/Blog/SolidState/assets/sass/libs/_vendor.scss
new file mode 100644
index 00000000..6599a3fe
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/libs/_vendor.scss
@@ -0,0 +1,376 @@
+// vendor.scss v1.0 | @ajlkn | MIT licensed */
+
+// Vars.
+
+ /// Vendor prefixes.
+ /// @var {list}
+ $vendor-prefixes: (
+ '-moz-',
+ '-webkit-',
+ '-ms-',
+ ''
+ );
+
+ /// Properties that should be vendorized.
+ /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
+ /// @var {list}
+ $vendor-properties: (
+
+ // Animation.
+ 'animation',
+ 'animation-delay',
+ 'animation-direction',
+ 'animation-duration',
+ 'animation-fill-mode',
+ 'animation-iteration-count',
+ 'animation-name',
+ 'animation-play-state',
+ 'animation-timing-function',
+
+ // Appearance.
+ 'appearance',
+
+ // Backdrop filter.
+ 'backdrop-filter',
+
+ // Background image options.
+ 'background-clip',
+ 'background-origin',
+ 'background-size',
+
+ // Box sizing.
+ 'box-sizing',
+
+ // Clip path.
+ 'clip-path',
+
+ // Filter effects.
+ 'filter',
+
+ // Flexbox.
+ 'align-content',
+ 'align-items',
+ 'align-self',
+ 'flex',
+ 'flex-basis',
+ 'flex-direction',
+ 'flex-flow',
+ 'flex-grow',
+ 'flex-shrink',
+ 'flex-wrap',
+ 'justify-content',
+ 'order',
+
+ // Font feature.
+ 'font-feature-settings',
+ 'font-language-override',
+ 'font-variant-ligatures',
+
+ // Font kerning.
+ 'font-kerning',
+
+ // Fragmented borders and backgrounds.
+ 'box-decoration-break',
+
+ // Grid layout.
+ 'grid-column',
+ 'grid-column-align',
+ 'grid-column-end',
+ 'grid-column-start',
+ 'grid-row',
+ 'grid-row-align',
+ 'grid-row-end',
+ 'grid-row-start',
+ 'grid-template-columns',
+ 'grid-template-rows',
+
+ // Hyphens.
+ 'hyphens',
+ 'word-break',
+
+ // Masks.
+ 'mask',
+ 'mask-border',
+ 'mask-border-outset',
+ 'mask-border-repeat',
+ 'mask-border-slice',
+ 'mask-border-source',
+ 'mask-border-width',
+ 'mask-clip',
+ 'mask-composite',
+ 'mask-image',
+ 'mask-origin',
+ 'mask-position',
+ 'mask-repeat',
+ 'mask-size',
+
+ // Multicolumn.
+ 'break-after',
+ 'break-before',
+ 'break-inside',
+ 'column-count',
+ 'column-fill',
+ 'column-gap',
+ 'column-rule',
+ 'column-rule-color',
+ 'column-rule-style',
+ 'column-rule-width',
+ 'column-span',
+ 'column-width',
+ 'columns',
+
+ // Object fit.
+ 'object-fit',
+ 'object-position',
+
+ // Regions.
+ 'flow-from',
+ 'flow-into',
+ 'region-fragment',
+
+ // Scroll snap points.
+ 'scroll-snap-coordinate',
+ 'scroll-snap-destination',
+ 'scroll-snap-points-x',
+ 'scroll-snap-points-y',
+ 'scroll-snap-type',
+
+ // Shapes.
+ 'shape-image-threshold',
+ 'shape-margin',
+ 'shape-outside',
+
+ // Tab size.
+ 'tab-size',
+
+ // Text align last.
+ 'text-align-last',
+
+ // Text decoration.
+ 'text-decoration-color',
+ 'text-decoration-line',
+ 'text-decoration-skip',
+ 'text-decoration-style',
+
+ // Text emphasis.
+ 'text-emphasis',
+ 'text-emphasis-color',
+ 'text-emphasis-position',
+ 'text-emphasis-style',
+
+ // Text size adjust.
+ 'text-size-adjust',
+
+ // Text spacing.
+ 'text-spacing',
+
+ // Transform.
+ 'transform',
+ 'transform-origin',
+
+ // Transform 3D.
+ 'backface-visibility',
+ 'perspective',
+ 'perspective-origin',
+ 'transform-style',
+
+ // Transition.
+ 'transition',
+ 'transition-delay',
+ 'transition-duration',
+ 'transition-property',
+ 'transition-timing-function',
+
+ // Unicode bidi.
+ 'unicode-bidi',
+
+ // User select.
+ 'user-select',
+
+ // Writing mode.
+ 'writing-mode',
+
+ );
+
+ /// Values that should be vendorized.
+ /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
+ /// @var {list}
+ $vendor-values: (
+
+ // Cross fade.
+ 'cross-fade',
+
+ // Element function.
+ 'element',
+
+ // Filter function.
+ 'filter',
+
+ // Flexbox.
+ 'flex',
+ 'inline-flex',
+
+ // Grab cursors.
+ 'grab',
+ 'grabbing',
+
+ // Gradients.
+ 'linear-gradient',
+ 'repeating-linear-gradient',
+ 'radial-gradient',
+ 'repeating-radial-gradient',
+
+ // Grid layout.
+ 'grid',
+ 'inline-grid',
+
+ // Image set.
+ 'image-set',
+
+ // Intrinsic width.
+ 'max-content',
+ 'min-content',
+ 'fit-content',
+ 'fill',
+ 'fill-available',
+ 'stretch',
+
+ // Sticky position.
+ 'sticky',
+
+ // Transform.
+ 'transform',
+
+ // Zoom cursors.
+ 'zoom-in',
+ 'zoom-out',
+
+ );
+
+// Functions.
+
+ /// Removes a specific item from a list.
+ /// @author Hugo Giraudel
+ /// @param {list} $list List.
+ /// @param {integer} $index Index.
+ /// @return {list} Updated list.
+ @function remove-nth($list, $index) {
+
+ $result: null;
+
+ @if type-of($index) != number {
+ @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
+ }
+ @else if $index == 0 {
+ @warn "List index 0 must be a non-zero integer for `remove-nth`.";
+ }
+ @else if abs($index) > length($list) {
+ @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
+ }
+ @else {
+
+ $result: ();
+ $index: if($index < 0, length($list) + $index + 1, $index);
+
+ @for $i from 1 through length($list) {
+
+ @if $i != $index {
+ $result: append($result, nth($list, $i));
+ }
+
+ }
+
+ }
+
+ @return $result;
+
+ }
+
+ /// Replaces a substring within another string.
+ /// @author Hugo Giraudel
+ /// @param {string} $string String.
+ /// @param {string} $search Substring.
+ /// @param {string} $replace Replacement.
+ /// @return {string} Updated string.
+ @function str-replace($string, $search, $replace: '') {
+
+ $index: str-index($string, $search);
+
+ @if $index {
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
+ }
+
+ @return $string;
+
+ }
+
+ /// Replaces a substring within each string in a list.
+ /// @param {list} $strings List of strings.
+ /// @param {string} $search Substring.
+ /// @param {string} $replace Replacement.
+ /// @return {list} Updated list of strings.
+ @function str-replace-all($strings, $search, $replace: '') {
+
+ @each $string in $strings {
+ $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
+ }
+
+ @return $strings;
+
+ }
+
+// Mixins.
+
+ /// Wraps @content in vendorized keyframe blocks.
+ /// @param {string} $name Name.
+ @mixin keyframes($name) {
+
+ @-moz-keyframes #{$name} { @content; }
+ @-webkit-keyframes #{$name} { @content; }
+ @-ms-keyframes #{$name} { @content; }
+ @keyframes #{$name} { @content; }
+
+ }
+
+ /// Vendorizes a declaration's property and/or value(s).
+ /// @param {string} $property Property.
+ /// @param {mixed} $value String/list of value(s).
+ @mixin vendor($property, $value) {
+
+ // Determine if property should expand.
+ $expandProperty: index($vendor-properties, $property);
+
+ // Determine if value should expand (and if so, add '-prefix-' placeholder).
+ $expandValue: false;
+
+ @each $x in $value {
+ @each $y in $vendor-values {
+ @if $y == str-slice($x, 1, str-length($y)) {
+
+ $value: set-nth($value, index($value, $x), '-prefix-' + $x);
+ $expandValue: true;
+
+ }
+ }
+ }
+
+ // Expand property?
+ @if $expandProperty {
+ @each $vendor in $vendor-prefixes {
+ #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
+ }
+ }
+
+ // Expand just the value?
+ @elseif $expandValue {
+ @each $vendor in $vendor-prefixes {
+ #{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
+ }
+ }
+
+ // Neither? Treat them as a normal declaration.
+ @else {
+ #{$property}: #{$value};
+ }
+
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/sass/main.scss b/themes/Blog/SolidState/assets/sass/main.scss
index 024e9930..445fac40 100644
--- a/themes/Blog/SolidState/assets/sass/main.scss
+++ b/themes/Blog/SolidState/assets/sass/main.scss
@@ -1,8 +1,10 @@
@import 'libs/vars';
@import 'libs/functions';
@import 'libs/mixins';
-@import 'libs/skel';
-@import '../css/font-awesome.min.css';
+@import 'libs/vendor';
+@import 'libs/breakpoints';
+@import 'libs/html-grid';
+@import '../css/fontawesome-all.min.css';
@import url('https://fonts.googleapis.com/css?family=Raleway:200,700|Source+Sans+Pro:300,600,300italic,600italic');
/*
@@ -11,39 +13,36 @@
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
- @include skel-breakpoints((
- xlarge: '(max-width: 1680px)',
- large: '(max-width: 1280px)',
- medium: '(max-width: 980px)',
- small: '(max-width: 736px)',
- xsmall: '(max-width: 640px)',
- xxsmall: '(max-width: 360px)'
- ));
+// Breakpoints.
- @include skel-layout((
- reset: 'full',
- boxModel: 'border',
- grid: ( gutters: 1.75em ),
- breakpoints: (
- small: (
- grid: ( gutters: 1.25em )
- )
- )
+ @include breakpoints((
+ xlarge: (1281px, 1680px ),
+ large: (981px, 1280px ),
+ medium: (737px, 980px ),
+ small: (481px, 736px ),
+ xsmall: (361px, 480px ),
+ xxsmall: (null, 360px )
));
// Base.
+ @import 'base/reset';
@import 'base/page';
@import 'base/typography';
// Component.
+ @import 'components/row';
@import 'components/section';
@import 'components/form';
@import 'components/box';
@import 'components/icon';
@import 'components/image';
@import 'components/list';
+ @import 'components/actions';
+ @import 'components/icons';
+ @import 'components/contact';
+ @import 'components/pagination';
@import 'components/table';
@import 'components/button';
@import 'components/features';
diff --git a/themes/Blog/SolidState/assets/sass/noscript.scss b/themes/Blog/SolidState/assets/sass/noscript.scss
new file mode 100644
index 00000000..22c65b12
--- /dev/null
+++ b/themes/Blog/SolidState/assets/sass/noscript.scss
@@ -0,0 +1,35 @@
+@import 'libs/vars';
+@import 'libs/functions';
+@import 'libs/mixins';
+@import 'libs/vendor';
+@import 'libs/breakpoints';
+@import 'libs/html-grid';
+
+/*
+ Solid State by HTML5 UP
+ html5up.net | @ajlkn
+ Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
+*/
+
+/* Banner */
+
+ #banner {
+ body.is-preload & {
+ .logo {
+ @include vendor('transform', 'none');
+ opacity: 1;
+ }
+
+ h2 {
+ opacity: 1;
+ @include vendor('transform', 'none');
+ @include vendor('filter', 'none');
+ }
+
+ p {
+ opacity: 01;
+ @include vendor('transform', 'none');
+ @include vendor('filter', 'none');
+ }
+ }
+ }
\ No newline at end of file
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-brands-400.eot b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.eot
new file mode 100644
index 00000000..e79f40f9
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.eot differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-brands-400.svg b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.svg
new file mode 100644
index 00000000..ba0d850b
--- /dev/null
+++ b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.svg
@@ -0,0 +1,3442 @@
+
+
+
+
+
+Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-brands-400.ttf b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.ttf
new file mode 100644
index 00000000..217ffe9e
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.ttf differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-brands-400.woff b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.woff
new file mode 100644
index 00000000..a2d80254
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.woff differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-brands-400.woff2 b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.woff2
new file mode 100644
index 00000000..e27b0bfa
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-brands-400.woff2 differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-regular-400.eot b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.eot
new file mode 100644
index 00000000..d62be2fa
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.eot differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-regular-400.svg b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.svg
new file mode 100644
index 00000000..751083ee
--- /dev/null
+++ b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.svg
@@ -0,0 +1,803 @@
+
+
+
+
+
+Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-regular-400.ttf b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.ttf
new file mode 100644
index 00000000..eb3cb5ef
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.ttf differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-regular-400.woff b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.woff
new file mode 100644
index 00000000..43b1a9ae
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.woff differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-regular-400.woff2 b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.woff2
new file mode 100644
index 00000000..b9344a74
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-regular-400.woff2 differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-solid-900.eot b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.eot
new file mode 100644
index 00000000..c77baa8d
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.eot differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-solid-900.svg b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.svg
new file mode 100644
index 00000000..627128b8
--- /dev/null
+++ b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.svg
@@ -0,0 +1,4649 @@
+
+
+
+
+
+Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-solid-900.ttf b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.ttf
new file mode 100644
index 00000000..c6c3dd4d
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.ttf differ
diff --git a/themes/Blog/SolidState/assets/webfonts/fa-solid-900.woff2 b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.woff2
new file mode 100644
index 00000000..e30fb671
Binary files /dev/null and b/themes/Blog/SolidState/assets/webfonts/fa-solid-900.woff2 differ