diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile old mode 100644 new mode 100755 diff --git a/.devcontainer/base.Dockerfile b/.devcontainer/base.Dockerfile old mode 100644 new mode 100755 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 5fe23e9..7f54fb8 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,28 @@ -b-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz - -pids -logs -results - -npm-debug.log -node_modules -package-lock.json - -.idea/* -*.iml -projectFilesBackup - -.DS_Store - -dist/ - -config.json -changelog.md -changelog.md.bk +b-cov +*.seed +*.log +*.csv +*.dat +*.out +*.pid +*.gz + +pids +logs +results + +npm-debug.log +node_modules +package-lock.json + +.idea/* +*.iml +projectFilesBackup + +.DS_Store + +dist/ + +config.json +changelog.md +changelog.md.bk diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 index 1dc9a46..c28eef5 --- a/LICENSE +++ b/LICENSE @@ -1,22 +1,22 @@ -Copyright (c) 2013-2022 Ghost Foundation - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2013-2022 Ghost Foundation + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 7efc1fd..bb42a48 --- a/README.md +++ b/README.md @@ -1,69 +1,69 @@ -# Casper - -The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Casper! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Casper/releases) page. - -  - -![screenshot-desktop](https://user-images.githubusercontent.com/1418797/183329195-8e8f2ee5-a473-4694-a813-a2575491209e.png) - -  - -# First time using a Ghost theme? - -Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes. - -This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/themes/) which explains every possible Handlebars helper and template. - -**The main files are:** - -- `default.hbs` - The parent template file, which includes your global header/footer -- `index.hbs` - The main template to generate a list of posts, usually the home page -- `post.hbs` - The template used to render individual posts -- `page.hbs` - Used for individual pages -- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`" -- `author.hbs` - Used for author archives, eg. "all posts written by Jamie" - -One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example: - -- `page-about.hbs` - Custom template for an `/about/` page -- `tag-news.hbs` - Custom template for `/tag/news/` archive -- `author-ali.hbs` - Custom template for `/author/ali/` archive - - -# Development - -Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory: - -```bash -# install dependencies -yarn install - -# run development server -yarn dev -``` - -Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically. - -The `zip` Gulp task packages the theme files into `dist/.zip`, which you can then upload to your site. - -```bash -# create .zip file -yarn zip -``` - -# PostCSS Features Used - -- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser. -- [Color Mod](https://github.com/jonathantneal/postcss-color-mod-function) - - -# SVG Icons - -Casper uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`. - -You can add your own SVG icons in the same manner. - - -# Copyright & License - -Copyright (c) 2013-2022 Ghost Foundation - Released under the [MIT license](LICENSE). +# Casper + +The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Casper! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Casper/releases) page. + +  + +![screenshot-desktop](https://user-images.githubusercontent.com/1418797/183329195-8e8f2ee5-a473-4694-a813-a2575491209e.png) + +  + +# First time using a Ghost theme? + +Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes. + +This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/themes/) which explains every possible Handlebars helper and template. + +**The main files are:** + +- `default.hbs` - The parent template file, which includes your global header/footer +- `index.hbs` - The main template to generate a list of posts, usually the home page +- `post.hbs` - The template used to render individual posts +- `page.hbs` - Used for individual pages +- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`" +- `author.hbs` - Used for author archives, eg. "all posts written by Jamie" + +One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example: + +- `page-about.hbs` - Custom template for an `/about/` page +- `tag-news.hbs` - Custom template for `/tag/news/` archive +- `author-ali.hbs` - Custom template for `/author/ali/` archive + + +# Development + +Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory: + +```bash +# install dependencies +yarn install + +# run development server +yarn dev +``` + +Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically. + +The `zip` Gulp task packages the theme files into `dist/.zip`, which you can then upload to your site. + +```bash +# create .zip file +yarn zip +``` + +# PostCSS Features Used + +- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser. +- [Color Mod](https://github.com/jonathantneal/postcss-color-mod-function) + + +# SVG Icons + +Casper uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`. + +You can add your own SVG icons in the same manner. + + +# Copyright & License + +Copyright (c) 2013-2022 Ghost Foundation - Released under the [MIT license](LICENSE). diff --git a/assets/built/casper.js b/assets/built/casper.js old mode 100644 new mode 100755 index d73f855..ef182d1 --- a/assets/built/casper.js +++ b/assets/built/casper.js @@ -1,2 +1,2 @@ -!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},e=i[e]=i[e]||[];return-1==e.indexOf(t)&&e.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{};return(i[e]=i[e]||{})[t]=!0,this}},t.off=function(e,t){e=this._events&&this._events[e];if(e&&e.length){t=e.indexOf(t);return-1!=t&&e.splice(t,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;ox

',t.appendChild(i.childNodes[1])),e&&r.extend(o,e),this.each(function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"];o.customSelector&&e.push(o.customSelector);var n=".fitvidsignore";o.ignore&&(n=n+", "+o.ignore);e=r(this).find(e.join(","));(e=(e=e.not("object object")).not(n)).each(function(){var e,t,i=r(this);0
').parent(".fluid-width-video-wrapper").css("padding-top",100*e+"%"),i.removeAttr("height").removeAttr("width"))})})},r.fn.fitVids._count=0}(window.jQuery||window.Zepto),function(){var n=window.matchMedia("(max-width: 991px)");const o=document.querySelector(".gh-head-menu"),r=o.querySelector(".nav");if(r){var e=document.querySelector(".gh-head-logo"),t=r.innerHTML;if(n.matches){const s=r.querySelectorAll("li");s.forEach(function(e,t){e.style.transitionDelay=.03*(t+1)+"s"})}function i(){if(!n.matches){const e=[];for(;r.offsetWidth+64>o.offsetWidth;){if(!r.lastElementChild)return;e.unshift(r.lastElementChild),r.lastElementChild.remove()}if(e.length){const t=document.createElement("button");t.setAttribute("class","nav-more-toggle"),t.setAttribute("aria-label","More"),t.innerHTML='';const i=document.createElement("div");i.setAttribute("class","gh-dropdown"),10<=e.length?(document.body.classList.add("is-dropdown-mega"),i.style.gridTemplateRows="repeat("+Math.ceil(e.length/2)+", 1fr)"):document.body.classList.remove("is-dropdown-mega"),e.forEach(function(e){i.appendChild(e)}),t.appendChild(i),r.appendChild(t),document.body.classList.add("is-dropdown-loaded"),t.addEventListener("click",function(){document.body.classList.toggle("is-dropdown-open")}),window.addEventListener("click",function(e){!t.contains(e.target)&&document.body.classList.contains("is-dropdown-open")&&document.body.classList.remove("is-dropdown-open")})}else document.body.classList.add("is-dropdown-loaded")}}imagesLoaded(e,function(){i()}),window.addEventListener("resize",function(){setTimeout(function(){r.innerHTML=t,i()},1)})}}(),function(t,i){var n,o,r,s,d,a,h,c=i.querySelector("link[rel=next]");function l(){if(404===this.status)return t.removeEventListener("scroll",m),void t.removeEventListener("resize",p);this.response.querySelectorAll("article.post-card").forEach(function(e){n.appendChild(i.importNode(e,!0))});var e=this.response.querySelector("link[rel=next]");e?c.href=e.href:(t.removeEventListener("scroll",m),t.removeEventListener("resize",p)),h=i.documentElement.scrollHeight,s=r=!1}function e(){var e;s||(d+a<=h-o?r=!1:(s=!0,(e=new t.XMLHttpRequest).responseType="document",e.addEventListener("load",l),e.open("GET",c.href),e.send(null)))}function u(){r||t.requestAnimationFrame(e),r=!0}function m(){d=t.scrollY,u()}function p(){a=t.innerHeight,h=i.documentElement.scrollHeight,u()}!c||(n=i.querySelector(".post-feed"))&&(s=r=!(o=300),d=t.scrollY,a=t.innerHeight,h=i.documentElement.scrollHeight,t.addEventListener("scroll",m,{passive:!0}),t.addEventListener("resize",p),u())}(window,document); +!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},e=i[e]=i[e]||[];return-1==e.indexOf(t)&&e.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{};return(i[e]=i[e]||{})[t]=!0,this}},t.off=function(e,t){e=this._events&&this._events[e];if(e&&e.length){t=e.indexOf(t);return-1!=t&&e.splice(t,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;ox

',t.appendChild(i.childNodes[1])),e&&r.extend(o,e),this.each(function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"];o.customSelector&&e.push(o.customSelector);var n=".fitvidsignore";o.ignore&&(n=n+", "+o.ignore);e=r(this).find(e.join(","));(e=(e=e.not("object object")).not(n)).each(function(){var e,t,i=r(this);0
').parent(".fluid-width-video-wrapper").css("padding-top",100*e+"%"),i.removeAttr("height").removeAttr("width"))})})},r.fn.fitVids._count=0}(window.jQuery||window.Zepto),function(){var n=window.matchMedia("(max-width: 991px)");const o=document.querySelector(".gh-head-menu"),r=o.querySelector(".nav");if(r){var e=document.querySelector(".gh-head-logo"),t=r.innerHTML;if(n.matches){const s=r.querySelectorAll("li");s.forEach(function(e,t){e.style.transitionDelay=.03*(t+1)+"s"})}function i(){if(!n.matches){const e=[];for(;r.offsetWidth+64>o.offsetWidth;){if(!r.lastElementChild)return;e.unshift(r.lastElementChild),r.lastElementChild.remove()}if(e.length){const t=document.createElement("button");t.setAttribute("class","nav-more-toggle"),t.setAttribute("aria-label","More"),t.innerHTML='';const i=document.createElement("div");i.setAttribute("class","gh-dropdown"),10<=e.length?(document.body.classList.add("is-dropdown-mega"),i.style.gridTemplateRows="repeat("+Math.ceil(e.length/2)+", 1fr)"):document.body.classList.remove("is-dropdown-mega"),e.forEach(function(e){i.appendChild(e)}),t.appendChild(i),r.appendChild(t),document.body.classList.add("is-dropdown-loaded"),t.addEventListener("click",function(){document.body.classList.toggle("is-dropdown-open")}),window.addEventListener("click",function(e){!t.contains(e.target)&&document.body.classList.contains("is-dropdown-open")&&document.body.classList.remove("is-dropdown-open")})}else document.body.classList.add("is-dropdown-loaded")}}imagesLoaded(e,function(){i()}),window.addEventListener("resize",function(){setTimeout(function(){r.innerHTML=t,i()},1)})}}(),function(t,i){var n,o,r,s,d,a,h,c;function l(){if(404===this.status)return t.removeEventListener("scroll",m),void t.removeEventListener("resize",p);this.response.querySelectorAll("article.post-card").forEach(function(e){o.appendChild(i.importNode(e,!0))});var e=this.response.querySelector("link[rel=next]");e?n.href=e.href:(t.removeEventListener("scroll",m),t.removeEventListener("resize",p)),c=i.documentElement.scrollHeight,d=s=!1}function e(){var e;d||(a+h<=c-r?s=!1:(d=!0,(e=new t.XMLHttpRequest).responseType="document",e.addEventListener("load",l),e.open("GET",n.href),e.send(null)))}function u(){s||t.requestAnimationFrame(e),s=!0}function m(){a=t.scrollY,u()}function p(){h=t.innerHeight,c=i.documentElement.scrollHeight,u()}i.documentElement.classList.contains("no-infinite-scroll")||(!(n=i.querySelector("link[rel=next]"))||(o=i.querySelector(".post-feed"))&&(d=s=!(r=300),a=t.scrollY,h=t.innerHeight,c=i.documentElement.scrollHeight,t.addEventListener("scroll",m,{passive:!0}),t.addEventListener("resize",p),u()))}(window,document); //# sourceMappingURL=casper.js.map \ No newline at end of file diff --git a/assets/built/casper.js.map b/assets/built/casper.js.map old mode 100644 new mode 100755 index 9c3b17d..654d7c3 --- a/assets/built/casper.js.map +++ b/assets/built/casper.js.map @@ -1 +1 @@ -{"version":3,"sources":["imagesloaded.pkgd.min.js","jquery.fitvids.js","dropdown.js","infinite-scroll.js"],"names":["e","t","define","amd","module","exports","EvEmitter","window","this","prototype","on","i","_events","n","indexOf","push","once","_onceEvents","off","length","splice","emitEvent","slice","o","r","apply","allOff","require","imagesLoaded","s","document","querySelectorAll","elements","Array","isArray","d","call","options","getImages","h","jqDeferred","Deferred","setTimeout","check","bind","a","error","img","url","element","Image","jQuery","console","Object","create","images","forEach","addElementImages","nodeName","addImage","background","addElementBackgroundImages","nodeType","u","1","9","11","getComputedStyle","exec","backgroundImage","addBackground","progress","progressedCount","hasAnyBroken","complete","isLoaded","notify","debug","log","isComplete","getIsImageComplete","confirm","naturalWidth","proxyImage","addEventListener","src","handleEvent","type","onload","unbindEvents","onerror","removeEventListener","makeJQueryPlugin","fn","promise","$","fitVids","head","div","settings","customSelector","ignore","getElementById","getElementsByTagName","createElement","innerHTML","appendChild","childNodes","extend","each","selectors","ignoreList","$allVideos","find","join","not","aspectRatio","videoName","$this","parents","tagName","toLowerCase","parent","css","isNaN","attr","parseInt","height","width","_count","wrap","removeAttr","Zepto","mediaQuery","matchMedia","menu","querySelector","nav","logo","navHTML","matches","items","item","index","style","transitionDelay","makeDropdown","submenuItems","offsetWidth","lastElementChild","unshift","remove","toggle","setAttribute","wrapper","body","classList","add","gridTemplateRows","Math","ceil","child","contains","target","feedElement","buffer","ticking","loading","lastScrollY","lastWindowHeight","lastDocumentHeight","nextElement","onPageLoad","status","onScroll","onResize","response","importNode","resNextElement","href","documentElement","scrollHeight","onUpdate","xhr","XMLHttpRequest","responseType","open","send","requestTick","requestAnimationFrame","scrollY","innerHeight","passive"],"mappings":"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","file":"casper.js","sourcesContent":["/*!\r\n * imagesLoaded PACKAGED v4.1.4\r\n * JavaScript is all like \"You images are done yet or what?\"\r\n * MIT License\r\n */\r\n\r\n!function(e,t){\"function\"==typeof define&&define.amd?define(\"ev-emitter/ev-emitter\",t):\"object\"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}(\"undefined\"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o';\r\n head.appendChild(div.childNodes[1]);\r\n }\r\n\r\n if ( options ) {\r\n $.extend( settings, options );\r\n }\r\n\r\n return this.each(function(){\r\n var selectors = [\r\n 'iframe[src*=\"player.vimeo.com\"]',\r\n 'iframe[src*=\"youtube.com\"]',\r\n 'iframe[src*=\"youtube-nocookie.com\"]',\r\n 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\r\n 'object',\r\n 'embed'\r\n ];\r\n\r\n if (settings.customSelector) {\r\n selectors.push(settings.customSelector);\r\n }\r\n\r\n var ignoreList = '.fitvidsignore';\r\n\r\n if(settings.ignore) {\r\n ignoreList = ignoreList + ', ' + settings.ignore;\r\n }\r\n\r\n var $allVideos = $(this).find(selectors.join(','));\r\n $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\r\n $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\r\n\r\n $allVideos.each(function(){\r\n var $this = $(this);\r\n if($this.parents(ignoreList).length > 0) {\r\n return; // Disable FitVids on this video.\r\n }\r\n if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\r\n if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\r\n {\r\n $this.attr('height', 9);\r\n $this.attr('width', 16);\r\n }\r\n var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\r\n width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\r\n aspectRatio = height / width;\r\n if(!$this.attr('name')){\r\n var videoName = 'fitvid' + $.fn.fitVids._count;\r\n $this.attr('name', videoName);\r\n $.fn.fitVids._count++;\r\n }\r\n $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\r\n $this.removeAttr('height').removeAttr('width');\r\n });\r\n });\r\n };\r\n\r\n // Internal counter for unique video names.\r\n $.fn.fitVids._count = 0;\r\n\r\n// Works with either jQuery or Zepto\r\n})( window.jQuery || window.Zepto );\r\n","(function () {\r\n const mediaQuery = window.matchMedia('(max-width: 991px)');\r\n\r\n const menu = document.querySelector('.gh-head-menu');\r\n const nav = menu.querySelector('.nav');\r\n if (!nav) return;\r\n\r\n const logo = document.querySelector('.gh-head-logo');\r\n const navHTML = nav.innerHTML;\r\n\r\n if (mediaQuery.matches) {\r\n const items = nav.querySelectorAll('li');\r\n items.forEach(function (item, index) {\r\n item.style.transitionDelay = 0.03 * (index + 1) + 's';\r\n });\r\n }\r\n\r\n const makeDropdown = function () {\r\n if (mediaQuery.matches) return;\r\n const submenuItems = [];\r\n\r\n while ((nav.offsetWidth + 64) > menu.offsetWidth) {\r\n if (nav.lastElementChild) {\r\n submenuItems.unshift(nav.lastElementChild);\r\n nav.lastElementChild.remove();\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n if (!submenuItems.length) {\r\n document.body.classList.add('is-dropdown-loaded');\r\n return;\r\n }\r\n\r\n const toggle = document.createElement('button');\r\n toggle.setAttribute('class', 'nav-more-toggle');\r\n toggle.setAttribute('aria-label', 'More');\r\n toggle.innerHTML = '';\r\n\r\n const wrapper = document.createElement('div');\r\n wrapper.setAttribute('class', 'gh-dropdown');\r\n\r\n if (submenuItems.length >= 10) {\r\n document.body.classList.add('is-dropdown-mega');\r\n wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';\r\n } else {\r\n document.body.classList.remove('is-dropdown-mega');\r\n }\r\n\r\n submenuItems.forEach(function (child) {\r\n wrapper.appendChild(child);\r\n });\r\n\r\n toggle.appendChild(wrapper);\r\n nav.appendChild(toggle);\r\n\r\n document.body.classList.add('is-dropdown-loaded');\r\n\r\n toggle.addEventListener('click', function () {\r\n document.body.classList.toggle('is-dropdown-open');\r\n });\r\n\r\n window.addEventListener('click', function (e) {\r\n if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {\r\n document.body.classList.remove('is-dropdown-open');\r\n }\r\n });\r\n }\r\n\r\n imagesLoaded(logo, function () {\r\n makeDropdown();\r\n });\r\n\r\n window.addEventListener('resize', function () {\r\n setTimeout(function () {\r\n nav.innerHTML = navHTML;\r\n makeDropdown();\r\n }, 1);\r\n });\r\n})();\r\n","/* eslint-env browser */\r\n\r\n/**\r\n * Infinite Scroll\r\n * Used on all pages where there is a list of posts (homepage, tag index, etc).\r\n *\r\n * When the page is scrolled to 300px from the bottom, the next page of posts\r\n * is fetched by following the the that is output\r\n * by {{ghost_head}}.\r\n *\r\n * The individual post items are extracted from the fetched pages by looking for\r\n * a wrapper element with the class \"post-card\". Any found elements are appended\r\n * to the element with the class \"post-feed\" in the currently viewed page.\r\n */\r\n\r\n(function (window, document) {\r\n // next link element\r\n var nextElement = document.querySelector('link[rel=next]');\r\n if (!nextElement) {\r\n return;\r\n }\r\n\r\n // post feed element\r\n var feedElement = document.querySelector('.post-feed');\r\n if (!feedElement) {\r\n return;\r\n }\r\n\r\n var buffer = 300;\r\n\r\n var ticking = false;\r\n var loading = false;\r\n\r\n var lastScrollY = window.scrollY;\r\n var lastWindowHeight = window.innerHeight;\r\n var lastDocumentHeight = document.documentElement.scrollHeight;\r\n\r\n function onPageLoad() {\r\n if (this.status === 404) {\r\n window.removeEventListener('scroll', onScroll);\r\n window.removeEventListener('resize', onResize);\r\n return;\r\n }\r\n\r\n // append contents\r\n var postElements = this.response.querySelectorAll('article.post-card');\r\n postElements.forEach(function (item) {\r\n // document.importNode is important, without it the item's owner\r\n // document will be different which can break resizing of\r\n // `object-fit: cover` images in Safari\r\n feedElement.appendChild(document.importNode(item, true));\r\n });\r\n\r\n // set next link\r\n var resNextElement = this.response.querySelector('link[rel=next]');\r\n if (resNextElement) {\r\n nextElement.href = resNextElement.href;\r\n } else {\r\n window.removeEventListener('scroll', onScroll);\r\n window.removeEventListener('resize', onResize);\r\n }\r\n\r\n // sync status\r\n lastDocumentHeight = document.documentElement.scrollHeight;\r\n ticking = false;\r\n loading = false;\r\n }\r\n\r\n function onUpdate() {\r\n // return if already loading\r\n if (loading) {\r\n return;\r\n }\r\n\r\n // return if not scroll to the bottom\r\n if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {\r\n ticking = false;\r\n return;\r\n }\r\n\r\n loading = true;\r\n\r\n var xhr = new window.XMLHttpRequest();\r\n xhr.responseType = 'document';\r\n\r\n xhr.addEventListener('load', onPageLoad);\r\n\r\n xhr.open('GET', nextElement.href);\r\n xhr.send(null);\r\n }\r\n\r\n function requestTick() {\r\n ticking || window.requestAnimationFrame(onUpdate);\r\n ticking = true;\r\n }\r\n\r\n function onScroll() {\r\n lastScrollY = window.scrollY;\r\n requestTick();\r\n }\r\n\r\n function onResize() {\r\n lastWindowHeight = window.innerHeight;\r\n lastDocumentHeight = document.documentElement.scrollHeight;\r\n requestTick();\r\n }\r\n\r\n window.addEventListener('scroll', onScroll, {passive: true});\r\n window.addEventListener('resize', onResize);\r\n\r\n requestTick();\r\n})(window, document);\r\n"]} \ No newline at end of file +{"version":3,"sources":["imagesloaded.pkgd.min.js","jquery.fitvids.js","dropdown.js","infinite-scroll.js"],"names":["e","t","define","amd","module","exports","EvEmitter","window","this","prototype","on","i","_events","n","indexOf","push","once","_onceEvents","off","length","splice","emitEvent","slice","o","r","apply","allOff","require","imagesLoaded","s","document","querySelectorAll","elements","Array","isArray","d","call","options","getImages","h","jqDeferred","Deferred","setTimeout","check","bind","a","error","img","url","element","Image","jQuery","console","Object","create","images","forEach","addElementImages","nodeName","addImage","background","addElementBackgroundImages","nodeType","u","1","9","11","getComputedStyle","exec","backgroundImage","addBackground","progress","progressedCount","hasAnyBroken","complete","isLoaded","notify","debug","log","isComplete","getIsImageComplete","confirm","naturalWidth","proxyImage","addEventListener","src","handleEvent","type","onload","unbindEvents","onerror","removeEventListener","makeJQueryPlugin","fn","promise","$","fitVids","head","div","settings","customSelector","ignore","getElementById","getElementsByTagName","createElement","innerHTML","appendChild","childNodes","extend","each","selectors","ignoreList","$allVideos","find","join","not","aspectRatio","videoName","$this","parents","tagName","toLowerCase","parent","css","isNaN","attr","parseInt","height","width","_count","wrap","removeAttr","Zepto","mediaQuery","matchMedia","menu","querySelector","nav","logo","navHTML","matches","items","item","index","style","transitionDelay","makeDropdown","submenuItems","offsetWidth","lastElementChild","unshift","remove","toggle","setAttribute","wrapper","body","classList","add","gridTemplateRows","Math","ceil","child","contains","target","feedElement","buffer","ticking","loading","lastScrollY","lastWindowHeight","lastDocumentHeight","nextElement","onPageLoad","status","onScroll","onResize","response","importNode","resNextElement","href","documentElement","scrollHeight","onUpdate","xhr","XMLHttpRequest","responseType","open","send","requestTick","requestAnimationFrame","scrollY","innerHeight","passive"],"mappings":"CAMA,SAAAA,EAAAC,GAAA,mBAAAC,QAAAA,OAAAC,IAAAD,OAAA,wBAAAD,GAAA,iBAAAG,QAAAA,OAAAC,QAAAD,OAAAC,QAAAJ,IAAAD,EAAAM,UAAAL,IAAA,CAAA,oBAAAM,OAAAA,OAAAC,KAAA,WAAA,SAAAR,KAAA,IAAAC,EAAAD,EAAAS,UAAA,OAAAR,EAAAS,GAAA,SAAAV,EAAAC,GAAA,GAAAD,GAAAC,EAAA,CAAA,IAAAU,EAAAH,KAAAI,QAAAJ,KAAAI,SAAA,GAAAC,EAAAF,EAAAX,GAAAW,EAAAX,IAAA,GAAA,OAAA,GAAAa,EAAAC,QAAAb,IAAAY,EAAAE,KAAAd,GAAAO,OAAAP,EAAAe,KAAA,SAAAhB,EAAAC,GAAA,GAAAD,GAAAC,EAAA,CAAAO,KAAAE,GAAAV,EAAAC,GAAA,IAAAU,EAAAH,KAAAS,YAAAT,KAAAS,aAAA,GAAA,OAAAN,EAAAX,GAAAW,EAAAX,IAAA,IAAAC,IAAA,EAAAO,OAAAP,EAAAiB,IAAA,SAAAlB,EAAAC,GAAAU,EAAAH,KAAAI,SAAAJ,KAAAI,QAAAZ,GAAA,GAAAW,GAAAA,EAAAQ,OAAA,CAAAN,EAAAF,EAAAG,QAAAb,GAAA,OAAA,GAAAY,GAAAF,EAAAS,OAAAP,EAAA,GAAAL,OAAAP,EAAAoB,UAAA,SAAArB,EAAAC,GAAA,IAAAU,EAAAH,KAAAI,SAAAJ,KAAAI,QAAAZ,GAAA,GAAAW,GAAAA,EAAAQ,OAAA,CAAAR,EAAAA,EAAAW,MAAA,GAAArB,EAAAA,GAAA,GAAA,IAAA,IAAAY,EAAAL,KAAAS,aAAAT,KAAAS,YAAAjB,GAAAuB,EAAA,EAAAA,EAAAZ,EAAAQ,OAAAI,IAAA,CAAA,IAAAC,EAAAb,EAAAY,GAAAV,GAAAA,EAAAW,KAAAhB,KAAAU,IAAAlB,EAAAwB,UAAAX,EAAAW,IAAAA,EAAAC,MAAAjB,KAAAP,GAAA,OAAAO,OAAAP,EAAAyB,OAAA,kBAAAlB,KAAAI,eAAAJ,KAAAS,aAAAjB,IAAA,SAAAA,EAAAC,gBAAA,mBAAAC,QAAAA,OAAAC,IAAAD,OAAA,CAAA,yBAAA,SAAAS,GAAA,OAAAV,EAAAD,EAAAW,KAAA,iBAAAP,QAAAA,OAAAC,QAAAD,OAAAC,QAAAJ,EAAAD,EAAA2B,QAAA,eAAA3B,EAAA4B,aAAA3B,EAAAD,EAAAA,EAAAM,WAAA,CAAA,oBAAAC,OAAAA,OAAAC,KAAA,SAAAR,EAAAC,GAAA,SAAAU,EAAAX,EAAAC,GAAA,IAAA,IAAAU,KAAAV,EAAAD,EAAAW,GAAAV,EAAAU,GAAA,OAAAX,EAAA,SAAAuB,EAAAvB,EAAAC,EAAAuB,GAAA,KAAAhB,gBAAAe,GAAA,OAAA,IAAAA,EAAAvB,EAAAC,EAAAuB,GAAA,IAAAxB,EAAA6B,EAAA7B,EAAA,OAAA6B,EAAA,iBAAA7B,EAAA8B,SAAAC,iBAAA/B,GAAA6B,IAAArB,KAAAwB,UAAAhC,EAAA6B,EAAAI,MAAAC,QAAAlC,GAAAA,EAAA,iBAAAA,GAAA,iBAAAA,EAAAmB,OAAAgB,EAAAC,KAAApC,GAAA,CAAAA,IAAAQ,KAAA6B,QAAA1B,EAAA,GAAAH,KAAA6B,SAAA,mBAAApC,EAAAuB,EAAAvB,EAAAU,EAAAH,KAAA6B,QAAApC,GAAAuB,GAAAhB,KAAAE,GAAA,SAAAc,GAAAhB,KAAA8B,YAAAC,IAAA/B,KAAAgC,WAAA,IAAAD,EAAAE,eAAAC,WAAAlC,KAAAmC,MAAAC,KAAApC,aAAAqC,EAAAC,MAAA,iCAAAjB,GAAA7B,IAAA,SAAAwB,EAAAxB,GAAAQ,KAAAuC,IAAA/C,EAAA,SAAA6B,EAAA7B,EAAAC,GAAAO,KAAAwC,IAAAhD,EAAAQ,KAAAyC,QAAAhD,EAAAO,KAAAuC,IAAA,IAAAG,MAAA,IAAAX,EAAAvC,EAAAmD,OAAAN,EAAA7C,EAAAoD,QAAAjB,EAAAF,MAAAxB,UAAAa,OAAAC,EAAAd,UAAA4C,OAAAC,OAAArD,EAAAQ,YAAA4B,QAAA,GAAAd,EAAAd,UAAA6B,UAAA,WAAA9B,KAAA+C,OAAA,GAAA/C,KAAAwB,SAAAwB,QAAAhD,KAAAiD,iBAAAjD,OAAAe,EAAAd,UAAAgD,iBAAA,SAAAzD,GAAA,OAAAA,EAAA0D,UAAAlD,KAAAmD,SAAA3D,IAAA,IAAAQ,KAAA6B,QAAAuB,YAAApD,KAAAqD,2BAAA7D,GAAA,IAAAC,EAAAD,EAAA8D,SAAA,GAAA7D,GAAA8D,EAAA9D,GAAA,CAAA,IAAA,IAAAU,EAAAX,EAAA+B,iBAAA,OAAAlB,EAAA,EAAAA,EAAAF,EAAAQ,OAAAN,IAAA,CAAA,IAAAU,EAAAZ,EAAAE,GAAAL,KAAAmD,SAAApC,GAAA,GAAA,iBAAAf,KAAA6B,QAAAuB,WAAA,IAAA,IAAApC,EAAAxB,EAAA+B,iBAAAvB,KAAA6B,QAAAuB,YAAA/C,EAAA,EAAAA,EAAAW,EAAAL,OAAAN,IAAA,CAAA,IAAAgB,EAAAL,EAAAX,GAAAL,KAAAqD,2BAAAhC,MAAA,IAAAkC,EAAA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA,GAAA,OAAA3C,EAAAd,UAAAoD,2BAAA,SAAA7D,GAAA,IAAAC,EAAAkE,iBAAAnE,GAAA,GAAAC,EAAA,IAAA,IAAAU,EAAA,0BAAAE,EAAAF,EAAAyD,KAAAnE,EAAAoE,iBAAA,OAAAxD,GAAA,CAAA,IAAAU,EAAAV,GAAAA,EAAA,GAAAU,GAAAf,KAAA8D,cAAA/C,EAAAvB,GAAAa,EAAAF,EAAAyD,KAAAnE,EAAAoE,mBAAA9C,EAAAd,UAAAkD,SAAA,SAAA3D,GAAAC,EAAA,IAAAuB,EAAAxB,GAAAQ,KAAA+C,OAAAxC,KAAAd,IAAAsB,EAAAd,UAAA6D,cAAA,SAAAtE,EAAAC,GAAAU,EAAA,IAAAkB,EAAA7B,EAAAC,GAAAO,KAAA+C,OAAAxC,KAAAJ,IAAAY,EAAAd,UAAAkC,MAAA,WAAA,SAAA3C,EAAAA,EAAAW,EAAAE,GAAA6B,WAAA,WAAAzC,EAAAsE,SAAAvE,EAAAW,EAAAE,KAAA,IAAAZ,EAAAO,KAAA,OAAAA,KAAAgE,gBAAA,EAAAhE,KAAAiE,cAAA,EAAAjE,KAAA+C,OAAApC,YAAAX,KAAA+C,OAAAC,QAAA,SAAAvD,GAAAA,EAAAe,KAAA,WAAAhB,GAAAC,EAAA0C,eAAAnC,KAAAkE,YAAAnD,EAAAd,UAAA8D,SAAA,SAAAvE,EAAAC,EAAAU,GAAAH,KAAAgE,kBAAAhE,KAAAiE,aAAAjE,KAAAiE,eAAAzE,EAAA2E,SAAAnE,KAAAa,UAAA,WAAA,CAAAb,KAAAR,EAAAC,IAAAO,KAAAgC,YAAAhC,KAAAgC,WAAAoC,QAAApE,KAAAgC,WAAAoC,OAAApE,KAAAR,GAAAQ,KAAAgE,iBAAAhE,KAAA+C,OAAApC,QAAAX,KAAAkE,WAAAlE,KAAA6B,QAAAwC,OAAAhC,GAAAA,EAAAiC,IAAA,aAAAnE,EAAAX,EAAAC,IAAAsB,EAAAd,UAAAiE,SAAA,WAAA,IAAA1E,EAAAQ,KAAAiE,aAAA,OAAA,OAAAjE,KAAAuE,YAAA,EAAAvE,KAAAa,UAAArB,EAAA,CAAAQ,OAAAA,KAAAa,UAAA,SAAA,CAAAb,OAAAA,KAAAgC,aAAAvC,EAAAO,KAAAiE,aAAA,SAAA,UAAAjE,KAAAgC,WAAAvC,GAAAO,SAAAgB,EAAAf,UAAA4C,OAAAC,OAAArD,EAAAQ,YAAAkC,MAAA,WAAA,OAAAnC,KAAAwE,0BAAAxE,KAAAyE,QAAA,IAAAzE,KAAAuC,IAAAmC,aAAA,iBAAA1E,KAAA2E,WAAA,IAAAjC,MAAA1C,KAAA2E,WAAAC,iBAAA,OAAA5E,MAAAA,KAAA2E,WAAAC,iBAAA,QAAA5E,MAAAA,KAAAuC,IAAAqC,iBAAA,OAAA5E,MAAAA,KAAAuC,IAAAqC,iBAAA,QAAA5E,WAAAA,KAAA2E,WAAAE,IAAA7E,KAAAuC,IAAAsC,OAAA7D,EAAAf,UAAAuE,mBAAA,WAAA,OAAAxE,KAAAuC,IAAA2B,UAAAlE,KAAAuC,IAAAmC,cAAA1D,EAAAf,UAAAwE,QAAA,SAAAjF,EAAAC,GAAAO,KAAAmE,SAAA3E,EAAAQ,KAAAa,UAAA,WAAA,CAAAb,KAAAA,KAAAuC,IAAA9C,KAAAuB,EAAAf,UAAA6E,YAAA,SAAAtF,GAAA,IAAAC,EAAA,KAAAD,EAAAuF,KAAA/E,KAAAP,IAAAO,KAAAP,GAAAD,IAAAwB,EAAAf,UAAA+E,OAAA,WAAAhF,KAAAyE,SAAA,EAAA,UAAAzE,KAAAiF,gBAAAjE,EAAAf,UAAAiF,QAAA,WAAAlF,KAAAyE,SAAA,EAAA,WAAAzE,KAAAiF,gBAAAjE,EAAAf,UAAAgF,aAAA,WAAAjF,KAAA2E,WAAAQ,oBAAA,OAAAnF,MAAAA,KAAA2E,WAAAQ,oBAAA,QAAAnF,MAAAA,KAAAuC,IAAA4C,oBAAA,OAAAnF,MAAAA,KAAAuC,IAAA4C,oBAAA,QAAAnF,QAAAqB,EAAApB,UAAA4C,OAAAC,OAAA9B,EAAAf,YAAAkC,MAAA,WAAAnC,KAAAuC,IAAAqC,iBAAA,OAAA5E,MAAAA,KAAAuC,IAAAqC,iBAAA,QAAA5E,MAAAA,KAAAuC,IAAAsC,IAAA7E,KAAAwC,IAAAxC,KAAAwE,uBAAAxE,KAAAyE,QAAA,IAAAzE,KAAAuC,IAAAmC,aAAA,gBAAA1E,KAAAiF,iBAAA5D,EAAApB,UAAAgF,aAAA,WAAAjF,KAAAuC,IAAA4C,oBAAA,OAAAnF,MAAAA,KAAAuC,IAAA4C,oBAAA,QAAAnF,OAAAqB,EAAApB,UAAAwE,QAAA,SAAAjF,EAAAC,GAAAO,KAAAmE,SAAA3E,EAAAQ,KAAAa,UAAA,WAAA,CAAAb,KAAAA,KAAAyC,QAAAhD,MAAAsB,EAAAqE,iBAAA,SAAA3F,IAAAA,EAAAA,GAAAD,EAAAmD,WAAAZ,EAAAtC,GAAA4F,GAAAjE,aAAA,SAAA5B,EAAAC,GAAA,OAAA,IAAAsB,EAAAf,KAAAR,EAAAC,GAAAuC,WAAAsD,QAAAvD,EAAA/B,aAAAe,ICMA,SAAAwE,gBAIAA,EAAAF,GAAAG,QAAA,SAAA3D,GACA,IAOA4D,EAEAC,EATAC,EAAA,CACAC,eAAA,KACAC,OAAA,MAgBA,OAbAvE,SAAAwE,eAAA,oBAEAL,EAAAnE,SAAAmE,MAAAnE,SAAAyE,qBAAA,QAAA,IAEAL,EAAApE,SAAA0E,cAAA,QACAC,UAAA,oUACAR,EAAAS,YAAAR,EAAAS,WAAA,KAGAtE,GACA0D,EAAAa,OAAAT,EAAA9D,GAGA7B,KAAAqG,KAAA,WACA,IAAAC,EAAA,CACA,kCACA,6BACA,sCACA,oDACA,SACA,SAGAX,EAAAC,gBACAU,EAAA/F,KAAAoF,EAAAC,gBAGA,IAAAW,EAAA,iBAEAZ,EAAAE,SACAU,EAAAA,EAAA,KAAAZ,EAAAE,QAGAW,EAAAjB,EAAAvF,MAAAyG,KAAAH,EAAAI,KAAA,OAEAF,GADAA,EAAAA,EAAAG,IAAA,kBACAA,IAAAJ,IAEAF,KAAA,WACA,IAYAO,EAEAC,EAdAC,EAAAvB,EAAAvF,MACA,EAAA8G,EAAAC,QAAAR,GAAA5F,QAGA,UAAAX,KAAAgH,QAAAC,eAAAH,EAAAI,OAAA,UAAAvG,QAAAmG,EAAAI,OAAA,8BAAAvG,SACAmG,EAAAK,IAAA,WAAAL,EAAAK,IAAA,WAAAC,MAAAN,EAAAO,KAAA,aAAAD,MAAAN,EAAAO,KAAA,YAEAP,EAAAO,KAAA,SAAA,GACAP,EAAAO,KAAA,QAAA,KAIAT,GAFA,WAAA5G,KAAAgH,QAAAC,eAAAH,EAAAO,KAAA,YAAAD,MAAAE,SAAAR,EAAAO,KAAA,UAAA,KAAAC,SAAAR,EAAAO,KAAA,UAAA,IAAAP,EAAAS,WACAH,MAAAE,SAAAR,EAAAO,KAAA,SAAA,KAAAP,EAAAU,QAAAF,SAAAR,EAAAO,KAAA,SAAA,KAEAP,EAAAO,KAAA,UACAR,EAAA,SAAAtB,EAAAF,GAAAG,QAAAiC,OACAX,EAAAO,KAAA,OAAAR,GACAtB,EAAAF,GAAAG,QAAAiC,UAEAX,EAAAY,KAAA,gGAAAR,OAAA,8BAAAC,IAAA,cAAA,IAAAP,EAAA,KACAE,EAAAa,WAAA,UAAAA,WAAA,eAMApC,EAAAF,GAAAG,QAAAiC,OAAA,EAzEA,CA4EA1H,OAAA4C,QAAA5C,OAAA6H,OCxFA,WACA,IAAAC,EAAA9H,OAAA+H,WAAA,sBAEA,MAAAC,EAAAzG,SAAA0G,cAAA,iBACAC,EAAAF,EAAAC,cAAA,QACA,GAAAC,EAAA,CAEA,IAAAC,EAAA5G,SAAA0G,cAAA,iBACAG,EAAAF,EAAAhC,UAEA,GAAA4B,EAAAO,QAAA,CACA,MAAAC,EAAAJ,EAAA1G,iBAAA,MACA8G,EAAArF,QAAA,SAAAsF,EAAAC,GACAD,EAAAE,MAAAC,gBAAA,KAAAF,EAAA,GAAA,MAIA,SAAAG,IACA,IAAAb,EAAAO,QAAA,CACA,MAAAO,EAAA,GAEA,KAAAV,EAAAW,YAAA,GAAAb,EAAAa,aAAA,CACA,IAAAX,EAAAY,iBAIA,OAHAF,EAAAG,QAAAb,EAAAY,kBACAZ,EAAAY,iBAAAE,SAMA,GAAAJ,EAAAhI,OAAA,CAKA,MAAAqI,EAAA1H,SAAA0E,cAAA,UACAgD,EAAAC,aAAA,QAAA,mBACAD,EAAAC,aAAA,aAAA,QACAD,EAAA/C,UAAA,siBAEA,MAAAiD,EAAA5H,SAAA0E,cAAA,OACAkD,EAAAD,aAAA,QAAA,eAEA,IAAAN,EAAAhI,QACAW,SAAA6H,KAAAC,UAAAC,IAAA,oBACAH,EAAAV,MAAAc,iBAAA,UAAAC,KAAAC,KAAAb,EAAAhI,OAAA,GAAA,UAEAW,SAAA6H,KAAAC,UAAAL,OAAA,oBAGAJ,EAAA3F,QAAA,SAAAyG,GACAP,EAAAhD,YAAAuD,KAGAT,EAAA9C,YAAAgD,GACAjB,EAAA/B,YAAA8C,GAEA1H,SAAA6H,KAAAC,UAAAC,IAAA,sBAEAL,EAAApE,iBAAA,QAAA,WACAtD,SAAA6H,KAAAC,UAAAJ,OAAA,sBAGAjJ,OAAA6E,iBAAA,QAAA,SAAApF,IACAwJ,EAAAU,SAAAlK,EAAAmK,SAAArI,SAAA6H,KAAAC,UAAAM,SAAA,qBACApI,SAAA6H,KAAAC,UAAAL,OAAA,2BAlCAzH,SAAA6H,KAAAC,UAAAC,IAAA,uBAuCAjI,aAAA8G,EAAA,WACAQ,MAGA3I,OAAA6E,iBAAA,SAAA,WACA1C,WAAA,WACA+F,EAAAhC,UAAAkC,EACAO,KACA,MA9EA,GCeA,SAAA3I,EAAAuB,GAEA,IAMAsI,EAKAC,EAEAC,EACAC,EAEAC,EACAC,EACAC,EAlBAC,EAAA7I,EAAA0G,cAAA,kBAoBA,SAAAoC,IACA,GAAA,MAAApK,KAAAqK,OAGA,OAFAtK,EAAAoF,oBAAA,SAAAmF,QACAvK,EAAAoF,oBAAA,SAAAoF,GAKAvK,KAAAwK,SAAAjJ,iBAAA,qBACAyB,QAAA,SAAAsF,GAIAsB,EAAA1D,YAAA5E,EAAAmJ,WAAAnC,GAAA,MAIA,IAAAoC,EAAA1K,KAAAwK,SAAAxC,cAAA,kBACA0C,EACAP,EAAAQ,KAAAD,EAAAC,MAEA5K,EAAAoF,oBAAA,SAAAmF,GACAvK,EAAAoF,oBAAA,SAAAoF,IAIAL,EAAA5I,EAAAsJ,gBAAAC,aAEAd,EADAD,GAAA,EAIA,SAAAgB,IAEA,IAYAC,EAZAhB,IAKAC,EAAAC,GAAAC,EAAAL,EACAC,GAAA,GAIAC,GAAA,GAEAgB,EAAA,IAAAhL,EAAAiL,gBACAC,aAAA,WAEAF,EAAAnG,iBAAA,OAAAwF,GAEAW,EAAAG,KAAA,MAAAf,EAAAQ,MACAI,EAAAI,KAAA,QAGA,SAAAC,IACAtB,GAAA/J,EAAAsL,sBAAAP,GACAhB,GAAA,EAGA,SAAAQ,IACAN,EAAAjK,EAAAuL,QACAF,IAGA,SAAAb,IACAN,EAAAlK,EAAAwL,YACArB,EAAA5I,EAAAsJ,gBAAAC,aACAO,KAtFAjB,IAKAP,EAAAtI,EAAA0G,cAAA,iBAQA+B,EADAD,IAFAD,EAAA,KAKAG,EAAAjK,EAAAuL,QACArB,EAAAlK,EAAAwL,YACArB,EAAA5I,EAAAsJ,gBAAAC,aAwEA9K,EAAA6E,iBAAA,SAAA0F,EAAA,CAAAkB,SAAA,IACAzL,EAAA6E,iBAAA,SAAA2F,GAEAa,KA/FA,CAgGArL,OAAAuB","file":"casper.js","sourcesContent":["/*!\r\n * imagesLoaded PACKAGED v4.1.4\r\n * JavaScript is all like \"You images are done yet or what?\"\r\n * MIT License\r\n */\r\n\r\n!function(e,t){\"function\"==typeof define&&define.amd?define(\"ev-emitter/ev-emitter\",t):\"object\"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}(\"undefined\"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o';\r\n head.appendChild(div.childNodes[1]);\r\n }\r\n\r\n if ( options ) {\r\n $.extend( settings, options );\r\n }\r\n\r\n return this.each(function(){\r\n var selectors = [\r\n 'iframe[src*=\"player.vimeo.com\"]',\r\n 'iframe[src*=\"youtube.com\"]',\r\n 'iframe[src*=\"youtube-nocookie.com\"]',\r\n 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\r\n 'object',\r\n 'embed'\r\n ];\r\n\r\n if (settings.customSelector) {\r\n selectors.push(settings.customSelector);\r\n }\r\n\r\n var ignoreList = '.fitvidsignore';\r\n\r\n if(settings.ignore) {\r\n ignoreList = ignoreList + ', ' + settings.ignore;\r\n }\r\n\r\n var $allVideos = $(this).find(selectors.join(','));\r\n $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\r\n $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\r\n\r\n $allVideos.each(function(){\r\n var $this = $(this);\r\n if($this.parents(ignoreList).length > 0) {\r\n return; // Disable FitVids on this video.\r\n }\r\n if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\r\n if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\r\n {\r\n $this.attr('height', 9);\r\n $this.attr('width', 16);\r\n }\r\n var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\r\n width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\r\n aspectRatio = height / width;\r\n if(!$this.attr('name')){\r\n var videoName = 'fitvid' + $.fn.fitVids._count;\r\n $this.attr('name', videoName);\r\n $.fn.fitVids._count++;\r\n }\r\n $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\r\n $this.removeAttr('height').removeAttr('width');\r\n });\r\n });\r\n };\r\n\r\n // Internal counter for unique video names.\r\n $.fn.fitVids._count = 0;\r\n\r\n// Works with either jQuery or Zepto\r\n})( window.jQuery || window.Zepto );\r\n","(function () {\r\n const mediaQuery = window.matchMedia('(max-width: 991px)');\r\n\r\n const menu = document.querySelector('.gh-head-menu');\r\n const nav = menu.querySelector('.nav');\r\n if (!nav) return;\r\n\r\n const logo = document.querySelector('.gh-head-logo');\r\n const navHTML = nav.innerHTML;\r\n\r\n if (mediaQuery.matches) {\r\n const items = nav.querySelectorAll('li');\r\n items.forEach(function (item, index) {\r\n item.style.transitionDelay = 0.03 * (index + 1) + 's';\r\n });\r\n }\r\n\r\n const makeDropdown = function () {\r\n if (mediaQuery.matches) return;\r\n const submenuItems = [];\r\n\r\n while ((nav.offsetWidth + 64) > menu.offsetWidth) {\r\n if (nav.lastElementChild) {\r\n submenuItems.unshift(nav.lastElementChild);\r\n nav.lastElementChild.remove();\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n if (!submenuItems.length) {\r\n document.body.classList.add('is-dropdown-loaded');\r\n return;\r\n }\r\n\r\n const toggle = document.createElement('button');\r\n toggle.setAttribute('class', 'nav-more-toggle');\r\n toggle.setAttribute('aria-label', 'More');\r\n toggle.innerHTML = '';\r\n\r\n const wrapper = document.createElement('div');\r\n wrapper.setAttribute('class', 'gh-dropdown');\r\n\r\n if (submenuItems.length >= 10) {\r\n document.body.classList.add('is-dropdown-mega');\r\n wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';\r\n } else {\r\n document.body.classList.remove('is-dropdown-mega');\r\n }\r\n\r\n submenuItems.forEach(function (child) {\r\n wrapper.appendChild(child);\r\n });\r\n\r\n toggle.appendChild(wrapper);\r\n nav.appendChild(toggle);\r\n\r\n document.body.classList.add('is-dropdown-loaded');\r\n\r\n toggle.addEventListener('click', function () {\r\n document.body.classList.toggle('is-dropdown-open');\r\n });\r\n\r\n window.addEventListener('click', function (e) {\r\n if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {\r\n document.body.classList.remove('is-dropdown-open');\r\n }\r\n });\r\n }\r\n\r\n imagesLoaded(logo, function () {\r\n makeDropdown();\r\n });\r\n\r\n window.addEventListener('resize', function () {\r\n setTimeout(function () {\r\n nav.innerHTML = navHTML;\r\n makeDropdown();\r\n }, 1);\r\n });\r\n})();\r\n","/* eslint-env browser */\r\n\r\n/**\r\n * Infinite Scroll\r\n * Used on all pages where there is a list of posts (homepage, tag index, etc).\r\n *\r\n * When the page is scrolled to 300px from the bottom, the next page of posts\r\n * is fetched by following the the that is output\r\n * by {{ghost_head}}.\r\n *\r\n * The individual post items are extracted from the fetched pages by looking for\r\n * a wrapper element with the class \"post-card\". Any found elements are appended\r\n * to the element with the class \"post-feed\" in the currently viewed page.\r\n */\r\n\r\n(function (window, document) {\r\n // next link element\r\n var nextElement = document.querySelector('link[rel=next]');\r\n if (!nextElement) {\r\n return;\r\n }\r\n\r\n // post feed element\r\n var feedElement = document.querySelector('.post-feed');\r\n if (!feedElement) {\r\n return;\r\n }\r\n\r\n var buffer = 300;\r\n\r\n var ticking = false;\r\n var loading = false;\r\n\r\n var lastScrollY = window.scrollY;\r\n var lastWindowHeight = window.innerHeight;\r\n var lastDocumentHeight = document.documentElement.scrollHeight;\r\n\r\n function onPageLoad() {\r\n if (this.status === 404) {\r\n window.removeEventListener('scroll', onScroll);\r\n window.removeEventListener('resize', onResize);\r\n return;\r\n }\r\n\r\n // append contents\r\n var postElements = this.response.querySelectorAll('article.post-card');\r\n postElements.forEach(function (item) {\r\n // document.importNode is important, without it the item's owner\r\n // document will be different which can break resizing of\r\n // `object-fit: cover` images in Safari\r\n feedElement.appendChild(document.importNode(item, true));\r\n });\r\n\r\n // set next link\r\n var resNextElement = this.response.querySelector('link[rel=next]');\r\n if (resNextElement) {\r\n nextElement.href = resNextElement.href;\r\n } else {\r\n window.removeEventListener('scroll', onScroll);\r\n window.removeEventListener('resize', onResize);\r\n }\r\n\r\n // sync status\r\n lastDocumentHeight = document.documentElement.scrollHeight;\r\n ticking = false;\r\n loading = false;\r\n }\r\n\r\n function onUpdate() {\r\n // return if already loading\r\n if (loading) {\r\n return;\r\n }\r\n\r\n // return if not scroll to the bottom\r\n if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {\r\n ticking = false;\r\n return;\r\n }\r\n\r\n loading = true;\r\n\r\n var xhr = new window.XMLHttpRequest();\r\n xhr.responseType = 'document';\r\n\r\n xhr.addEventListener('load', onPageLoad);\r\n\r\n xhr.open('GET', nextElement.href);\r\n xhr.send(null);\r\n }\r\n\r\n function requestTick() {\r\n ticking || window.requestAnimationFrame(onUpdate);\r\n ticking = true;\r\n }\r\n\r\n function onScroll() {\r\n lastScrollY = window.scrollY;\r\n requestTick();\r\n }\r\n\r\n function onResize() {\r\n lastWindowHeight = window.innerHeight;\r\n lastDocumentHeight = document.documentElement.scrollHeight;\r\n requestTick();\r\n }\r\n\r\n window.addEventListener('scroll', onScroll, {passive: true});\r\n window.addEventListener('resize', onResize);\r\n\r\n requestTick();\r\n})(window, document);\r\n"]} diff --git a/assets/built/global.css b/assets/built/global.css old mode 100644 new mode 100755 diff --git a/assets/built/global.css.map b/assets/built/global.css.map old mode 100644 new mode 100755 diff --git a/assets/built/screen.css b/assets/built/screen.css old mode 100644 new mode 100755 index c2a7ba1..3bd6118 --- a/assets/built/screen.css +++ b/assets/built/screen.css @@ -1,2 +1,2 @@ -a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;height:auto;max-width:100%}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;box-sizing:border-box;font-family:sans-serif}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{font-size:2em;margin:.67em 0}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}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25);font-family:var(--font-mono);font-size:1.5rem;padding:3px 5px}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{border:none;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:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:62.5%}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;background:#fff;color:var(--color-darkgrey);font-family:var(--font-sans);font-size:1.6rem;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.6em}::-moz-selection{background:#daf2fd;text-shadow:none}::selection{background:#daf2fd;text-shadow:none}hr{border:0;border-top:1px solid #f0f0f0;display:block;height:1px;margin:2.5em 0 3.5em;padding:0;position:relative;width:100%}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0 1em}ul{list-style:disc}ol{list-style:decimal}ol,ul{max-width:100%}li{line-height:1.6em;padding-left:.3em}li+li{margin-top:.5em}dt{color:#daf2fd;float:left;font-weight:500;margin:0 20px 0 0;text-align:right;width:120px}dd{margin:0 0 5px;text-align:left}blockquote{border-left:#daf2fd;margin:1.5em 0;padding:0 1.6em}blockquote small{display:inline-block;font-size:.9em;margin:.8em 0 .8em 1.5em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;font-weight:600;letter-spacing:-.01em;line-height:1.15;margin-top:0}h1{font-size:4.8rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .5em}@media (max-width:600px){h1{font-size:2.8rem}}h2{font-size:2.8rem;font-weight:700;margin:1.5em 0 .5em}@media (max-width:600px){h2{font-size:2.3rem}}h3{font-size:2.4rem;font-weight:600;margin:1.5em 0 .5em}@media (max-width:600px){h3{font-size:1.7rem}}h4{font-size:2rem;margin:1.5em 0 .5em}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}.post-tag-content{margin:0 auto;max-width:1200px;padding:max(8vmin,40px) max(4vmin,20px) max(8vmin,64px);position:relative;width:100%}.post-tag-grid{-moz-column-gap:30px;column-gap:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);row-gap:30px}@media screen and (max-width:1080px){.post-tag-grid{-moz-column-gap:30px;column-gap:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:30px}}@media (max-width:767px){.site-footer .post-tag-content{grid-gap:0;grid-template-columns:1fr;max-width:500px;text-align:center}.site-footer .copyright,.site-footer .copyright a{color:#fff;font-size:1.5rem}.site-footer .copyright{margin-bottom:16px}}@media screen and (max-width:700px){.post-tag-grid{-moz-column-gap:30px;column-gap:30px;display:grid;grid-template-columns:minmax(0,1fr);row-gap:30px}}.post-tag-grid-item{overflow:hidden;text-align:center}.post-tag-grid-item-svg{height:180px;width:320px}.post-tag-grid-item-svg-first{fill:var(--ghost-accent-color);height:180px;width:80px}.post-tag-grid-item-svg-first-obj{x:0;y:80;height:28px;width:80px}.post-tag-grid-item-svg-first-obj-text{color:#fff;font-size:32px}.post-tag-grid-item-svg-second,.post-tag-grid-item-svg-second-obj{x:80;y:0;height:180px;width:240px}.post-tag-grid-item-svg-second-obj-inner{padding:max(.5vmin,2px)}.post-tag-grid-item-svg-second{fill:#000}.post-tag-grid-item-svg-second-obj,.post-tag-grid-item-svg-second-obj-description{color:#fff}.post-tag-grid-item h2{font-size:28px;margin:.3em 0;position:relative;text-align:center;text-transform:uppercase}.post-tag-grid-item-subtext:after,.post-tag-grid-item-subtext:before{background:#000;content:" ";flex:1;height:1px}.post-tag-grid-item-subtext:after{margin-left:5px}.post-tag-grid-item-subtext:before{margin-right:5px}.post-tags{margin:1.2em 0 -1em}.post-tags a{border-bottom:none!important;font-size:small;margin:0 1% 0 0}.post-tags a .post-tag-title:before{content:"#"}.post-tags a .post-tag-title{margin-top:2%}.post-tags a .post-tag-title:hover{background-color:var(--color-background-hover);color:var(--ghost-main-color)!important}@media screen and (max-width:980px){article .post-tags a .post-tag-title{margin-top:2%}}.post-tags .post-tags-box-label{color:--color-content-light;font-size:1rem;font-weight:600;line-height:1em;text-transform:uppercase}.article-share{margin:6vmin 0 0}.article-share ul{list-style:none;padding-left:0}.article-share li{display:inline;padding-left:0}.article-share li+li{padding-left:.3em}a.social-share-link svg{height:32px;width:32px}.post-card-title-custom{text-transform:uppercase}:root{--color-green:#a4d037;--color-yellow:#fecd35;--color-red:#f05230;--color-darkgrey:#15171a;--color-midgrey:#738a94;--color-lightgrey:#f1f1f1;--color-secondary-text:#979797;--color-border:#e1e1e1;--color-wash:#e5eff5;--color-darkmode:#151719;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-serif:Georgia,Times,serif;--font-mono:Menlo,Courier,monospace}.viewport{display:flex;flex-direction:column;min-height:100vh}.site-content{flex-grow:1}.outer{padding:0 max(4vmin,20px);position:relative}.inner{margin:0 auto;max-width:1200px;width:100%}.site-header{background:var(--ghost-accent-color);color:#fff;position:relative}.site-header-cover{bottom:0;height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;right:0;top:0;width:100%}.site-header-content{align-items:center;color:var(--color-darkgrey);display:flex;padding-bottom:19vmin;padding-top:calc(19vmin + 44px);position:relative;text-align:center;z-index:100}.has-cover .site-header-content{background-color:var(--ghost-accent-color);color:#fff;min-height:560px}.site-header-content.left-aligned{padding-bottom:0;text-align:left}.has-cover .site-header-content.left-aligned{align-items:flex-end;padding-bottom:max(4vmin,32px)}.site-header-content.no-content{padding-bottom:2vmin;padding-top:0}.site-header-inner{position:relative}.site-header-content.left-aligned .site-header-inner{align-items:flex-start}.site-logo{flex-shrink:0;margin:0 auto;max-height:120px}.site-header-content.left-aligned .site-logo{margin-left:0;margin-right:auto;max-height:96px}.site-title{font-size:5rem;font-weight:800;margin:0;padding:0;z-index:10}.has-serif-title .site-title{font-family:var(--font-serif)}.has-cover .site-title{font-size:6rem}.site-header-content.left-aligned .site-title{font-size:4.4rem}.has-cover .site-header-content.left-aligned .site-title{font-size:4.6rem}.site-description{display:inline-block;font-size:6rem;font-weight:700;line-height:1.1;max-width:960px;z-index:10}:is(.site-logo,.site-title)+.site-description{font-size:2.4rem;font-weight:400;line-height:1.4;margin-top:16px;max-width:640px}.site-logo+.site-description{margin-top:20px}.site-title+.site-description{color:var(--color-secondary-text)}.has-cover .site-description{color:#fff;letter-spacing:-.005em}.has-cover :is(.site-logo,.site-title)+.site-description{font-size:2.4rem}.has-cover .site-header-content.left-aligned :is(.site-logo,.site-title)+.site-description{font-size:2.2rem}@media (min-width:992px){.is-head-stacked.has-cover .site-header-content{padding-top:calc(19vmin + 120px)}}@media (max-width:991px){.site-header-content{padding-top:calc(19vmin + 32px)}}@media (max-width:767px){.has-cover .site-header-content{min-height:240px}.site-header-inner{gap:16px}.site-logo{max-width:60%}.site-title{font-size:3.4rem!important}.site-description{font-size:2.8rem!important}.site-logo+.site-description{margin-top:12px!important}.site-title+.site-description{margin-top:4px!important}}.gh-head{background-color:#fff;font-size:1.6rem;height:88px;line-height:1.3em}.has-cover:not(.home-template) .gh-head{background-color:var(--ghost-accent-color);color:#fff}.home-template.has-cover .gh-head{background-color:transparent;color:#fff;left:0;position:absolute;right:0;top:0;z-index:2000}.gh-head a{text-decoration:none}.gh-head-inner{align-items:center;-moz-column-gap:40px;column-gap:40px;display:grid;grid-auto-flow:row dense;height:100%}.gh-head-inner,.is-head-left-logo .gh-head-inner{grid-template-columns:auto 1fr auto}.is-head-left-logo.home-template .gh-head-logo{display:none}.is-head-left-logo.home-template .gh-head-menu{margin-left:-40px}@media (min-width:992px){.is-head-left-logo .gh-head-menu{margin-left:16px;margin-right:32px}}.is-head-middle-logo .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-middle-logo .gh-head-brand{grid-column-start:2}@media (min-width:992px){.is-head-middle-logo .gh-head-menu{margin-right:64px}}.is-head-stacked .gh-head{height:auto}.is-head-stacked .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-stacked .gh-head-brand{grid-column-start:2;grid-row-start:1}@media (min-width:992px){.is-head-stacked .gh-head-inner{padding:0}.is-head-stacked .gh-head-brand{align-items:center;display:flex;height:80px;position:relative}.is-head-stacked .gh-head-menu{grid-column:1/4;grid-row-start:2;height:56px;justify-content:center;margin:0 48px}.is-head-stacked .gh-head-menu:after,.is-head-stacked .gh-head-menu:before{background-color:var(--color-lightgrey);content:"";height:1px;left:0;position:absolute;top:80px;width:100%}.is-head-stacked.has-cover .gh-head-menu:after,.is-head-stacked.has-cover .gh-head-menu:before{background-color:hsla(0,0%,100%,.2)}.is-head-stacked .gh-head-menu:after{top:136px}.is-head-stacked .gh-head-actions{grid-column:1/4;grid-row-start:1;justify-content:space-between}}.gh-head-brand{align-items:center;display:flex;height:40px;word-break:break-all}.gh-head-logo{color:inherit;display:block;font-size:2.6rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.gh-head-logo.no-image{margin-top:-2px}.has-cover .gh-head-logo{color:#fff}.gh-head-logo img{max-height:40px}.gh-head-menu{align-items:center;display:flex;font-weight:500;margin-top:1px}.gh-head-menu .nav{align-items:center;display:inline-flex;flex-wrap:wrap;gap:32px;list-style:none;margin:0;padding:0}.gh-head-menu .nav li{margin:0;padding:0}.gh-head-menu .nav a{color:inherit;display:inline-block;line-height:1.7}.gh-head-menu .nav a:hover{opacity:.9}.gh-head-menu .nav-more-toggle{background-color:transparent;font-size:inherit;height:30px;margin:0 -6px;padding:0;position:relative;text-transform:inherit;width:30px}.gh-head-menu .nav-more-toggle svg{height:24px;width:24px}@media (min-width:992px){body:not(.is-dropdown-loaded) .gh-head-menu .nav>li{opacity:0}}.gh-dropdown{background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 7px 20px -5px rgba(0,0,0,.15);margin-top:24px;opacity:0;padding:12px 0;position:absolute;right:-16px;text-align:left;top:100%;transform:translate3d(0,6px,0);transition:opacity .3s,transform .2s;visibility:hidden;width:200px;z-index:90}.is-head-middle-logo .gh-dropdown{left:-24px;right:auto}.is-dropdown-mega .gh-dropdown{-moz-column-gap:40px;column-gap:40px;display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr;min-width:320px;padding:20px 32px}.is-dropdown-open .gh-dropdown{opacity:1;transform:translateY(0);visibility:visible}.gh-head-menu .gh-dropdown li a{color:#15171a;display:block;padding:6px 20px}.is-dropdown-mega .gh-dropdown li a{padding:8px 0}.gh-social{align-items:center;display:flex;gap:20px}.gh-social-link{color:inherit;line-height:0}.gh-social-link:hover{opacity:.9}.gh-social-link svg{height:18px;width:18px}.gh-head-actions{align-items:center;display:flex;gap:24px;justify-content:flex-end;list-style:none;text-align:right}.gh-head-button{align-items:center;background:var(--ghost-accent-color);border-radius:48px;color:#fff;display:inline-flex;font-size:1.6rem;font-weight:600;height:44px;justify-content:center;letter-spacing:-.005em;padding:8px 20px}.has-cover .gh-head-button{background:#fff;color:var(--color-darkgrey)}.gh-search{align-items:center;background-color:transparent;border:0;cursor:pointer;display:inline-flex;height:32px;justify-content:center;outline:none;padding:0;width:32px}.gh-search:hover{opacity:.9}.gh-head-brand .gh-search{margin-right:8px}.gh-head-actions .gh-search{margin-right:-4px}@media (max-width:991px){.gh-head-actions .gh-search{display:none}}@media (min-width:992px){.gh-head-brand .gh-search{display:none}}.gh-burger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;cursor:pointer;display:none;height:30px;margin-right:-3px;padding:0;position:relative;width:30px}.gh-burger:after,.gh-burger:before{background-color:var(--color-darkgrey);content:"";height:1px;left:3px;position:absolute;transition:all .2s cubic-bezier(.04,.04,.12,.96) .1008s;width:24px}.has-cover .gh-burger:after,.has-cover .gh-burger:before{background-color:#fff}.gh-burger:before{top:11px}.gh-burger:after{bottom:11px}.gh-head-open .gh-burger:before{top:15px;transform:rotate(45deg)}.gh-head-open .gh-burger:after{bottom:14px;transform:rotate(-45deg)}@media (max-width:991px){#gh-head{height:64px}#gh-head .gh-head-inner{gap:48px;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}#gh-head .gh-head-brand{align-items:center;display:grid;grid-column-start:1;grid-template-columns:1fr auto auto;height:64px}#gh-head .gh-head-logo{font-size:2.2rem}#gh-head .gh-head-brand .gh-search{margin-left:-6px}#gh-head .gh-burger{display:block}#gh-head .gh-head-actions,#gh-head .gh-head-menu{justify-content:center;opacity:0;position:fixed;visibility:hidden}#gh-head .gh-head-menu{margin:0;transform:translateY(0);transition:none}#gh-head .nav{align-items:center;gap:16px;line-height:1.4}#gh-head .nav a{font-size:2.6rem;font-weight:600;text-transform:none}#gh-head .nav li{opacity:0;transform:translateY(-4px)}#gh-head .gh-head-button{font-size:1.8rem;opacity:0;text-transform:none;transform:translateY(8px);width:100%}.gh-head-open #gh-head{-webkit-overflow-scrolling:touch;height:100vh;left:0;overflow-y:scroll;position:fixed;right:0;z-index:3999999}.gh-head-open.has-cover #gh-head,.gh-head-open.has-cover #gh-head .gh-head-actions{background-color:var(--ghost-accent-color)}.gh-head-open #gh-head .gh-head-actions,.gh-head-open #gh-head .gh-head-menu{opacity:1;position:static;visibility:visible}.gh-head-open #gh-head .nav{display:flex;flex-direction:column}.gh-head-open #gh-head .nav li{opacity:1;transform:translateY(0);transition:transform .2s,opacity .2s}.gh-head-open #gh-head .gh-head-actions{align-items:center;background-color:#fff;bottom:0;display:inline-flex;flex-direction:column;gap:12px;left:0;padding:max(4vmin,20px) 0;position:-webkit-sticky;position:sticky;right:0}.gh-head-open #gh-head .gh-head-button{opacity:1;transform:translateY(0);transition:transform .4s,opacity .4s;transition-delay:.2s}}.post-feed{display:grid;gap:4.8vmin 4vmin;grid-template-columns:repeat(6,1fr);padding:max(4.8vmin,36px) 0 0;position:relative}:is(.tag-template,.author-template) .post-feed{margin-top:4vmin}@media (max-width:991px){.post-feed{grid-template-columns:1fr 1fr}}@media (max-width:767px){.post-feed{grid-gap:40px;grid-template-columns:1fr}}.post-card{background-size:cover;display:flex;flex-direction:column;grid-column:span 2;position:relative;word-break:break-word}.post-card-image-link{display:block;margin-bottom:32px;overflow:hidden;position:relative}.post-card-image-link:after{content:"";display:block;padding-bottom:55%}.post-card[class*=post-access-] .post-card-image-link:after{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:rgba(0,0,0,.5)}.post-card.keep-ratio[class*=post-access-] .post-card-image-link:after{inset:0;padding-bottom:0;position:absolute}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link:after{padding-bottom:0}.post-card-image{background:var(--color-lightgrey) no-repeat center center;height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image{position:static}.post-card-access{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:600;gap:4px;inset:0;justify-content:center;position:absolute;z-index:10}.post-card-content-link{color:var(--color-darkgrey);display:block;position:relative}.post-card-content-link:hover{text-decoration:none}.post-feed .no-image .post-card-content-link{padding:0}.no-image .post-card-header{margin-top:0}.post-card-tags{align-items:center;color:var(--color-secondary-text);display:flex;font-size:1.4rem;font-weight:600;gap:12px;letter-spacing:-.005em;line-height:1;margin:0 0 10px}.post-card-featured{align-items:center;color:var(--ghost-accent-color);display:flex;gap:3px;padding-left:18px;position:relative}.post-card-featured svg{left:0;position:absolute}.post-card-title{font-size:2.6rem;font-weight:800;line-height:1.2;margin:0}.post-card-content-link:hover .post-card-title{opacity:.9}.no-image .post-card-title{margin-top:0}.has-serif-title .post-card-title{font-family:var(--font-serif);letter-spacing:-.005em}.post-card-title svg{margin-left:-1px;margin-top:-3px}.post-card-content{display:flex;flex-direction:column;flex-grow:1}.post-card-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;font-size:1.6rem;line-height:1.5;margin-top:12px;max-width:720px;overflow-y:hidden;word-break:break-word}.has-sans-body .post-card-excerpt{font-family:var(--font-sans)}.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt{-webkit-line-clamp:2}:is(.tag-template,.author-template) .post-card-excerpt{margin-top:6px}.post-card-meta{color:var(--color-secondary-text);font-size:1.3rem;margin-top:12px;padding:0}.post-card-meta,.post-card-meta>*{align-items:center;display:flex;gap:6px}.post-card-meta>*+:not(script):before{background-color:var(--color-secondary-text);border-radius:50%;content:"";height:2px;width:2px}.post-card-meta .sep{margin:0 4px}.author-profile-image{background:#fff;border-radius:100%;display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.author-list{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 0 4px;padding:0}.author-list-item{flex-shrink:0;margin:0;padding:0;position:relative}@media (min-width:1001px){.post-card-large{grid-gap:4vmin;border-top:0;display:grid;grid-column:span 6;grid-template-columns:repeat(3,1fr)}.post-card-large:not(.no-image) .post-card-header{margin-top:0}.post-card-large .post-card-image-link{grid-column:span 2;margin-bottom:0;position:relative}.post-card-large .post-card-content{grid-column:span 1}.post-card-large.no-image .post-card-content{grid-column:span 2}.post-card-large .post-card-image{height:100%;position:absolute;width:100%}.post-card-large .post-card-tags{margin-bottom:12px}.post-card-large .post-card-title{font-size:4.4rem;line-height:1.05;margin-top:0}.post-card-large .post-card-excerpt{margin-top:16px}.post-card-full{grid-column:span 6}.post-card-full .post-card-image-link{margin-bottom:40px}.post-card-full .post-card-tags{margin-bottom:14px}.post-card-full .post-card-title{font-size:6.4rem;line-height:.95}.post-card-full .post-card-excerpt{font-size:1.8rem;margin-top:20px}.post-card-large+.post-card-large:nth-child(2n){margin:32px 0}.post-card-large+.post-card-large:nth-child(2n) .post-card-content{order:-1}.post-card.dynamic{grid-column:span 3}.post-card.dynamic .post-card-title{font-size:3rem}}.article{padding:max(8vmin,40px) 0 max(8vmin,64px);word-break:break-word}.page-template .article{padding-top:max(12vmin,64px)}.article-header{padding:0 0 max(6.4vmin,40px)}.page-template .article-header{padding-bottom:max(3.2vmin,28px)}.article-tag{font-size:1.6rem;margin-bottom:16px}.article-tag a{color:var(--color-secondary-text)}.article-title{color:var(--color-darkgrey);font-size:clamp(3.2rem,5vw,5.2rem);font-weight:800;line-height:1.05;margin-bottom:0}.has-serif-title .article-title{font-family:var(--font-serif)}.article-excerpt{color:var(--color-darkgrey);font-size:2rem;line-height:1.45;margin-top:20px;max-width:720px}.gh-canvas .article-image{grid-column:wide-start/wide-end;margin:max(6.4vmin,40px) 0 0;width:100%}.image-full .article-image{grid-column:full-start/full-end}.image-small .article-image{grid-column:main-start/main-end}.gh-canvas .article-image img{display:block;margin-left:auto;margin-right:auto;width:100%}@media (max-width:767px){.article-excerpt{font-size:1.7rem;margin-top:14px}}.gh-canvas{display:grid;grid-template-columns:[full-start] minmax(max(4vmin,20px),auto) [wide-start] minmax(auto,240px) [main-start] min(720px,calc(100% - max(8vmin, 40px))) [main-end] minmax(auto,240px) [wide-end] minmax(max(4vmin,20px),auto) [full-end]}.gh-canvas>*{grid-column:main-start/main-end}.kg-width-wide{grid-column:wide-start/wide-end}.kg-width-full{grid-column:full-start/full-end}.kg-width-full img{width:100%}.gh-content>*+*{margin-bottom:0;margin-top:max(3.2vmin,24px)}.gh-content>[id]{color:var(--color-darkgrey);margin:0}.has-serif-title .gh-content>[id]{font-family:var(--font-serif)}.gh-content>[id]:not(:first-child){margin:2em 0 0}.gh-content>[id]+*{margin-top:1.5rem!important}.gh-content>blockquote,.gh-content>hr{margin-top:max(4.8vmin,32px);position:relative}.gh-content>blockquote+*,.gh-content>hr+*{margin-top:max(4.8vmin,32px)!important}.gh-content a{color:var(--ghost-accent-color);text-decoration:underline;word-break:break-word}.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-family:var(--font-serif);font-size:2rem;font-weight:400;line-height:1.6em}.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul{font-family:var(--font-serif);font-size:1.9rem;font-weight:400;line-height:1.6em}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.7rem;line-height:1.6em}.gh-content .kg-callout-card .kg-callout-emoji{font-size:2.1rem;line-height:1.4em}.gh-content .kg-toggle-card .kg-toggle-heading-text{font-size:2rem}.has-sans-body .gh-content .kg-callout-card .kg-callout-text,.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content>ol,.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content>p,.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content>ul,.has-sans-body .gh-content>blockquote,.has-sans-body .gh-content>dl,.has-sans-body .gh-content>ol,.has-sans-body .gh-content>p,.has-sans-body .gh-content>ul{font-family:var(--font-sans)}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>ul,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>dl,.gh-content>ol,.gh-content>ul{padding-left:1.9em}.gh-content>blockquote:not([class]){font-style:italic;padding:0;position:relative}.gh-content>blockquote:not([class]):before{background:var(--ghost-accent-color);bottom:0;content:"";left:-1.5em;position:absolute;top:0;width:.3rem}.gh-content :not(pre)>code{background:#f0f6f9;border:1px solid #e1eaef;border-radius:.25em;color:#15171a;font-size:.9em;font-weight:400!important;line-height:1em;padding:.15em .4em;vertical-align:middle}.gh-content pre{background:var(--color-darkgrey);border-radius:5px;box-shadow:0 2px 6px -2px rgba(0,0,0,.1),0 0 1px rgba(0,0,0,.4);color:var(--color-wash);font-size:1.4rem;line-height:1.5em;overflow:auto;padding:16px 20px}@media (max-width:650px){.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-size:1.8rem}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.6rem}.gh-content blockquote:not([class]):before{left:min(-4vmin,-20px)}}.gh-content .kg-card+:not(.kg-card),.gh-content :not(.kg-card):not([id])+.kg-card{margin-bottom:0;margin-top:6vmin}.kg-embed-card{align-items:center;display:flex;flex-direction:column;width:100%}.kg-image-card img{margin:auto}.has-serif-title .kg-toggle-card .kg-toggle-heading-text{font-family:var(--font-serif)}.gh-content .kg-callout-card-accent a{text-decoration:underline}.kg-blockquote-alt{color:var(--color-midgrey);font-family:var(--font-serif)}.has-sans-body .kg-blockquote-alt{font-family:var(--font-sans)}.kg-card.kg-header-card.kg-style-dark{background:var(--color-darkgrey)}.kg-header-card.kg-style-light h2.kg-header-card-header{color:#0a0b0c}.has-serif-title .kg-header-card h2.kg-header-card-header{font-family:var(--font-serif)}figcaption{color:rgba(0,0,0,.5);font-size:1.3rem;line-height:1.4em;padding:1.5rem 1.5rem 0;text-align:center}figcaption strong{color:rgba(0,0,0,.8)}figcaption a{text-decoration:underline}iframe.instagram-media{margin:6vmin auto 0!important}iframe.instagram-media+script+:not([id]){margin-top:6vmin}.kg-width-full.kg-card-hascaption{display:grid;grid-template-columns:inherit}.kg-width-wide.kg-card-hascaption img{grid-column:wide-start/wide-end}.kg-width-full.kg-card-hascaption img{grid-column:1/-1}.kg-width-full.kg-card-hascaption figcaption{grid-column:main-start/main-end}.article-comments{margin:6vmin 0 0}.footnotes-sep{margin-bottom:30px}.footnotes{font-size:1.5rem}.footnotes p{margin:0}.footnote-backref{box-shadow:none!important;font-size:1.2rem;font-weight:700;text-decoration:none!important}.gh-content table:not(.gist table){-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse at left,rgba(0,0,0,.2) 0,transparent 75%) 0,radial-gradient(ellipse at right,rgba(0,0,0,.2) 0,transparent 75%) 100%;background-attachment:scroll,scroll;background-repeat:no-repeat;background-size:10px 100%,10px 100%;border-collapse:collapse;border-spacing:0;display:inline-block;font-family:var(--font-sans);font-size:1.6rem;max-width:100%;overflow-x:auto;vertical-align:top;white-space:nowrap;width:auto}.gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(90deg,#fff 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:20px 100%}.gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(270deg,#fff 50%,hsla(0,0%,100%,0));background-position:100% 0;background-repeat:no-repeat;background-size:20px 100%}.gh-content table:not(.gist table) th{background-color:#f4f8fb;color:var(--color-darkgrey);font-size:1.2rem;font-weight:700;letter-spacing:.2px;text-align:left;text-transform:uppercase}.gh-content table:not(.gist table) td,.gh-content table:not(.gist table) th{border:1px solid #e2ecf3;padding:6px 12px}.article-byline{display:flex;justify-content:space-between;margin:min(24px,5.6vmin) 0 0}.article-byline-content{align-items:center;display:flex;flex-grow:1}.article-byline-content .author-list{justify-content:flex-start;padding:0 14px 0 0}.article-byline-meta{color:var(--color-secondary-text);font-size:1.4rem;line-height:1.2em}.article-byline-meta .author-name{font-size:1.7rem;font-weight:700;letter-spacing:0;margin:0 0 6px}.article-byline-meta .bull{display:inline-block;margin:0 2px}.author-avatar{background-color:var(--color-border);border:2px solid #fff;border-radius:50%;display:block;height:min(56px,13.6vmin);margin:0 -4px;overflow:hidden;width:min(56px,13.6vmin)}.page-template .article-title{margin-bottom:0}@media (max-width:767px){.article-byline-content .author-list{padding-right:12px}.article-byline-meta .author-name{margin-bottom:4px}}.footer-cta{position:relative;text-align:center}.footer-cta-title{font-size:clamp(2.6rem,5vw,3.8rem);font-weight:800;margin:0 0 min(24px,6.4vmin)}.has-serif-title .footer-cta-title{font-family:var(--font-serif)}.footer-cta-button{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-secondary-text);display:inline-flex;font-size:1.7rem;justify-content:space-between;max-width:500px;padding:5px 5px 5px 15px;position:relative;transition:border-color .2s;width:100%}.footer-cta-button:hover{border-color:#c2c2c2}.footer-cta-button span{background:var(--ghost-accent-color);border-radius:6px;color:#fff;display:inline-block;font-size:1.6rem;font-weight:600;letter-spacing:-.005em;padding:9px 15px}.read-more-wrap{margin-top:2.4vmin}.footer-cta+.read-more-wrap{margin-top:max(12vmin,72px)}.read-more{grid-gap:4vmin;display:grid;grid-template-columns:repeat(6,1fr)}.read-more .post-card-tags{display:none}@media (max-width:1000px){.read-more{grid-template-columns:repeat(4,1fr)}.read-more .post-card:nth-child(3){display:none}}@media (max-width:700px){.read-more{grid-template-columns:repeat(2,1fr)}.read-more .post-card:nth-child(2){display:none}}.comments{align-items:center;display:flex;flex-direction:column;margin:60px 0 44px}.comments-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:32px;max-width:720px;width:100%}.comments h2{font-size:3.4rem;font-weight:800;max-width:720px;width:100%}.comments .comment-count{color:var(--color-midgrey);font-weight:600;white-space:nowrap}.comments #ghost-comments-root{max-width:720px;width:100%}.author-profile-pic{background:#fff;border-radius:50%;display:block;height:80px;margin:0 0 2rem;-o-object-fit:cover;object-fit:cover;width:80px}.author-profile-footer{margin-top:16px}.author-profile-location{font-weight:700}.author-profile-meta{display:flex;gap:10px}.author-profile-social-link{color:var(--color-secondary-text);font-size:1.3rem}.author-profile-social-link:hover{color:var(--color-darkgrey)}.author-profile-social-link svg{height:16px;width:16px}@media (min-width:1001px){.author-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.tag-template .post-card-large .post-card-image-link{grid-column:2/span 2;order:2}.tag-template .post-card-large .post-card-content{order:1}@media (min-width:1001px){.tag-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.error-content{padding:14vw 4vw 2vw}.error-message{padding-bottom:10vw;text-align:center}.error-code{font-size:12vw;letter-spacing:-5px;line-height:1em;margin:0}.error-description{color:var(--color-secondary-text);font-size:3.2rem;font-weight:400;letter-spacing:-.005em;line-height:1.3em;margin:0}.error-link{display:inline-block;margin-top:5px}@media (min-width:940px){.error-content .post-card{border-bottom:none;margin-bottom:0;padding-bottom:0}}@media (max-width:800px){.error-content{padding-top:24vw}.error-code{font-size:11.2rem}.error-message{padding-bottom:16vw}.error-description{font-size:1.8rem;margin:5px 0 0}}@media (max-width:500px){.error-content{padding-top:28vw}.error-message{padding-bottom:14vw}}.site-footer{background:#0a0b0c;color:#fff;margin:max(12vmin,64px) 0 0;padding-bottom:140px;padding-top:48px;position:relative}.site-footer .inner{grid-gap:40px;color:hsla(0,0%,100%,.7);display:grid;font-size:1.3rem;grid-template-columns:auto 1fr auto}.site-footer .copyright a{color:#fff;font-weight:500;letter-spacing:-.015em}.site-footer a{color:hsla(0,0%,100%,.7)}.site-footer a:hover{color:#fff;text-decoration:none}.site-footer-nav ul{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:0 0 20px;padding:0}.site-footer-nav li{align-items:center;display:inline-flex;line-height:2em;margin:0;padding:0}.site-footer-nav a{align-items:center;display:inline-flex;margin-left:10px;position:relative}.site-footer-nav li:not(:first-child) a:before{background:#fff;border-radius:100%;content:"";display:block;height:2px;margin:0 10px 0 0;width:2px}@media (max-width:767px){.site-footer .inner{grid-gap:0;grid-template-columns:1fr;max-width:500px;text-align:center}.site-footer .copyright,.site-footer .copyright a{color:#fff;font-size:1.5rem}.site-footer .copyright{margin-bottom:16px}}html.dark-mode body{background:var(--color-darkmode);color:hsla(0,0%,100%,.75)}html.dark-mode img{opacity:.9}html.dark-mode kbd{background:#212427}html.dark-mode figcaption a{color:#fff}html.dark-mode .gh-head{background:var(--color-darkmode);color:#fff}html.dark-mode .gh-burger-box,html.dark-mode .site-header-content{color:#fff}html.dark-mode .post-card-image{background:var(--color-darkmode)}html.dark-mode :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content){color:#5f5f5f}html.dark-mode .post-card-featured,html.dark-mode .post-card-title{color:#fff}html.dark-mode .post-card-excerpt{color:var(--color-secondary-text)}html.dark-mode .article-title,html.dark-mode .author-profile-location,html.dark-mode .author-profile-social-link:hover{color:#fff}html.dark-mode .article-excerpt{color:var(--color-secondary-text)}html.dark-mode .post-full-image{background-color:#282b2f}html.dark-mode .author-avatar{background-color:#282b2f;border-color:var(--color-darkmode)}html.dark-mode .author-profile-image{opacity:1}html.dark-mode .author-profile-image path{fill:var(--color-darkmode)}html.dark-mode .article-byline-meta .author-name a{color:#fff}html.dark-mode .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.dark-mode .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.dark-mode .gh-content pre{background:#030303}html.dark-mode .gh-content :not(pre)>code{background:#23262b;border-color:#282b2f;color:var(--color-wash)}:where(html.dark-mode) .gh-content a{color:#fff}html.dark-mode .gh-content em,html.dark-mode .gh-content strong{color:#fff}html.dark-mode .gh-content code{background:#000;color:#fff}html.dark-mode hr{border-top-color:#282b2f}html.dark-mode .gh-content hr:after{background:#282b2f;box-shadow:var(--color-darkmode) 0 0 0 5px}html.dark-mode figcaption{color:hsla(0,0%,100%,.6)}html.dark-mode .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) th{background-color:#282b2f;color:hsla(0,0%,100%,.85)}html.dark-mode .gh-content table:not(.gist table) td,html.dark-mode .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.dark-mode .gh-content input{color:#303a3e}html.dark-mode .site-archive-header .no-image{background:var(--color-darkmode);color:hsla(0,0%,100%,.9)}html.dark-mode .kg-header-card.kg-style-dark{background:#0a0b0c}html.dark-mode .kg-header-card.kg-style-light{background:#202328}html.dark-mode .footer-cta-title,html.dark-mode .kg-header-card h2.kg-header-card-header,html.dark-mode .kg-header-card h3.kg-header-card-subheader{color:#fff}@media (prefers-color-scheme:dark){html.auto-color body{background:var(--color-darkmode);color:hsla(0,0%,100%,.75)}html.auto-color img{opacity:.9}html.auto-color kbd{background:#212427}html.auto-color figcaption a{color:#fff}html.auto-color .gh-head{background:var(--color-darkmode);color:#fff}html.auto-color .gh-burger-box,html.auto-color .site-header-content{color:#fff}html.auto-color .post-card-image{background:var(--color-darkmode)}html.auto-color :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content){color:#5f5f5f}html.auto-color .post-card-featured,html.auto-color .post-card-title{color:#fff}html.auto-color .post-card-excerpt{color:var(--color-secondary-text)}html.auto-color .article-title,html.auto-color .author-profile-location,html.auto-color .author-profile-social-link:hover{color:#fff}html.auto-color .article-excerpt{color:var(--color-secondary-text)}html.auto-color .post-full-image{background-color:#282b2f}html.auto-color .author-avatar{background-color:#282b2f;border-color:var(--color-darkmode)}html.auto-color .author-profile-image{opacity:1}html.auto-color .author-profile-image path{fill:var(--color-darkmode)}html.auto-color .article-byline-meta .author-name a{color:#fff}html.auto-color .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.auto-color .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.auto-color .gh-content pre{background:#030303}html.auto-color .gh-content :not(pre)>code{background:#23262b;border-color:#282b2f;color:var(--color-wash)}:where(html.auto-color) .gh-content a{color:#fff}html.auto-color .gh-content em,html.auto-color .gh-content strong{color:#fff}html.auto-color .gh-content code{background:#000;color:#fff}html.auto-color hr{border-top-color:#282b2f}html.auto-color .gh-content hr:after{background:#282b2f;box-shadow:var(--color-darkmode) 0 0 0 5px}html.auto-color figcaption{color:hsla(0,0%,100%,.6)}html.auto-color .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) th{background-color:#282b2f;color:hsla(0,0%,100%,.85)}html.auto-color .gh-content table:not(.gist table) td,html.auto-color .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.auto-color .gh-content input{color:#303a3e}html.auto-color .site-archive-header .no-image{background:var(--color-darkmode);color:hsla(0,0%,100%,.9)}html.auto-color .kg-header-card.kg-style-dark{background:#0a0b0c}html.auto-color .kg-header-card.kg-style-light{background:#202328}html.auto-color .footer-cta-title,html.auto-color .kg-header-card h2.kg-header-card-header,html.auto-color .kg-header-card h3.kg-header-card-subheader{color:#fff}} +a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;height:auto;max-width:100%}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;box-sizing:border-box;font-family:sans-serif}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{font-size:2em;margin:.67em 0}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}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25);font-family:var(--font-mono);font-size:1.5rem;padding:3px 5px}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{border:none;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:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:62.5%}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;background:#fff;color:var(--color-darkgrey);font-family:var(--font-sans);font-size:1.6rem;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.6em}::-moz-selection{background:#daf2fd;text-shadow:none}::selection{background:#daf2fd;text-shadow:none}hr{border:0;border-top:1px solid #f0f0f0;display:block;height:1px;margin:2.5em 0 3.5em;padding:0;position:relative;width:100%}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0 1em}ul{list-style:disc}ol{list-style:decimal}ol,ul{max-width:100%}li{line-height:1.6em;padding-left:.3em}li+li{margin-top:.5em}dt{color:#daf2fd;float:left;font-weight:500;margin:0 20px 0 0;text-align:right;width:120px}dd{margin:0 0 5px;text-align:left}blockquote{border-left:#daf2fd;margin:1.5em 0;padding:0 1.6em}blockquote small{display:inline-block;font-size:.9em;margin:.8em 0 .8em 1.5em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;font-weight:600;letter-spacing:-.01em;line-height:1.15;margin-top:0}h1{font-size:4.8rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .5em}@media (max-width:600px){h1{font-size:2.8rem}}h2{font-size:2.8rem;font-weight:700;margin:1.5em 0 .5em}@media (max-width:600px){h2{font-size:2.3rem}}h3{font-size:2.4rem;font-weight:600;margin:1.5em 0 .5em}@media (max-width:600px){h3{font-size:1.7rem}}h4{font-size:2rem;margin:1.5em 0 .5em}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}.post-tag-content{margin:0 auto;max-width:1200px;padding:max(8vmin,40px) max(4vmin,20px) max(8vmin,64px);position:relative;width:100%}.post-tag-grid{-moz-column-gap:30px;column-gap:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);row-gap:30px}@media screen and (max-width:1080px){.post-tag-grid{-moz-column-gap:30px;column-gap:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:30px}}@media (max-width:767px){.site-footer .post-tag-content{grid-gap:0;grid-template-columns:1fr;max-width:500px;text-align:center}.site-footer .copyright,.site-footer .copyright a{color:#fff;font-size:1.5rem}.site-footer .copyright{margin-bottom:16px}}@media screen and (max-width:700px){.post-tag-grid{-moz-column-gap:30px;column-gap:30px;display:grid;grid-template-columns:minmax(0,1fr);row-gap:30px}}.post-tag-grid-item{overflow:hidden;text-align:center}.post-tag-grid-item-svg{height:180px;width:320px}.post-tag-grid-item-svg-first{fill:var(--ghost-accent-color);height:180px;width:80px}.post-tag-grid-item-svg-first-obj{x:0;y:80;height:28px;width:80px}.post-tag-grid-item-svg-first-obj-text{color:#fff;font-size:32px}.post-tag-grid-item-svg-second,.post-tag-grid-item-svg-second-obj{x:80;y:0;height:180px;width:240px}.post-tag-grid-item-svg-second-obj-inner{padding:max(.5vmin,2px)}.post-tag-grid-item-svg-second{fill:#000}.post-tag-grid-item-svg-second-obj,.post-tag-grid-item-svg-second-obj-description{color:#fff}.post-tag-grid-item h2{font-size:28px;margin:.3em 0;position:relative;text-align:center;text-transform:uppercase}.post-tag-grid-item-subtext:after,.post-tag-grid-item-subtext:before{background:#000;content:" ";flex:1;height:1px}.post-tag-grid-item-subtext:after{margin-left:5px}.post-tag-grid-item-subtext:before{margin-right:5px}.post-tags{margin:1.2em 0 -1em}.post-tags a{border-bottom:none!important;font-size:small;margin:0 1% 0 0}.post-tags a .post-tag-title:before{content:"#"}.post-tags a .post-tag-title{margin-top:2%}.post-tags a .post-tag-title:hover{background-color:var(--color-background-hover);color:var(--ghost-main-color)!important}@media screen and (max-width:980px){article .post-tags a .post-tag-title{margin-top:2%}}.post-tags .post-tags-box-label{color:--color-content-light;font-size:1rem;font-weight:600;line-height:1em;text-transform:uppercase}.article-share{margin:6vmin 0 0}.article-share ul{list-style:none;padding-left:0}.article-share li{display:inline;padding-left:0}.article-share li+li{padding-left:.3em}a.social-share-link svg{height:32px;width:32px}.post-card-title-custom{text-transform:uppercase}:root{--color-green:#a4d037;--color-yellow:#fecd35;--color-red:#f05230;--color-darkgrey:#15171a;--color-midgrey:#738a94;--color-lightgrey:#f1f1f1;--color-secondary-text:#979797;--color-border:#e1e1e1;--color-wash:#e5eff5;--color-darkmode:#151719;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-serif:Georgia,Times,serif;--font-mono:Menlo,Courier,monospace}.viewport{display:flex;flex-direction:column;min-height:100vh}.site-content{flex-grow:1}.outer{padding:0 max(4vmin,20px);position:relative}.inner{margin:0 auto;max-width:1200px;width:100%}.site-header{background:var(--ghost-accent-color);color:#fff;position:relative}.site-header-cover{bottom:0;height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;right:0;top:0;width:100%}.site-header-content{align-items:center;color:var(--color-darkgrey);display:flex;padding-bottom:19vmin;padding-top:calc(19vmin + 44px);position:relative;text-align:center;z-index:100}.has-cover .site-header-content{background-color:var(--ghost-accent-color);color:#fff;min-height:560px}.site-header-content.left-aligned{padding-bottom:0;text-align:left}.has-cover .site-header-content.left-aligned{align-items:flex-end;padding-bottom:max(4vmin,32px)}.site-header-content.no-content{padding-bottom:2vmin;padding-top:0}.site-header-inner{position:relative}.site-header-content.left-aligned .site-header-inner{align-items:flex-start}.site-logo{flex-shrink:0;margin:0 auto;max-height:120px}.site-header-content.left-aligned .site-logo{margin-left:0;margin-right:auto;max-height:96px}.site-title{font-size:5rem;font-weight:800;margin:0;padding:0;z-index:10}.has-serif-title .site-title{font-family:var(--font-serif)}.has-cover .site-title{font-size:6rem}.site-header-content.left-aligned .site-title{font-size:4.4rem}.has-cover .site-header-content.left-aligned .site-title{font-size:4.6rem}.site-description{display:inline-block;font-size:6rem;font-weight:700;line-height:1.1;max-width:960px;z-index:10}:is(.site-logo,.site-title)+.site-description{font-size:2.4rem;font-weight:400;line-height:1.4;margin-top:16px;max-width:640px}.site-logo+.site-description{margin-top:20px}.site-title+.site-description{color:var(--color-secondary-text)}.has-cover .site-description{color:#fff;letter-spacing:-.005em}.has-cover :is(.site-logo,.site-title)+.site-description{font-size:2.4rem}.has-cover .site-header-content.left-aligned :is(.site-logo,.site-title)+.site-description{font-size:2.2rem}@media (min-width:992px){.is-head-stacked.has-cover .site-header-content{padding-top:calc(19vmin + 120px)}}@media (max-width:991px){.site-header-content{padding-top:calc(19vmin + 32px)}}@media (max-width:767px){.has-cover .site-header-content{min-height:240px}.site-header-inner{gap:16px}.site-logo{max-width:60%}.site-title{font-size:3.4rem!important}.site-description{font-size:2.8rem!important}.site-logo+.site-description{margin-top:12px!important}.site-title+.site-description{margin-top:4px!important}}.gh-head{background-color:#fff;font-size:1.6rem;height:88px;line-height:1.3em}.has-cover:not(.home-template) .gh-head{background-color:var(--ghost-accent-color);color:#fff}:is(.home-template,.paged:not(.tag-template):not(.author-template)).has-cover .gh-head{background-color:transparent;color:#fff;left:0;position:absolute;right:0;top:0;z-index:2000}.gh-head a{text-decoration:none}.gh-head-inner{align-items:center;-moz-column-gap:40px;column-gap:40px;display:grid;grid-auto-flow:row dense;height:100%}.gh-head-inner,.is-head-left-logo .gh-head-inner{grid-template-columns:auto 1fr auto}.is-head-left-logo.home-template .gh-head-logo{display:none}.is-head-left-logo.home-template .gh-head-menu{margin-left:-40px}@media (min-width:992px){.is-head-left-logo .gh-head-menu{margin-left:16px;margin-right:32px}}.is-head-middle-logo .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-middle-logo .gh-head-brand{grid-column-start:2}@media (min-width:992px){.is-head-middle-logo .gh-head-menu{margin-right:64px}}.is-head-stacked .gh-head{height:auto}.is-head-stacked .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-stacked .gh-head-brand{grid-column-start:2;grid-row-start:1}@media (min-width:992px){.is-head-stacked .gh-head-inner{padding:0}.is-head-stacked .gh-head-brand{align-items:center;display:flex;height:80px;position:relative}.is-head-stacked .gh-head-menu{grid-column:1/4;grid-row-start:2;height:56px;justify-content:center;margin:0 48px}.is-head-stacked .gh-head-menu:after,.is-head-stacked .gh-head-menu:before{background-color:var(--color-lightgrey);content:"";height:1px;left:0;position:absolute;top:80px;width:100%}.is-head-stacked.has-cover .gh-head-menu:after,.is-head-stacked.has-cover .gh-head-menu:before{background-color:hsla(0,0%,100%,.2)}.is-head-stacked .gh-head-menu:after{top:136px}.is-head-stacked .gh-head-actions{grid-column:1/4;grid-row-start:1;justify-content:space-between}}.gh-head-brand{align-items:center;display:flex;height:40px;word-break:break-all}.gh-head-logo{color:inherit;display:block;font-size:2.6rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.gh-head-logo.no-image{margin-top:-2px}.has-cover .gh-head-logo{color:#fff}.gh-head-logo img{max-height:40px}.gh-head-menu{align-items:center;display:flex;font-weight:500;margin-top:1px}.gh-head-menu .nav{align-items:center;display:inline-flex;flex-wrap:wrap;gap:32px;list-style:none;margin:0;padding:0}.gh-head-menu .nav li{margin:0;padding:0}.gh-head-menu .nav a{color:inherit;display:inline-block;line-height:1.7}.gh-head-menu .nav a:hover{opacity:.9}.gh-head-menu .nav-more-toggle{background-color:transparent;font-size:inherit;height:30px;margin:0 -6px;padding:0;position:relative;text-transform:inherit;width:30px}.gh-head-menu .nav-more-toggle svg{height:24px;width:24px}@media (min-width:992px){body:not(.is-dropdown-loaded) .gh-head-menu .nav>li{opacity:0}}.gh-dropdown{background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 7px 20px -5px rgba(0,0,0,.15);margin-top:24px;opacity:0;padding:12px 0;position:absolute;right:-16px;text-align:left;top:100%;transform:translate3d(0,6px,0);transition:opacity .3s,transform .2s;visibility:hidden;width:200px;z-index:90}.is-head-middle-logo .gh-dropdown{left:-24px;right:auto}.is-dropdown-mega .gh-dropdown{-moz-column-gap:40px;column-gap:40px;display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr;min-width:320px;padding:20px 32px}.is-dropdown-open .gh-dropdown{opacity:1;transform:translateY(0);visibility:visible}.gh-head-menu .gh-dropdown li a{color:#15171a;display:block;padding:6px 20px}.is-dropdown-mega .gh-dropdown li a{padding:8px 0}.gh-social{align-items:center;display:flex;gap:20px}.gh-social-link{color:inherit;line-height:0}.gh-social-link:hover{opacity:.9}.gh-social-link svg{height:18px;width:18px}.gh-head-actions{align-items:center;display:flex;gap:24px;justify-content:flex-end;list-style:none;text-align:right}.gh-head-button{align-items:center;background:var(--ghost-accent-color);border-radius:48px;color:#fff;display:inline-flex;font-size:1.6rem;font-weight:600;height:44px;justify-content:center;letter-spacing:-.005em;padding:8px 20px}.has-cover .gh-head-button{background:#fff;color:var(--color-darkgrey)}.gh-search{align-items:center;background-color:transparent;border:0;cursor:pointer;display:inline-flex;height:32px;justify-content:center;outline:none;padding:0;width:32px}.gh-search:hover{opacity:.9}.gh-head-brand .gh-search{margin-right:8px}.gh-head-actions .gh-search{margin-right:-4px}@media (max-width:991px){.gh-head-actions .gh-search{display:none}}@media (min-width:992px){.gh-head-brand .gh-search{display:none}}.gh-burger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;cursor:pointer;display:none;height:30px;margin-right:-3px;padding:0;position:relative;width:30px}.gh-burger:after,.gh-burger:before{background-color:var(--color-darkgrey);content:"";height:1px;left:3px;position:absolute;transition:all .2s cubic-bezier(.04,.04,.12,.96) .1008s;width:24px}.has-cover .gh-burger:after,.has-cover .gh-burger:before{background-color:#fff}.gh-burger:before{top:11px}.gh-burger:after{bottom:11px}.gh-head-open .gh-burger:before{top:15px;transform:rotate(45deg)}.gh-head-open .gh-burger:after{bottom:14px;transform:rotate(-45deg)}@media (max-width:991px){#gh-head{height:64px}#gh-head .gh-head-inner{gap:48px;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}#gh-head .gh-head-brand{align-items:center;display:grid;grid-column-start:1;grid-template-columns:1fr auto auto;height:64px}#gh-head .gh-head-logo{font-size:2.2rem}#gh-head .gh-head-brand .gh-search{margin-left:-6px}#gh-head .gh-burger{display:block}#gh-head .gh-head-actions,#gh-head .gh-head-menu{justify-content:center;opacity:0;position:fixed;visibility:hidden}#gh-head .gh-head-menu{margin:0;transform:translateY(0);transition:none}#gh-head .nav{align-items:center;gap:16px;line-height:1.4}#gh-head .nav a{font-size:2.6rem;font-weight:600;text-transform:none}#gh-head .nav li{opacity:0;transform:translateY(-4px)}#gh-head .gh-head-button{font-size:1.8rem;opacity:0;text-transform:none;transform:translateY(8px);width:100%}.gh-head-open #gh-head{-webkit-overflow-scrolling:touch;height:100vh;left:0;overflow-y:scroll;position:fixed;right:0;z-index:3999999}.gh-head-open.has-cover #gh-head,.gh-head-open.has-cover #gh-head .gh-head-actions{background-color:var(--ghost-accent-color)}.gh-head-open #gh-head .gh-head-actions,.gh-head-open #gh-head .gh-head-menu{opacity:1;position:static;visibility:visible}.gh-head-open #gh-head .nav{display:flex;flex-direction:column}.gh-head-open #gh-head .nav li{opacity:1;transform:translateY(0);transition:transform .2s,opacity .2s}.gh-head-open #gh-head .gh-head-actions{align-items:center;background-color:#fff;bottom:0;display:inline-flex;flex-direction:column;gap:12px;left:0;padding:max(4vmin,20px) 0;position:-webkit-sticky;position:sticky;right:0}.gh-head-open #gh-head .gh-head-button{opacity:1;transform:translateY(0);transition:transform .4s,opacity .4s;transition-delay:.2s}}.post-feed{display:grid;gap:4.8vmin 4vmin;grid-template-columns:repeat(6,1fr);padding:max(4.8vmin,36px) 0 0;position:relative}:is(.tag-template,.author-template) .post-feed{margin-top:4vmin}@media (max-width:991px){.post-feed{grid-template-columns:1fr 1fr}}@media (max-width:767px){.post-feed{grid-gap:40px;grid-template-columns:1fr}}.post-card{background-size:cover;display:flex;flex-direction:column;grid-column:span 2;position:relative;word-break:break-word}.post-card-image-link{display:block;margin-bottom:32px;overflow:hidden;position:relative}.post-card-image-link:after{content:"";display:block;padding-bottom:55%}.post-card[class*=post-access-] .post-card-image-link:after{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:rgba(0,0,0,.5)}.post-card.keep-ratio[class*=post-access-] .post-card-image-link:after{inset:0;padding-bottom:0;position:absolute}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link:after{padding-bottom:0}.post-card-image{background:var(--color-lightgrey) no-repeat center center;height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image{position:static}.post-card-access{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:600;gap:4px;inset:0;justify-content:center;position:absolute;z-index:10}.post-card-content-link{color:var(--color-darkgrey);display:block;position:relative}.post-card-content-link:hover{text-decoration:none}.post-feed .no-image .post-card-content-link{padding:0}.no-image .post-card-header{margin-top:0}.post-card-tags{align-items:center;color:var(--color-secondary-text);display:flex;font-size:1.4rem;font-weight:600;gap:12px;letter-spacing:-.005em;line-height:1;margin:0 0 10px}.post-card-featured{align-items:center;color:var(--ghost-accent-color);display:flex;gap:3px;padding-left:18px;position:relative}.post-card-featured svg{left:0;position:absolute}.post-card-title{font-size:2.6rem;font-weight:800;line-height:1.2;margin:0}.post-card-content-link:hover .post-card-title{opacity:.9}.no-image .post-card-title{margin-top:0}.has-serif-title .post-card-title{font-family:var(--font-serif);letter-spacing:-.005em}.post-card-title svg{margin-left:-1px;margin-top:-3px}.post-card-content{display:flex;flex-direction:column;flex-grow:1}.post-card-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;font-size:1.6rem;line-height:1.5;margin-top:12px;max-width:720px;overflow-y:hidden;word-break:break-word}.has-sans-body .post-card-excerpt{font-family:var(--font-sans)}.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt{-webkit-line-clamp:2}:is(.tag-template,.author-template) .post-card-excerpt{margin-top:6px}.post-card-meta{color:var(--color-secondary-text);font-size:1.3rem;margin-top:12px;padding:0}.post-card-meta,.post-card-meta>*{align-items:center;display:flex;gap:6px}.post-card-meta>*+:not(script):before{background-color:var(--color-secondary-text);border-radius:50%;content:"";height:2px;width:2px}.post-card-meta .sep{margin:0 4px}.author-profile-image{background:#fff;border-radius:100%;display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.author-list{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 0 4px;padding:0}.author-list-item{flex-shrink:0;margin:0;padding:0;position:relative}@media (min-width:1001px){.post-card-large{grid-gap:4vmin;border-top:0;display:grid;grid-column:span 6;grid-template-columns:repeat(3,1fr)}.post-card-large:not(.no-image) .post-card-header{margin-top:0}.post-card-large .post-card-image-link{grid-column:span 2;margin-bottom:0;position:relative}.post-card-large .post-card-content{grid-column:span 1}.post-card-large.no-image .post-card-content{grid-column:span 2}.post-card-large .post-card-image{height:100%;position:absolute;width:100%}.post-card-large .post-card-tags{margin-bottom:12px}.post-card-large .post-card-title{font-size:4.4rem;line-height:1.05;margin-top:0}.post-card-large .post-card-excerpt{margin-top:16px}.post-card-full{grid-column:span 6}.post-card-full .post-card-image-link{margin-bottom:40px}.post-card-full .post-card-tags{margin-bottom:14px}.post-card-full .post-card-title{font-size:6.4rem;line-height:.95}.post-card-full .post-card-excerpt{font-size:1.8rem;margin-top:20px}.post-card-large+.post-card-large:nth-child(2n){margin:32px 0}.post-card-large+.post-card-large:nth-child(2n) .post-card-content{order:-1}.post-card.dynamic{grid-column:span 3}.post-card.dynamic .post-card-title{font-size:3rem}}.pagination{align-items:center;display:none;grid-template-columns:1fr auto 1fr;margin-top:8vmin}html.no-infinite-scroll .pagination{display:grid}.pagination a{font-size:1.7rem;font-weight:600}.pagination .page-number{color:var(--color-secondary-text);grid-column-start:2}.pagination .older-posts{grid-column-start:3;text-align:right}@media (max-width:767px){.pagination .page-number{display:none}}.article{padding:max(8vmin,40px) 0 max(8vmin,64px);word-break:break-word}.page-template .article{padding-top:max(12vmin,64px)}.article-header{padding:0 0 max(6.4vmin,40px)}.page-template .article-header{padding-bottom:max(3.2vmin,28px)}.article-tag{font-size:1.6rem;margin-bottom:16px}.article-tag a{color:var(--color-secondary-text)}.article-title{color:var(--color-darkgrey);font-size:clamp(3.2rem,5vw,5.2rem);font-weight:800;line-height:1.05;margin-bottom:0}.has-serif-title .article-title{font-family:var(--font-serif)}.article-excerpt{color:var(--color-darkgrey);font-size:2rem;line-height:1.45;margin-top:20px;max-width:720px}.gh-canvas .article-image{grid-column:wide-start/wide-end;margin:max(6.4vmin,40px) 0 0;width:100%}.image-full .article-image{grid-column:full-start/full-end}.image-small .article-image{grid-column:main-start/main-end}.gh-canvas .article-image img{display:block;margin-left:auto;margin-right:auto;width:100%}@media (max-width:767px){.article-excerpt{font-size:1.7rem;margin-top:14px}}.gh-canvas{display:grid;grid-template-columns:[full-start] minmax(max(4vmin,20px),auto) [wide-start] minmax(auto,240px) [main-start] min(720px,calc(100% - max(8vmin, 40px))) [main-end] minmax(auto,240px) [wide-end] minmax(max(4vmin,20px),auto) [full-end]}.gh-canvas>*{grid-column:main-start/main-end}.kg-width-wide{grid-column:wide-start/wide-end}.kg-width-full{grid-column:full-start/full-end}.kg-width-full img{width:100%}.gh-content>*+*{margin-bottom:0;margin-top:max(3.2vmin,24px)}.gh-content>[id]{color:var(--color-darkgrey);margin:0}.has-serif-title .gh-content>[id]{font-family:var(--font-serif)}.gh-content>[id]:not(:first-child){margin:2em 0 0}.gh-content>[id]+*{margin-top:1.5rem!important}.gh-content>blockquote,.gh-content>hr{margin-top:max(4.8vmin,32px);position:relative}.gh-content>blockquote+*,.gh-content>hr+*{margin-top:max(4.8vmin,32px)!important}.gh-content a{color:var(--ghost-accent-color);text-decoration:underline;word-break:break-word}.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-family:var(--font-serif);font-size:2rem;font-weight:400;line-height:1.6em}.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul{font-family:var(--font-serif);font-size:1.9rem;font-weight:400;line-height:1.6em}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.7rem;line-height:1.6em}.gh-content .kg-callout-card .kg-callout-emoji{font-size:2.1rem;line-height:1.4em}.gh-content .kg-toggle-card .kg-toggle-heading-text{font-size:2rem}.has-sans-body .gh-content .kg-callout-card .kg-callout-text,.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content>ol,.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content>p,.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content>ul,.has-sans-body .gh-content>blockquote,.has-sans-body .gh-content>dl,.has-sans-body .gh-content>ol,.has-sans-body .gh-content>p,.has-sans-body .gh-content>ul{font-family:var(--font-sans)}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>ul,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>dl,.gh-content>ol,.gh-content>ul{padding-left:1.9em}.gh-content>blockquote:not([class]){font-style:italic;padding:0;position:relative}.gh-content>blockquote:not([class]):before{background:var(--ghost-accent-color);bottom:0;content:"";left:-1.5em;position:absolute;top:0;width:.3rem}.gh-content :not(pre)>code{background:#f0f6f9;border:1px solid #e1eaef;border-radius:.25em;color:#15171a;font-size:.9em;font-weight:400!important;line-height:1em;padding:.15em .4em;vertical-align:middle}.gh-content pre{background:var(--color-darkgrey);border-radius:5px;box-shadow:0 2px 6px -2px rgba(0,0,0,.1),0 0 1px rgba(0,0,0,.4);color:var(--color-wash);font-size:1.4rem;line-height:1.5em;overflow:auto;padding:16px 20px}@media (max-width:650px){.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-size:1.8rem}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.6rem}.gh-content blockquote:not([class]):before{left:min(-4vmin,-20px)}}.gh-content .kg-card+:not(.kg-card),.gh-content :not(.kg-card):not([id])+.kg-card{margin-bottom:0;margin-top:6vmin}.kg-embed-card{align-items:center;display:flex;flex-direction:column;width:100%}.kg-image-card img{margin:auto}.has-serif-title .kg-toggle-card .kg-toggle-heading-text{font-family:var(--font-serif)}.gh-content .kg-callout-card-accent a{text-decoration:underline}.kg-blockquote-alt{color:var(--color-midgrey);font-family:var(--font-serif)}.has-sans-body .kg-blockquote-alt{font-family:var(--font-sans)}.kg-card.kg-header-card.kg-style-dark{background:var(--color-darkgrey)}.kg-header-card.kg-style-light h2.kg-header-card-header{color:#0a0b0c}.has-serif-title .kg-header-card h2.kg-header-card-header{font-family:var(--font-serif)}figcaption{color:rgba(0,0,0,.5);font-size:1.3rem;line-height:1.4em;padding:1.5rem 1.5rem 0;text-align:center}figcaption strong{color:rgba(0,0,0,.8)}figcaption a{text-decoration:underline}iframe.instagram-media{margin:6vmin auto 0!important}iframe.instagram-media+script+:not([id]){margin-top:6vmin}.kg-width-full.kg-card-hascaption{display:grid;grid-template-columns:inherit}.kg-width-wide.kg-card-hascaption img{grid-column:wide-start/wide-end}.kg-width-full.kg-card-hascaption img{grid-column:1/-1}.kg-width-full.kg-card-hascaption figcaption{grid-column:main-start/main-end}.article-comments{margin:6vmin 0 0}.footnotes-sep{margin-bottom:30px}.footnotes{font-size:1.5rem}.footnotes p{margin:0}.footnote-backref{box-shadow:none!important;font-size:1.2rem;font-weight:700;text-decoration:none!important}.gh-content table:not(.gist table){-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse at left,rgba(0,0,0,.2) 0,transparent 75%) 0,radial-gradient(ellipse at right,rgba(0,0,0,.2) 0,transparent 75%) 100%;background-attachment:scroll,scroll;background-repeat:no-repeat;background-size:10px 100%,10px 100%;border-collapse:collapse;border-spacing:0;display:inline-block;font-family:var(--font-sans);font-size:1.6rem;max-width:100%;overflow-x:auto;vertical-align:top;white-space:nowrap;width:auto}.gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(90deg,#fff 50%,hsla(0,0%,100%,0));background-repeat:no-repeat;background-size:20px 100%}.gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(270deg,#fff 50%,hsla(0,0%,100%,0));background-position:100% 0;background-repeat:no-repeat;background-size:20px 100%}.gh-content table:not(.gist table) th{background-color:#f4f8fb;color:var(--color-darkgrey);font-size:1.2rem;font-weight:700;letter-spacing:.2px;text-align:left;text-transform:uppercase}.gh-content table:not(.gist table) td,.gh-content table:not(.gist table) th{border:1px solid #e2ecf3;padding:6px 12px}.article-byline{display:flex;justify-content:space-between;margin:min(24px,5.6vmin) 0 0}.article-byline-content{align-items:center;display:flex;flex-grow:1}.article-byline-content .author-list{justify-content:flex-start;padding:0 14px 0 0}.article-byline-meta{color:var(--color-secondary-text);font-size:1.4rem;line-height:1.2em}.article-byline-meta .author-name{font-size:1.7rem;font-weight:700;letter-spacing:0;margin:0 0 6px}.article-byline-meta .bull{display:inline-block;margin:0 2px}.author-avatar{background-color:var(--color-border);border:2px solid #fff;border-radius:50%;display:block;height:min(56px,13.6vmin);margin:0 -4px;overflow:hidden;width:min(56px,13.6vmin)}.page-template .article-title{margin-bottom:0}@media (max-width:767px){.article-byline-content .author-list{padding-right:12px}.article-byline-meta .author-name{margin-bottom:4px}}.footer-cta{position:relative;text-align:center}.footer-cta-title{font-size:clamp(2.6rem,5vw,3.8rem);font-weight:800;margin:0 0 min(24px,6.4vmin)}.has-serif-title .footer-cta-title{font-family:var(--font-serif)}.footer-cta-button{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-secondary-text);display:inline-flex;font-size:1.7rem;justify-content:space-between;max-width:500px;padding:5px 5px 5px 15px;position:relative;transition:border-color .2s;width:100%}.footer-cta-button:hover{border-color:#c2c2c2}.footer-cta-button span{background:var(--ghost-accent-color);border-radius:6px;color:#fff;display:inline-block;font-size:1.6rem;font-weight:600;letter-spacing:-.005em;padding:9px 15px}.read-more-wrap{margin-top:2.4vmin}.footer-cta+.read-more-wrap{margin-top:max(12vmin,72px)}.read-more{grid-gap:4vmin;display:grid;grid-template-columns:repeat(6,1fr)}.read-more .post-card-tags{display:none}@media (max-width:1000px){.read-more{grid-template-columns:repeat(4,1fr)}.read-more .post-card:nth-child(3){display:none}}@media (max-width:700px){.read-more{grid-template-columns:repeat(2,1fr)}.read-more .post-card:nth-child(2){display:none}}.comments{align-items:center;display:flex;flex-direction:column;margin:60px 0 44px}.comments-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:32px;max-width:720px;width:100%}.comments h2{font-size:3.4rem;font-weight:800;max-width:720px;width:100%}.comments .comment-count{color:var(--color-midgrey);font-weight:600;white-space:nowrap}.comments #ghost-comments-root{max-width:720px;width:100%}.author-profile-pic{background:#fff;border-radius:50%;display:block;height:80px;margin:0 0 2rem;-o-object-fit:cover;object-fit:cover;width:80px}.author-profile-footer{margin-top:16px}.author-profile-location{font-weight:700}.author-profile-meta{display:flex;gap:10px}.author-profile-social-link{color:var(--color-secondary-text);font-size:1.3rem}.author-profile-social-link:hover{color:var(--color-darkgrey)}.author-profile-social-link svg{height:16px;width:16px}@media (min-width:1001px){.author-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.tag-template .post-card-large .post-card-image-link{grid-column:2/span 2;order:2}.tag-template .post-card-large .post-card-content{order:1}@media (min-width:1001px){.tag-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.error-content{padding:14vw 4vw 2vw}.error-message{padding-bottom:10vw;text-align:center}.error-code{font-size:12vw;letter-spacing:-5px;line-height:1em;margin:0}.error-description{color:var(--color-secondary-text);font-size:3.2rem;font-weight:400;letter-spacing:-.005em;line-height:1.3em;margin:0}.error-link{display:inline-block;margin-top:5px}@media (min-width:940px){.error-content .post-card{border-bottom:none;margin-bottom:0;padding-bottom:0}}@media (max-width:800px){.error-content{padding-top:24vw}.error-code{font-size:11.2rem}.error-message{padding-bottom:16vw}.error-description{font-size:1.8rem;margin:5px 0 0}}@media (max-width:500px){.error-content{padding-top:28vw}.error-message{padding-bottom:14vw}}.site-footer{background:#0a0b0c;color:#fff;margin:max(12vmin,64px) 0 0;padding-bottom:140px;padding-top:48px;position:relative}.site-footer .inner{grid-gap:40px;color:hsla(0,0%,100%,.7);display:grid;font-size:1.3rem;grid-template-columns:auto 1fr auto}.site-footer .copyright a{color:#fff;font-weight:500;letter-spacing:-.015em}.site-footer a{color:hsla(0,0%,100%,.7)}.site-footer a:hover{color:#fff;text-decoration:none}.site-footer-nav ul{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:0 0 20px;padding:0}.site-footer-nav li{align-items:center;display:inline-flex;line-height:2em;margin:0;padding:0}.site-footer-nav a{align-items:center;display:inline-flex;margin-left:10px;position:relative}.site-footer-nav li:not(:first-child) a:before{background:#fff;border-radius:100%;content:"";display:block;height:2px;margin:0 10px 0 0;width:2px}@media (max-width:767px){.site-footer .inner{grid-gap:0;grid-template-columns:1fr;max-width:500px;text-align:center}.site-footer .copyright,.site-footer .copyright a{color:#fff;font-size:1.5rem}.site-footer .copyright{margin-bottom:16px}}html.dark-mode body{background:var(--color-darkmode);color:hsla(0,0%,100%,.75)}html.dark-mode img{opacity:.9}html.dark-mode kbd{background:#212427}html.dark-mode figcaption a{color:#fff}html.dark-mode .gh-head{background:var(--color-darkmode);color:#fff}html.dark-mode .gh-burger-box,html.dark-mode .site-header-content{color:#fff}html.dark-mode .post-card-image{background:var(--color-darkmode)}html.dark-mode :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content){color:#5f5f5f}html.dark-mode .post-card-featured,html.dark-mode .post-card-title{color:#fff}html.dark-mode .post-card-excerpt{color:var(--color-secondary-text)}html.dark-mode .article-title,html.dark-mode .author-profile-location,html.dark-mode .author-profile-social-link:hover{color:#fff}html.dark-mode .article-excerpt{color:var(--color-secondary-text)}html.dark-mode .post-full-image{background-color:#282b2f}html.dark-mode .author-avatar{background-color:#282b2f;border-color:var(--color-darkmode)}html.dark-mode .author-profile-image{opacity:1}html.dark-mode .author-profile-image path{fill:var(--color-darkmode)}html.dark-mode .article-byline-meta .author-name a{color:#fff}html.dark-mode .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.dark-mode .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.dark-mode .gh-content pre{background:#030303}html.dark-mode .gh-content :not(pre)>code{background:#23262b;border-color:#282b2f;color:var(--color-wash)}:where(html.dark-mode) .gh-content a{color:#fff}html.dark-mode .gh-content em,html.dark-mode .gh-content strong{color:#fff}html.dark-mode .gh-content code{background:#000;color:#fff}html.dark-mode hr{border-top-color:#282b2f}html.dark-mode .gh-content hr:after{background:#282b2f;box-shadow:var(--color-darkmode) 0 0 0 5px}html.dark-mode figcaption{color:hsla(0,0%,100%,.6)}html.dark-mode .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) th{background-color:#282b2f;color:hsla(0,0%,100%,.85)}html.dark-mode .gh-content table:not(.gist table) td,html.dark-mode .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.dark-mode .gh-content input{color:#303a3e}html.dark-mode .site-archive-header .no-image{background:var(--color-darkmode);color:hsla(0,0%,100%,.9)}html.dark-mode .kg-header-card.kg-style-dark{background:#0a0b0c}html.dark-mode .kg-header-card.kg-style-light{background:#202328}html.dark-mode .footer-cta-title,html.dark-mode .kg-header-card h2.kg-header-card-header,html.dark-mode .kg-header-card h3.kg-header-card-subheader{color:#fff}@media (prefers-color-scheme:dark){html.auto-color body{background:var(--color-darkmode);color:hsla(0,0%,100%,.75)}html.auto-color img{opacity:.9}html.auto-color kbd{background:#212427}html.auto-color figcaption a{color:#fff}html.auto-color .gh-head{background:var(--color-darkmode);color:#fff}html.auto-color .gh-burger-box,html.auto-color .site-header-content{color:#fff}html.auto-color .post-card-image{background:var(--color-darkmode)}html.auto-color :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content){color:#5f5f5f}html.auto-color .post-card-featured,html.auto-color .post-card-title{color:#fff}html.auto-color .post-card-excerpt{color:var(--color-secondary-text)}html.auto-color .article-title,html.auto-color .author-profile-location,html.auto-color .author-profile-social-link:hover{color:#fff}html.auto-color .article-excerpt{color:var(--color-secondary-text)}html.auto-color .post-full-image{background-color:#282b2f}html.auto-color .author-avatar{background-color:#282b2f;border-color:var(--color-darkmode)}html.auto-color .author-profile-image{opacity:1}html.auto-color .author-profile-image path{fill:var(--color-darkmode)}html.auto-color .article-byline-meta .author-name a{color:#fff}html.auto-color .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.auto-color .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.auto-color .gh-content pre{background:#030303}html.auto-color .gh-content :not(pre)>code{background:#23262b;border-color:#282b2f;color:var(--color-wash)}:where(html.auto-color) .gh-content a{color:#fff}html.auto-color .gh-content em,html.auto-color .gh-content strong{color:#fff}html.auto-color .gh-content code{background:#000;color:#fff}html.auto-color hr{border-top-color:#282b2f}html.auto-color .gh-content hr:after{background:#282b2f;box-shadow:var(--color-darkmode) 0 0 0 5px}html.auto-color figcaption{color:hsla(0,0%,100%,.6)}html.auto-color .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) th{background-color:#282b2f;color:hsla(0,0%,100%,.85)}html.auto-color .gh-content table:not(.gist table) td,html.auto-color .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.auto-color .gh-content input{color:#303a3e}html.auto-color .site-archive-header .no-image{background:var(--color-darkmode);color:hsla(0,0%,100%,.9)}html.auto-color .kg-header-card.kg-style-dark{background:#0a0b0c}html.auto-color .kg-header-card.kg-style-light{background:#202328}html.auto-color .footer-cta-title,html.auto-color .kg-header-card h2.kg-header-card-header,html.auto-color .kg-header-card h3.kg-header-card-subheader{color:#fff}} /*# sourceMappingURL=screen.css.map */ \ No newline at end of file diff --git a/assets/built/screen.css.map b/assets/built/screen.css.map old mode 100644 new mode 100755 index fc9d370..be8265d --- a/assets/built/screen.css.map +++ b/assets/built/screen.css.map @@ -1 +1 @@ -{"version":3,"sources":["global.css","screen.css"],"names":[],"mappings":"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","file":"screen.css","sourcesContent":["/* Reset\r\n/* ---------------------------------------------------------- */\r\n\r\nhtml,\r\nbody,\r\ndiv,\r\nspan,\r\napplet,\r\nobject,\r\niframe,\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6,\r\np,\r\nblockquote,\r\npre,\r\na,\r\nabbr,\r\nacronym,\r\naddress,\r\nbig,\r\ncite,\r\ncode,\r\ndel,\r\ndfn,\r\nem,\r\nimg,\r\nins,\r\nkbd,\r\nq,\r\ns,\r\nsamp,\r\nsmall,\r\nstrike,\r\nstrong,\r\nsub,\r\nsup,\r\ntt,\r\nvar,\r\ndl,\r\ndt,\r\ndd,\r\nol,\r\nul,\r\nli,\r\nfieldset,\r\nform,\r\nlabel,\r\nlegend,\r\ntable,\r\ncaption,\r\ntbody,\r\ntfoot,\r\nthead,\r\ntr,\r\nth,\r\ntd,\r\narticle,\r\naside,\r\ncanvas,\r\ndetails,\r\nembed,\r\nfigure,\r\nfigcaption,\r\nfooter,\r\nheader,\r\nhgroup,\r\nmenu,\r\nnav,\r\noutput,\r\nruby,\r\nsection,\r\nsummary,\r\ntime,\r\nmark,\r\naudio,\r\nvideo {\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n font: inherit;\r\n font-size: 100%;\r\n vertical-align: baseline;\r\n}\r\n\r\nbody {\r\n line-height: 1;\r\n}\r\n\r\nol,\r\nul {\r\n list-style: none;\r\n}\r\n\r\nblockquote,\r\nq {\r\n quotes: none;\r\n}\r\n\r\nblockquote:before,\r\nblockquote:after,\r\nq:before,\r\nq:after {\r\n content: \"\";\r\n content: none;\r\n}\r\n\r\ntable {\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n}\r\n\r\nimg {\r\n display: block;\r\n max-width: 100%;\r\n height: auto;\r\n}\r\n\r\nhtml {\r\n box-sizing: border-box;\r\n font-family: sans-serif;\r\n\r\n -ms-text-size-adjust: 100%;\r\n -webkit-text-size-adjust: 100%;\r\n}\r\n\r\n*,\r\n*:before,\r\n*:after {\r\n box-sizing: inherit;\r\n}\r\n\r\na {\r\n background-color: transparent;\r\n}\r\n\r\na:active,\r\na:hover {\r\n outline: 0;\r\n}\r\n\r\nb,\r\nstrong {\r\n font-weight: bold;\r\n}\r\n\r\ni,\r\nem,\r\ndfn {\r\n font-style: italic;\r\n}\r\n\r\nh1 {\r\n margin: 0.67em 0;\r\n font-size: 2em;\r\n}\r\n\r\nsmall {\r\n font-size: 80%;\r\n}\r\n\r\nsub,\r\nsup {\r\n position: relative;\r\n font-size: 75%;\r\n line-height: 0;\r\n vertical-align: baseline;\r\n}\r\n\r\nsup {\r\n top: -0.5em;\r\n}\r\n\r\nsub {\r\n bottom: -0.25em;\r\n}\r\n\r\nimg {\r\n border: 0;\r\n}\r\n\r\nsvg:not(:root) {\r\n overflow: hidden;\r\n}\r\n\r\nmark {\r\n background-color: #fdffb6;\r\n}\r\n\r\ncode,\r\nkbd,\r\npre,\r\nsamp {\r\n font-family: monospace, monospace;\r\n font-size: 1em;\r\n}\r\n\r\nkbd {\r\n padding: 3px 5px;\r\n font-family: var(--font-mono);\r\n font-size: 1.5rem;\r\n background: #f6f8fa;\r\n border: 1px solid rgba(124, 139, 154, 0.25);\r\n border-radius: 6px;\r\n box-shadow: inset 0 -1px 0 rgba(124, 139, 154, 0.25);\r\n}\r\n\r\n@media (max-width: 600px) {\r\n kbd {\r\n font-size: 1.3rem;\r\n }\r\n}\r\n\r\nbutton,\r\ninput,\r\noptgroup,\r\nselect,\r\ntextarea {\r\n margin: 0;\r\n /* 3 */\r\n color: inherit;\r\n /* 1 */\r\n font: inherit;\r\n /* 2 */\r\n}\r\n\r\nbutton {\r\n overflow: visible;\r\n border: none;\r\n}\r\n\r\nbutton,\r\nselect {\r\n text-transform: none;\r\n}\r\n\r\nbutton,\r\nhtml input[type=\"button\"],\r\n/* 1 */\r\ninput[type=\"reset\"],\r\ninput[type=\"submit\"] {\r\n cursor: pointer;\r\n /* 3 */\r\n\r\n -webkit-appearance: button;\r\n /* 2 */\r\n}\r\n\r\nbutton[disabled],\r\nhtml input[disabled] {\r\n cursor: default;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\ninput::-moz-focus-inner {\r\n padding: 0;\r\n border: 0;\r\n}\r\n\r\ninput {\r\n line-height: normal;\r\n}\r\n\r\ninput:focus {\r\n outline: none;\r\n}\r\n\r\ninput[type=\"checkbox\"],\r\ninput[type=\"radio\"] {\r\n box-sizing: border-box;\r\n /* 1 */\r\n padding: 0;\r\n /* 2 */\r\n}\r\n\r\ninput[type=\"number\"]::-webkit-inner-spin-button,\r\ninput[type=\"number\"]::-webkit-outer-spin-button {\r\n height: auto;\r\n}\r\n\r\ninput[type=\"search\"] {\r\n box-sizing: content-box;\r\n /* 2 */\r\n\r\n -webkit-appearance: textfield;\r\n /* 1 */\r\n}\r\n\r\ninput[type=\"search\"]::-webkit-search-cancel-button,\r\ninput[type=\"search\"]::-webkit-search-decoration {\r\n -webkit-appearance: none;\r\n}\r\n\r\nlegend {\r\n padding: 0;\r\n /* 2 */\r\n border: 0;\r\n /* 1 */\r\n}\r\n\r\ntextarea {\r\n overflow: auto;\r\n}\r\n\r\ntable {\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n}\r\n\r\ntd,\r\nth {\r\n padding: 0;\r\n}\r\n\r\n/* ==========================================================================\r\n Base styles: opinionated defaults\r\n ========================================================================== */\r\n\r\nhtml {\r\n font-size: 62.5%;\r\n\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n}\r\n\r\nbody {\r\n color: var(--color-darkgrey);\r\n font-family: var(--font-sans);\r\n font-size: 1.6rem;\r\n line-height: 1.6em;\r\n font-weight: 400;\r\n font-style: normal;\r\n letter-spacing: 0;\r\n text-rendering: optimizeLegibility;\r\n background: #fff;\r\n\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n -moz-font-feature-settings: \"liga\" on;\r\n}\r\n\r\n::selection {\r\n text-shadow: none;\r\n background: #daf2fd;\r\n}\r\n\r\nhr {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n margin: 2.5em 0 3.5em;\r\n padding: 0;\r\n height: 1px;\r\n border: 0;\r\n border-top: 1px solid #f0f0f0;\r\n}\r\n\r\naudio,\r\ncanvas,\r\niframe,\r\nimg,\r\nsvg,\r\nvideo {\r\n vertical-align: middle;\r\n}\r\n\r\nfieldset {\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n}\r\n\r\ntextarea {\r\n resize: vertical;\r\n}\r\n\r\n::not(.gh-content) p,\r\n::not(.gh-content) ul,\r\n::not(.gh-content) ol,\r\n::not(.gh-content) dl,\r\n::not(.gh-content) blockquote {\r\n margin: 0 0 1.5em 0;\r\n}\r\n\r\nol,\r\nul {\r\n padding-left: 1.3em;\r\n padding-right: 1.5em;\r\n}\r\n\r\nol ol,\r\nul ul,\r\nul ol,\r\nol ul {\r\n margin: 0.5em 0 1em;\r\n}\r\n\r\nul {\r\n list-style: disc;\r\n}\r\n\r\nol {\r\n list-style: decimal;\r\n}\r\n\r\nul,\r\nol {\r\n max-width: 100%;\r\n}\r\n\r\nli {\r\n padding-left: 0.3em;\r\n line-height: 1.6em;\r\n}\r\n\r\nli+li {\r\n margin-top: 0.5em;\r\n}\r\n\r\ndt {\r\n float: left;\r\n margin: 0 20px 0 0;\r\n width: 120px;\r\n color: #daf2fd;\r\n font-weight: 500;\r\n text-align: right;\r\n}\r\n\r\ndd {\r\n margin: 0 0 5px 0;\r\n text-align: left;\r\n}\r\n\r\nblockquote {\r\n margin: 1.5em 0;\r\n padding: 0 1.6em 0 1.6em;\r\n border-left: #daf2fd;\r\n}\r\n\r\nblockquote small {\r\n display: inline-block;\r\n margin: 0.8em 0 0.8em 1.5em;\r\n font-size: 0.9em;\r\n opacity: 0.8;\r\n}\r\n\r\n/* Quotation marks */\r\nblockquote small:before {\r\n content: \"\\2014 \\00A0\";\r\n}\r\n\r\nblockquote cite {\r\n font-weight: bold;\r\n}\r\n\r\nblockquote cite a {\r\n font-weight: normal;\r\n}\r\n\r\na {\r\n color: #15171A;\r\n text-decoration: none;\r\n}\r\n\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6 {\r\n margin-top: 0;\r\n line-height: 1.15;\r\n font-weight: 600;\r\n text-rendering: optimizeLegibility;\r\n letter-spacing: -0.01em;\r\n}\r\n\r\nh1 {\r\n margin: 0 0 0.5em 0;\r\n font-size: 4.8rem;\r\n font-weight: 700;\r\n letter-spacing: -0.015em;\r\n}\r\n\r\n@media (max-width: 600px) {\r\n h1 {\r\n font-size: 2.8rem;\r\n }\r\n}\r\n\r\nh2 {\r\n margin: 1.5em 0 0.5em 0;\r\n font-size: 2.8rem;\r\n font-weight: 700;\r\n}\r\n\r\n@media (max-width: 600px) {\r\n h2 {\r\n font-size: 2.3rem;\r\n }\r\n}\r\n\r\nh3 {\r\n margin: 1.5em 0 0.5em 0;\r\n font-size: 2.4rem;\r\n font-weight: 600;\r\n}\r\n\r\n@media (max-width: 600px) {\r\n h3 {\r\n font-size: 1.7rem;\r\n }\r\n}\r\n\r\nh4 {\r\n margin: 1.5em 0 0.5em 0;\r\n font-size: 2rem;\r\n}\r\n\r\n@media (max-width: 600px) {\r\n h4 {\r\n font-size: 1.7rem;\r\n }\r\n}\r\n\r\nh5 {\r\n margin: 1.5em 0 0.5em 0;\r\n font-size: 2rem;\r\n}\r\n\r\nh6 {\r\n margin: 1.5em 0 0.5em 0;\r\n font-size: 1.8rem;\r\n}\r\n\r\n.post-tag-content {\r\n padding: max(8vmin,40px) max(4vmin,20px) max(8vmin,64px);\r\n position: relative;\r\n margin: 0 auto;\r\n max-width: 1200px;\r\n width: 100%;\r\n}\r\n\r\n.post-tag-grid {\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\r\n column-gap: 30px;\r\n row-gap: 30px;\r\n}\r\n\r\n@media screen and (max-width: 1080px) {\r\n .post-tag-grid {\r\n column-gap: 30px;\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\r\n row-gap: 30px;\r\n }\r\n}\r\n\r\n@media (max-width: 767px) {\r\n .site-footer .post-tag-content {\r\n max-width: 500px;\r\n grid-template-columns: 1fr;\r\n grid-gap: 0;\r\n text-align: center;\r\n }\r\n .site-footer .copyright,\r\n .site-footer .copyright a {\r\n color: #fff;\r\n font-size: 1.5rem;\r\n }\r\n .site-footer .copyright {\r\n margin-bottom: 16px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 700px) {\r\n .post-tag-grid {\r\n column-gap: 30px;\r\n display: grid;\r\n grid-template-columns: minmax(0,1fr);\r\n row-gap: 30px;\r\n }\r\n}\r\n\r\n.post-tag-grid-item {\r\n overflow: hidden;\r\n text-align:center;\r\n}\r\n\r\n.post-tag-grid-item-svg{\r\n width: 320px;\r\n height: 180px;\r\n}\r\n\r\n.post-tag-grid-item-svg-first{\r\n height: 180px;\r\n width: 80px;\r\n fill: var(--ghost-accent-color);\r\n}\r\n\r\n.post-tag-grid-item-svg-first-obj{\r\n height: 28px;\r\n width: 80px;\r\n x:0;\r\n y:80;\r\n}\r\n\r\n.post-tag-grid-item-svg-first-obj-text{\r\n color: white;\r\n font-size: 32px;\r\n}\r\n\r\n.post-tag-grid-item-svg-second, .post-tag-grid-item-svg-second-obj{\r\n height: 180px;\r\n width: 240px;\r\n x: 80;\r\n y: 0;\r\n}\r\n\r\n.post-tag-grid-item-svg-second-obj-inner{\r\n padding: max(0.5vmin,2px);\r\n}\r\n\r\n.post-tag-grid-item-svg-second{\r\n fill: black;\r\n}\r\n\r\n.post-tag-grid-item-svg-second-obj, .post-tag-grid-item-svg-second-obj-description{\r\n color: white;\r\n}\r\n\r\n.post-tag-grid-item h2 {\r\n font-size: 28px;\r\n margin: 0.3em 0;\r\n position: relative;\r\n text-align: center;\r\n text-transform: uppercase;\r\n}\r\n\r\n.post-tag-grid-item-subtext:after,\r\n.post-tag-grid-item-subtext:before {\r\n content: \" \";\r\n height: 1px;\r\n background: #000;\r\n flex: 1;\r\n}\r\n\r\n.post-tag-grid-item-subtext:after {\r\n margin-left: 5px;\r\n}\r\n\r\n.post-tag-grid-item-subtext:before {\r\n margin-right: 5px;\r\n}\r\n\r\n.post-tags {\r\n margin: 1.2em 0em -1em;\r\n}\r\n\r\n.post-tags a {\r\n border-bottom: none !important;\r\n font-size: small;\r\n margin: 0 1% 0 0\r\n}\r\n\r\n.post-tags a .post-tag-title::before {\r\n content: '#'\r\n}\r\n\r\n.post-tags a .post-tag-title {\r\n margin-top: 2%\r\n}\r\n\r\n.post-tags a .post-tag-title:hover {\r\n background-color: var(--color-background-hover);\r\n color: var(--ghost-main-color) !important;\r\n}\r\n\r\n@media screen and (max-width: 980px) {\r\n article .post-tags a .post-tag-title {\r\n margin-top: 2%\r\n }\r\n}\r\n\r\n.post-tags .post-tags-box-label {\r\n font-size: 1rem;\r\n line-height: 1em;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n color: --color-content-light\r\n}\r\n\r\n.article-share{\r\n margin: 6vmin 0 0;\r\n}\r\n\r\n.article-share ul {\r\n list-style: none;\r\n padding-left: 0em;\r\n}\r\n\r\n.article-share li {\r\n display: inline;\r\n padding-left: 0em;\r\n}\r\n\r\n.article-share li+li {\r\n padding-left: 0.3em;\r\n}\r\n\r\na.social-share-link svg {\r\n height: 32px;\r\n width: 32px;\r\n}\r\n\r\n.post-card-title-custom{\r\n text-transform: uppercase;\r\n}","/* Table of Contents\r\n/* ------------------------------------------------------------\r\n\r\nThis is a development CSS file which is built to a minified\r\nproduction stylesheet in assets/built/screen.css\r\n\r\n1. Global Styles\r\n2. Layout\r\n3. Special Templates\r\n4. Site Header\r\n5. Site Navigation\r\n6. Post Feed\r\n7. Single Post\r\n 7.1. Post Byline\r\n 7.2. Members Subscribe Form\r\n 7.4. Related Posts\r\n 7.5. Koenig Styles\r\n 7.6 Comments\r\n8. Author Template\r\n9. Error Template\r\n11. Site Footer\r\n12. Dark Mode\r\n\r\n*/\r\n\r\n/* 1. Global - Set up the things\r\n/* ---------------------------------------------------------- */\r\n\r\n/* Import CSS reset and base styles */\r\n@import \"global.css\";\r\n\r\n:root {\r\n\r\n /* Colours */\r\n --color-green: #a4d037;\r\n --color-yellow: #fecd35;\r\n --color-red: #f05230;\r\n --color-darkgrey: #15171A;\r\n --color-midgrey: #738a94;\r\n --color-lightgrey: #f1f1f1;\r\n --color-secondary-text: #979797;\r\n --color-border: #e1e1e1;\r\n --color-wash: #e5eff5;\r\n --color-darkmode: #151719;\r\n\r\n /*\r\n An accent color is also set by Ghost itself in\r\n Ghost Admin > Settings > Brand\r\n\r\n --ghost-accent-color: {value};\r\n\r\n You can use this variable throughout your styles\r\n */\r\n\r\n /* Fonts */\r\n --font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\r\n --font-serif: Georgia, Times, serif;\r\n --font-mono: Menlo, Courier, monospace;\r\n\r\n}\r\n\r\n\r\n/* 2. Layout - Page building blocks\r\n/* ---------------------------------------------------------- */\r\n\r\n.viewport {\r\n display: flex;\r\n flex-direction: column;\r\n min-height: 100vh;\r\n}\r\n\r\n.site-content {\r\n flex-grow: 1;\r\n}\r\n\r\n/* Full width page blocks */\r\n.outer {\r\n position: relative;\r\n padding: 0 max(4vmin, 20px);\r\n}\r\n\r\n/* Centered content container blocks */\r\n.inner {\r\n margin: 0 auto;\r\n max-width: 1200px;\r\n width: 100%;\r\n}\r\n\r\n\r\n/* 4. Site Header\r\n/* ---------------------------------------------------------- */\r\n\r\n.site-header {\r\n position: relative;\r\n color: #fff;\r\n background: var(--ghost-accent-color);\r\n}\r\n\r\n.site-header-cover {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n}\r\n\r\n.site-header-content {\r\n position: relative;\r\n z-index: 100;\r\n display: flex;\r\n align-items: center;\r\n padding-top: calc(19vmin + 44px);\r\n padding-bottom: 19vmin;\r\n text-align: center;\r\n color: var(--color-darkgrey);\r\n}\r\n\r\n.has-cover .site-header-content {\r\n min-height: 560px;\r\n background-color: var(--ghost-accent-color);\r\n color: #fff;\r\n}\r\n\r\n.site-header-content.left-aligned {\r\n padding-bottom: 0;\r\n text-align: left;\r\n}\r\n\r\n.has-cover .site-header-content.left-aligned {\r\n align-items: flex-end;\r\n padding-bottom: max(4vmin, 32px);\r\n}\r\n\r\n.site-header-content.no-content {\r\n padding-top: 0;\r\n padding-bottom: 2vmin;\r\n}\r\n\r\n.site-header-inner {\r\n position: relative;\r\n}\r\n\r\n.site-header-content.left-aligned .site-header-inner {\r\n align-items: flex-start;\r\n}\r\n\r\n.site-logo {\r\n flex-shrink: 0;\r\n margin: 0 auto;\r\n max-height: 120px;\r\n}\r\n\r\n.site-header-content.left-aligned .site-logo {\r\n margin-right: auto;\r\n margin-left: 0;\r\n max-height: 96px;\r\n}\r\n\r\n.site-title {\r\n z-index: 10;\r\n margin: 0;\r\n padding: 0;\r\n font-size: 5rem;\r\n font-weight: 800;\r\n}\r\n\r\n.has-serif-title .site-title {\r\n font-family: var(--font-serif);\r\n}\r\n\r\n.has-cover .site-title {\r\n font-size: 6rem;\r\n}\r\n\r\n.site-header-content.left-aligned .site-title {\r\n font-size: 4.4rem;\r\n}\r\n\r\n.has-cover .site-header-content.left-aligned .site-title {\r\n font-size: 4.6rem;\r\n}\r\n\r\n.site-description {\r\n display: inline-block;\r\n z-index: 10;\r\n max-width: 960px;\r\n font-size: 6rem;\r\n font-weight: 700;\r\n line-height: 1.1;\r\n}\r\n\r\n:is(.site-logo, .site-title) + .site-description {\r\n max-width: 640px;\r\n margin-top: 16px;\r\n font-size: 2.4rem;\r\n font-weight: 400;\r\n line-height: 1.4;\r\n}\r\n\r\n.site-logo + .site-description {\r\n margin-top: 20px;\r\n}\r\n\r\n.site-title + .site-description {\r\n color: var(--color-secondary-text);\r\n}\r\n\r\n.has-cover .site-description {\r\n letter-spacing: -0.005em;\r\n color: #fff;\r\n}\r\n\r\n.has-cover :is(.site-logo, .site-title) + .site-description {\r\n font-size: 2.4rem;\r\n}\r\n\r\n.has-cover .site-header-content.left-aligned :is(.site-logo, .site-title) + .site-description {\r\n font-size: 2.2rem;\r\n}\r\n\r\n@media (min-width: 992px) {\r\n .is-head-stacked.has-cover .site-header-content {\r\n padding-top: calc(19vmin + 120px);\r\n }\r\n}\r\n\r\n@media (max-width: 991px) {\r\n .site-header-content {\r\n padding-top: calc(19vmin + 32px);\r\n }\r\n}\r\n\r\n@media (max-width: 767px) {\r\n .has-cover .site-header-content {\r\n min-height: 240px;\r\n }\r\n .site-header-inner {\r\n gap: 16px;\r\n }\r\n .site-logo {\r\n max-width: 60%;\r\n }\r\n .site-title {\r\n font-size: 3.4rem !important;\r\n }\r\n .site-description {\r\n font-size: 2.8rem !important;\r\n }\r\n .site-logo + .site-description {\r\n margin-top: 12px !important;\r\n }\r\n .site-title + .site-description {\r\n margin-top: 4px !important;\r\n }\r\n}\r\n\r\n\r\n/* 5. Site Navigation\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-head {\r\n height: 88px;\r\n font-size: 1.6rem;\r\n line-height: 1.3em;\r\n background-color: #fff;\r\n}\r\n\r\n.has-cover:not(.home-template) .gh-head {\r\n background-color: var(--ghost-accent-color);\r\n color: #fff;\r\n}\r\n\r\n.home-template.has-cover .gh-head {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n left: 0;\r\n z-index: 2000;\r\n background-color: transparent;\r\n color: #fff;\r\n}\r\n\r\n.gh-head a {\r\n text-decoration: none;\r\n}\r\n\r\n.gh-head-inner {\r\n display: grid;\r\n column-gap: 40px;\r\n grid-template-columns: auto 1fr auto;\r\n grid-auto-flow: row dense;\r\n align-items: center;\r\n height: 100%;\r\n}\r\n\r\n/* Header styles\r\n/* ---------------------------------------------------------- */\r\n\r\n.is-head-left-logo .gh-head-inner {\r\n grid-template-columns: auto 1fr auto;\r\n}\r\n\r\n.is-head-left-logo.home-template .gh-head-logo {\r\n display: none;\r\n}\r\n\r\n.is-head-left-logo.home-template .gh-head-menu {\r\n margin-left: -40px;\r\n}\r\n\r\n@media (min-width: 992px) {\r\n .is-head-left-logo .gh-head-menu {\r\n margin-right: 32px;\r\n margin-left: 16px;\r\n }\r\n}\r\n\r\n.is-head-middle-logo .gh-head-inner {\r\n grid-template-columns: 1fr auto 1fr;\r\n}\r\n\r\n.is-head-middle-logo .gh-head-brand {\r\n grid-column-start: 2;\r\n}\r\n\r\n@media (min-width: 992px) {\r\n .is-head-middle-logo .gh-head-menu {\r\n margin-right: 64px;\r\n }\r\n}\r\n\r\n.is-head-stacked .gh-head {\r\n height: auto;\r\n}\r\n\r\n.is-head-stacked .gh-head-inner {\r\n grid-template-columns: 1fr auto 1fr;\r\n}\r\n\r\n.is-head-stacked .gh-head-brand {\r\n grid-row-start: 1;\r\n grid-column-start: 2;\r\n}\r\n\r\n@media (min-width: 992px) {\r\n .is-head-stacked .gh-head-inner {\r\n padding: 0;\r\n }\r\n\r\n .is-head-stacked .gh-head-brand {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n height: 80px;\r\n }\r\n\r\n .is-head-stacked .gh-head-menu {\r\n grid-row-start: 2;\r\n grid-column: 1 / 4;\r\n justify-content: center;\r\n height: 56px;\r\n margin: 0 48px;\r\n }\r\n\r\n .is-head-stacked .gh-head-menu::before,\r\n .is-head-stacked .gh-head-menu::after {\r\n position: absolute;\r\n top: 80px;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n content: \"\";\r\n background-color: var(--color-lightgrey);\r\n }\r\n\r\n .is-head-stacked.has-cover .gh-head-menu::before,\r\n .is-head-stacked.has-cover .gh-head-menu::after {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n }\r\n\r\n .is-head-stacked .gh-head-menu::after {\r\n top: 136px;\r\n }\r\n\r\n .is-head-stacked .gh-head-actions {\r\n grid-row-start: 1;\r\n grid-column: 1 / 4;\r\n justify-content: space-between;\r\n }\r\n}\r\n\r\n/* Brand\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-head-brand {\r\n display: flex;\r\n align-items: center;\r\n height: 40px;\r\n word-break: break-all;\r\n}\r\n\r\n.gh-head-logo {\r\n display: block;\r\n font-weight: 800;\r\n font-size: 2.6rem;\r\n letter-spacing: -0.02em;\r\n color: inherit;\r\n white-space: nowrap;\r\n}\r\n\r\n.gh-head-logo.no-image {\r\n margin-top: -2px;\r\n}\r\n\r\n.has-cover .gh-head-logo {\r\n color: #fff;\r\n}\r\n\r\n.gh-head-logo img {\r\n max-height: 40px;\r\n}\r\n\r\n\r\n/* Primary Navigation\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-head-menu {\r\n display: flex;\r\n align-items: center;\r\n margin-top: 1px;\r\n font-weight: 500;\r\n}\r\n\r\n.gh-head-menu .nav {\r\n display: inline-flex;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n gap: 32px;\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.gh-head-menu .nav li {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.gh-head-menu .nav a {\r\n display: inline-block;\r\n line-height: 1.7;\r\n color: inherit;\r\n}\r\n\r\n.gh-head-menu .nav a:hover {\r\n opacity: 0.9;\r\n}\r\n\r\n.gh-head-menu .nav-more-toggle {\r\n position: relative;\r\n width: 30px;\r\n height: 30px;\r\n margin: 0 -6px;\r\n padding: 0;\r\n font-size: inherit;\r\n background-color: transparent;\r\n text-transform: inherit;\r\n}\r\n\r\n.gh-head-menu .nav-more-toggle svg {\r\n width: 24px;\r\n height: 24px;\r\n}\r\n\r\n@media (min-width: 992px) {\r\n body:not(.is-dropdown-loaded) .gh-head-menu .nav > li {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n\r\n/* Dropdown\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-dropdown {\r\n position: absolute;\r\n top: 100%;\r\n right: -16px;\r\n z-index: 90;\r\n width: 200px;\r\n padding: 12px 0;\r\n margin-top: 24px;\r\n opacity: 0;\r\n visibility: hidden;\r\n text-align: left;\r\n background-color: #fff;\r\n border-radius: 5px;\r\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 7px 20px -5px rgba(0, 0, 0, 0.15);\r\n transform: translate3d(0, 6px, 0);\r\n transition: opacity 0.3s, transform 0.2s;\r\n}\r\n\r\n.is-head-middle-logo .gh-dropdown {\r\n right: auto;\r\n left: -24px;\r\n}\r\n\r\n.is-dropdown-mega .gh-dropdown {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n grid-auto-flow: column;\r\n column-gap: 40px;\r\n min-width: 320px;\r\n padding: 20px 32px;\r\n}\r\n\r\n.is-dropdown-open .gh-dropdown {\r\n opacity: 1;\r\n visibility: visible;\r\n transform: translateY(0);\r\n}\r\n\r\n.gh-head-menu .gh-dropdown li a {\r\n display: block;\r\n padding: 6px 20px;\r\n color: #15171a;\r\n}\r\n\r\n.is-dropdown-mega .gh-dropdown li a {\r\n padding: 8px 0;\r\n}\r\n\r\n\r\n/* Secondary Navigation\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-social {\r\n display: flex;\r\n align-items: center;\r\n gap: 20px;\r\n}\r\n\r\n.gh-social-link {\r\n line-height: 0;\r\n color: inherit;\r\n}\r\n\r\n.gh-social-link:hover {\r\n opacity: 0.9;\r\n}\r\n\r\n.gh-social-link svg {\r\n width: 18px;\r\n height: 18px;\r\n}\r\n\r\n.gh-head-actions {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 24px;\r\n list-style: none;\r\n text-align: right;\r\n}\r\n\r\n.gh-head-button {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 8px 20px;\r\n height: 44px;\r\n font-weight: 600;\r\n letter-spacing: -0.005em;\r\n font-size: 1.6rem;\r\n border-radius: 48px;\r\n color: #fff;\r\n background: var(--ghost-accent-color);\r\n}\r\n\r\n.has-cover .gh-head-button {\r\n color: var(--color-darkgrey);\r\n background: #fff;\r\n}\r\n\r\n\r\n/* Search\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-search {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 32px;\r\n height: 32px;\r\n padding: 0;\r\n cursor: pointer;\r\n background-color: transparent;\r\n border: 0;\r\n outline: none;\r\n}\r\n\r\n.gh-search:hover {\r\n opacity: 0.9;\r\n}\r\n\r\n.gh-head-brand .gh-search {\r\n margin-right: 8px;\r\n}\r\n\r\n.gh-head-actions .gh-search {\r\n margin-right: -4px;\r\n}\r\n\r\n@media (max-width: 991px) {\r\n .gh-head-actions .gh-search {\r\n display: none;\r\n }\r\n}\r\n\r\n@media (min-width: 992px) {\r\n .gh-head-brand .gh-search {\r\n display: none;\r\n }\r\n}\r\n\r\n\r\n/* Mobile Menu Trigger\r\n/* ---------------------------------------------------------- */\r\n\r\n.gh-burger {\r\n position: relative;\r\n display: none;\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n margin-right: -3px;\r\n cursor: pointer;\r\n background-color: transparent;\r\n border: 0;\r\n appearance: none;\r\n}\r\n\r\n.gh-burger::before,\r\n.gh-burger::after {\r\n position: absolute;\r\n left: 3px;\r\n width: 24px;\r\n height: 1px;\r\n content: \"\";\r\n background-color: var(--color-darkgrey);\r\n transition: all 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;\r\n}\r\n\r\n.has-cover .gh-burger::before,\r\n.has-cover .gh-burger::after {\r\n background-color: #fff;\r\n}\r\n\r\n.gh-burger::before {\r\n top: 11px;\r\n}\r\n\r\n.gh-burger::after {\r\n bottom: 11px;\r\n}\r\n\r\n.gh-head-open .gh-burger::before {\r\n top: 15px;\r\n transform: rotate(45deg);\r\n}\r\n\r\n.gh-head-open .gh-burger::after {\r\n bottom: 14px;\r\n transform: rotate(-45deg);\r\n}\r\n\r\n\r\n/* Mobile Menu\r\n/* ---------------------------------------------------------- */\r\n/* IDs needed to ensure sufficient specificity */\r\n\r\n@media (max-width: 991px) {\r\n #gh-head {\r\n height: 64px;\r\n }\r\n\r\n #gh-head .gh-head-inner {\r\n grid-template-rows: auto 1fr auto;\r\n grid-template-columns: 1fr;\r\n gap: 48px;\r\n }\r\n\r\n #gh-head .gh-head-brand {\r\n display: grid;\r\n grid-template-columns: 1fr auto auto;\r\n grid-column-start: 1;\r\n align-items: center;\r\n height: 64px;\r\n }\r\n\r\n #gh-head .gh-head-logo {\r\n font-size: 2.2rem;\r\n }\r\n\r\n #gh-head .gh-head-brand .gh-search {\r\n margin-left: -6px;\r\n }\r\n\r\n #gh-head .gh-burger {\r\n display: block;\r\n }\r\n\r\n #gh-head .gh-head-menu,\r\n #gh-head .gh-head-actions {\r\n position: fixed;\r\n justify-content: center;\r\n visibility: hidden;\r\n opacity: 0;\r\n }\r\n\r\n #gh-head .gh-head-menu {\r\n margin: 0;\r\n transition: none;\r\n transform: translateY(0);\r\n }\r\n\r\n #gh-head .nav {\r\n gap: 16px;\r\n align-items: center;\r\n line-height: 1.4;\r\n }\r\n\r\n #gh-head .nav a {\r\n font-size: 2.6rem;\r\n font-weight: 600;\r\n text-transform: none;\r\n }\r\n\r\n #gh-head .nav li {\r\n opacity: 0;\r\n transform: translateY(-4px);\r\n }\r\n\r\n #gh-head .gh-head-button {\r\n width: 100%;\r\n font-size: 1.8rem;\r\n text-transform: none;\r\n opacity: 0;\r\n transform: translateY(8px);\r\n }\r\n\r\n .gh-head-open #gh-head {\r\n position: fixed;\r\n right: 0;\r\n left: 0;\r\n z-index: 3999999;\r\n height: 100vh;\r\n overflow-y: scroll;\r\n -webkit-overflow-scrolling: touch;\r\n }\r\n\r\n .gh-head-open.has-cover #gh-head,\r\n .gh-head-open.has-cover #gh-head .gh-head-actions {\r\n background-color: var(--ghost-accent-color);\r\n }\r\n\r\n .gh-head-open #gh-head .gh-head-menu,\r\n .gh-head-open #gh-head .gh-head-actions {\r\n position: static;\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n\r\n .gh-head-open #gh-head .nav {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .gh-head-open #gh-head .nav li {\r\n opacity: 1;\r\n transition: transform 0.2s, opacity 0.2s;\r\n transform: translateY(0);\r\n }\r\n\r\n .gh-head-open #gh-head .gh-head-actions {\r\n position: sticky;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n display: inline-flex;\r\n flex-direction: column;\r\n gap: 12px;\r\n align-items: center;\r\n padding: max(4vmin, 20px) 0;\r\n background-color: #fff;\r\n }\r\n\r\n .gh-head-open #gh-head .gh-head-button {\r\n opacity: 1;\r\n transition: transform 0.4s, opacity 0.4s;\r\n transition-delay: 0.2s;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n\r\n/* 6. Post Feed\r\n/* ---------------------------------------------------------- */\r\n\r\n.post-feed {\r\n position: relative;\r\n display: grid;\r\n gap: 4.8vmin 4vmin;\r\n grid-template-columns: repeat(6, 1fr);\r\n padding: max(4.8vmin, 36px) 0 0;\r\n}\r\n\r\n:is(.tag-template, .author-template) .post-feed {\r\n margin-top: 4vmin;\r\n}\r\n\r\n@media (max-width: 991px) {\r\n .post-feed {\r\n grid-template-columns: 1fr 1fr;\r\n }\r\n}\r\n\r\n@media (max-width: 767px) {\r\n .post-feed {\r\n grid-template-columns: 1fr;\r\n grid-gap: 40px;\r\n }\r\n}\r\n\r\n.post-card {\r\n position: relative;\r\n grid-column: span 2;\r\n display: flex;\r\n flex-direction: column;\r\n background-size: cover;\r\n word-break: break-word;\r\n}\r\n\r\n.post-card-image-link {\r\n position: relative;\r\n overflow: hidden;\r\n display: block;\r\n margin-bottom: 32px;\r\n}\r\n\r\n.post-card-image-link::after {\r\n content: \"\";\r\n display: block;\r\n padding-bottom: 55%;\r\n}\r\n\r\n.post-card[class*=\"post-access-\"] .post-card-image-link::after {\r\n background-color: rgba(0, 0, 0, 0.5);\r\n backdrop-filter: blur(3px);\r\n}\r\n\r\n.post-card.keep-ratio[class*=\"post-access-\"] .post-card-image-link::after {\r\n position: absolute;\r\n inset: 0;\r\n padding-bottom: 0;\r\n}\r\n\r\n.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link::after {\r\n padding-bottom: 0;\r\n}\r\n\r\n.post-card-image {\r\n position: absolute;\r\n inset: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: var(--color-lightgrey) no-repeat center center;\r\n object-fit: cover;\r\n}\r\n\r\n.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image {\r\n position: static;\r\n}\r\n\r\n.post-card-access {\r\n position: absolute;\r\n inset: 0;\r\n z-index: 10;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 4px;\r\n font-size: 1.5rem;\r\n font-weight: 600;\r\n color: #fff;\r\n}\r\n\r\n.post-card-content-link {\r\n position: relative;\r\n display: block;\r\n color: var(--color-darkgrey);\r\n}\r\n\r\n.post-card-content-link:hover {\r\n text-decoration: none;\r\n}\r\n\r\n.post-feed .no-image .post-card-content-link {\r\n padding: 0;\r\n}\r\n\r\n.no-image .post-card-header {\r\n margin-top: 0;\r\n}\r\n\r\n.post-card-tags {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\r\n margin: 0 0 10px;\r\n color: var(--color-secondary-text);\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n letter-spacing: -0.005em;\r\n line-height: 1;\r\n}\r\n\r\n.post-card-featured {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n gap: 3px;\r\n padding-left: 18px;\r\n color: var(--ghost-accent-color);\r\n}\r\n\r\n.post-card-featured svg {\r\n position: absolute;\r\n left: 0;\r\n}\r\n\r\n.post-card-title {\r\n margin: 0;\r\n font-size: 2.6rem;\r\n font-weight: 800;\r\n line-height: 1.2;\r\n}\r\n\r\n.post-card-content-link:hover .post-card-title {\r\n opacity: 0.9;\r\n}\r\n\r\n.no-image .post-card-title {\r\n margin-top: 0;\r\n}\r\n\r\n.has-serif-title .post-card-title {\r\n font-family: var(--font-serif);\r\n letter-spacing: -0.005em;\r\n}\r\n\r\n.post-card-title svg {\r\n margin-top: -3px;\r\n margin-left: -1px;\r\n}\r\n\r\n.post-card-content {\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.post-card-excerpt {\r\n display: -webkit-box;\r\n overflow-y: hidden;\r\n margin-top: 12px;\r\n max-width: 720px;\r\n font-size: 1.6rem;\r\n line-height: 1.5;\r\n -webkit-line-clamp: 3;\r\n -webkit-box-orient: vertical;\r\n word-break: break-word;\r\n}\r\n\r\n.has-sans-body .post-card-excerpt {\r\n font-family: var(--font-sans);\r\n}\r\n\r\n.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt {\r\n -webkit-line-clamp: 2;\r\n}\r\n\r\n:is(.tag-template, .author-template) .post-card-excerpt {\r\n margin-top: 6px;\r\n}\r\n\r\n.post-card-meta {\r\n display: flex;\r\n align-items: center;\r\n gap: 6px;\r\n margin-top: 12px;\r\n padding: 0;\r\n font-size: 1.3rem;\r\n color: var(--color-secondary-text);\r\n}\r\n\r\n.post-card-meta > * {\r\n display: flex;\r\n align-items: center;\r\n gap: 6px;\r\n}\r\n\r\n.post-card-meta > * + *:not(script)::before {\r\n width: 2px;\r\n height: 2px;\r\n content: \"\";\r\n background-color: var(--color-secondary-text);\r\n border-radius: 50%;\r\n}\r\n\r\n.post-card-meta .sep {\r\n margin: 0 4px;\r\n}\r\n\r\n.author-profile-image {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n background: color-mod(var(--color-lightgrey) l(+10%));\r\n border-radius: 100%;\r\n\r\n object-fit: cover;\r\n}\r\n\r\n.author-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 0 0 4px;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n.author-list-item {\r\n position: relative;\r\n flex-shrink: 0;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n\r\n/* Special Styling for home page grid (below):\r\n\r\nThe first post in the list is styled to be bigger than the others and take over\r\nthe full width of the grid to give it more emphasis. Wrapped in a media query to\r\nmake sure this only happens on large viewports / desktop-ish devices.\r\n\r\n*/\r\n\r\n@media (min-width: 1001px) {\r\n .post-card-large {\r\n grid-column: span 6;\r\n display: grid;\r\n grid-gap: 4vmin;\r\n grid-template-columns: repeat(3, 1fr);\r\n border-top: 0;\r\n }\r\n\r\n .post-card-large:not(.no-image) .post-card-header {\r\n margin-top: 0;\r\n }\r\n\r\n .post-card-large .post-card-image-link {\r\n position: relative;\r\n grid-column: span 2;\r\n margin-bottom: 0;\r\n }\r\n\r\n .post-card-large .post-card-content {\r\n grid-column: span 1;\r\n }\r\n\r\n .post-card-large.no-image .post-card-content {\r\n grid-column: span 2;\r\n }\r\n\r\n .post-card-large .post-card-image {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .post-card-large .post-card-tags {\r\n margin-bottom: 12px;\r\n }\r\n\r\n .post-card-large .post-card-title {\r\n margin-top: 0;\r\n font-size: 4.4rem;\r\n line-height: 1.05;\r\n }\r\n\r\n .post-card-large .post-card-excerpt {\r\n margin-top: 16px;\r\n }\r\n\r\n .post-card-full {\r\n grid-column: span 6;\r\n }\r\n\r\n .post-card-full .post-card-image-link {\r\n margin-bottom: 40px;\r\n }\r\n\r\n .post-card-full .post-card-tags {\r\n margin-bottom: 14px;\r\n }\r\n\r\n .post-card-full .post-card-title {\r\n font-size: 6.4rem;\r\n line-height: 0.95;\r\n }\r\n\r\n .post-card-full .post-card-excerpt {\r\n margin-top: 20px;\r\n font-size: 1.8rem;\r\n }\r\n\r\n .post-card-large + .post-card-large:nth-child(even) {\r\n margin: 32px 0;\r\n }\r\n\r\n .post-card-large + .post-card-large:nth-child(even) .post-card-content {\r\n order: -1;\r\n }\r\n\r\n .post-card.dynamic {\r\n grid-column: span 3;\r\n }\r\n\r\n .post-card.dynamic .post-card-title {\r\n font-size: 3rem;\r\n }\r\n}\r\n\r\n\r\n/* 7. Single Post\r\n/* ---------------------------------------------------------- */\r\n\r\n.article {\r\n padding: max(8vmin, 40px) 0 max(8vmin, 64px);\r\n word-break: break-word;\r\n}\r\n\r\n.page-template .article {\r\n padding-top: max(12vmin, 64px);\r\n}\r\n\r\n.article-header {\r\n padding: 0 0 max(6.4vmin, 40px) 0;\r\n}\r\n\r\n.page-template .article-header {\r\n padding-bottom: max(3.2vmin, 28px);\r\n}\r\n\r\n.article-tag {\r\n margin-bottom: 16px;\r\n font-size: 1.6rem;\r\n}\r\n\r\n.article-tag a {\r\n color: var(--color-secondary-text);\r\n}\r\n\r\n.article-title {\r\n margin-bottom: 0;\r\n font-size: clamp(3.2rem, 5vw, 5.2rem);\r\n font-weight: 800;\r\n line-height: 1.05;\r\n color: var(--color-darkgrey);\r\n}\r\n\r\n.has-serif-title .article-title {\r\n font-family: var(--font-serif);\r\n}\r\n\r\n.article-excerpt {\r\n margin-top: 20px;\r\n max-width: 720px;\r\n font-size: 2rem;\r\n line-height: 1.45;\r\n color: var(--color-darkgrey);\r\n}\r\n\r\n.gh-canvas .article-image {\r\n grid-column: wide-start / wide-end;\r\n width: 100%;\r\n margin: max(6.4vmin, 40px) 0 0;\r\n}\r\n\r\n.image-full .article-image {\r\n grid-column: full-start / full-end;\r\n}\r\n\r\n.image-small .article-image {\r\n grid-column: main-start / main-end;\r\n}\r\n\r\n.gh-canvas .article-image img {\r\n display: block;\r\n margin-left: auto;\r\n margin-right: auto;\r\n width: 100%;\r\n}\r\n\r\n@media (max-width: 767px) {\r\n .article-excerpt {\r\n margin-top: 14px;\r\n font-size: 1.7rem;\r\n }\r\n}\r\n\r\n/* -------- */\r\n\r\n/* Content grid\r\n/* ---------------------------------------------------------- */\r\n\r\n/* Canvas creates a multi-column, centered grid which the post\r\nis laid out on top of. Canvas just defines the grid, we don't\r\nuse it for applying any other styles. */\r\n\r\n.gh-canvas {\r\n display: grid;\r\n grid-template-columns:\r\n [full-start]\r\n minmax(max(4vmin, 20px), auto)\r\n [wide-start]\r\n minmax(auto, 240px)\r\n [main-start]\r\n min(720px, calc(100% - max(8vmin, 40px)))\r\n [main-end]\r\n minmax(auto, 240px)\r\n [wide-end]\r\n minmax(max(4vmin, 20px), auto)\r\n [full-end]\r\n ;\r\n}\r\n\r\n.gh-canvas > * {\r\n grid-column: main-start / main-end;\r\n}\r\n\r\n.kg-width-wide {\r\n grid-column: wide-start / wide-end;\r\n}\r\n\r\n.kg-width-full {\r\n grid-column: full-start / full-end;\r\n}\r\n\r\n.kg-width-full img {\r\n width: 100%;\r\n}\r\n\r\n\r\n/* Content\r\n/* ---------------------------------------------------------- */\r\n\r\n/* Content refers to styling all page and post content that is\r\ncreated within the Ghost editor. The main content handles\r\nheadings, text, images and lists. We deal with cards lower down. */\r\n\r\n/* Default vertical spacing */\r\n.gh-content > * + * {\r\n margin-top: max(3.2vmin, 24px);\r\n margin-bottom: 0;\r\n}\r\n\r\n/* [id] represents all headings h1-h6, reset all margins */\r\n.gh-content > [id] {\r\n margin: 0;\r\n color: var(--color-darkgrey);\r\n}\r\n\r\n.has-serif-title .gh-content > [id] {\r\n font-family: var(--font-serif);\r\n}\r\n\r\n/* Add back a top margin to all headings, unless a heading\r\nis the very first element in the post content */\r\n.gh-content > [id]:not(:first-child) {\r\n margin: 2em 0 0;\r\n}\r\n\r\n/* Add a small margin between a heading and anything after it */\r\n.gh-content > [id] + * {\r\n margin-top: 1.5rem !important;\r\n}\r\n\r\n/* A larger margin before/after HRs and blockquotes */\r\n.gh-content > hr,\r\n.gh-content > blockquote {\r\n position: relative;\r\n margin-top: max(4.8vmin, 32px);\r\n}\r\n.gh-content > hr + *,\r\n.gh-content > blockquote + * {\r\n margin-top: max(4.8vmin, 32px) !important;\r\n}\r\n\r\n/* Now the content typography styles */\r\n.gh-content a {\r\n color: var(--ghost-accent-color);\r\n text-decoration: underline;\r\n word-break: break-word;\r\n}\r\n\r\n.gh-content > blockquote:not([class]),\r\n.gh-content > ol,\r\n.gh-content > ul,\r\n.gh-content > dl,\r\n.gh-content > p {\r\n font-family: var(--font-serif);\r\n font-weight: 400;\r\n font-size: 2rem;\r\n line-height: 1.6em;\r\n}\r\n\r\n.gh-content .kg-callout-card .kg-callout-text,\r\n.gh-content .kg-toggle-card .kg-toggle-content > ol,\r\n.gh-content .kg-toggle-card .kg-toggle-content > ul,\r\n.gh-content .kg-toggle-card .kg-toggle-content > p {\r\n font-family: var(--font-serif);\r\n font-weight: 400;\r\n font-size: 1.9rem;\r\n line-height: 1.6em;\r\n}\r\n\r\n.gh-content .kg-product-card .kg-product-card-description > p,\r\n.gh-content .kg-product-card .kg-product-card-description > ol,\r\n.gh-content .kg-product-card .kg-product-card-description > ul {\r\n font-size: 1.7rem;\r\n line-height: 1.6em;\r\n}\r\n\r\n.gh-content .kg-callout-card .kg-callout-emoji {\r\n font-size: 2.1rem;\r\n line-height: 1.4em;\r\n}\r\n\r\n.gh-content .kg-toggle-card .kg-toggle-heading-text {\r\n font-size: 2.0rem;\r\n}\r\n\r\n.has-sans-body .gh-content > blockquote,\r\n.has-sans-body .gh-content > ol,\r\n.has-sans-body .gh-content > ul,\r\n.has-sans-body .gh-content > dl,\r\n.has-sans-body .gh-content > p,\r\n.has-sans-body .gh-content .kg-callout-card .kg-callout-text,\r\n.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ol,\r\n.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ul,\r\n.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > p {\r\n font-family: var(--font-sans);\r\n}\r\n\r\n.gh-content > ul,\r\n.gh-content > ol,\r\n.gh-content > dl,\r\n.gh-content .kg-toggle-card .kg-toggle-content > ol,\r\n.gh-content .kg-toggle-card .kg-toggle-content > ul,\r\n.gh-content .kg-product-card .kg-product-card-description > ol,\r\n.gh-content .kg-product-card .kg-product-card-description > ul {\r\n padding-left: 1.9em;\r\n}\r\n\r\n.gh-content > blockquote:not([class]) {\r\n position: relative;\r\n font-style: italic;\r\n padding: 0;\r\n}\r\n\r\n.gh-content > blockquote:not([class])::before {\r\n content: \"\";\r\n position: absolute;\r\n left: -1.5em;\r\n top: 0;\r\n bottom: 0;\r\n width: 0.3rem;\r\n background: var(--ghost-accent-color);\r\n}\r\n\r\n.gh-content :not(pre) > code {\r\n vertical-align: middle;\r\n padding: 0.15em 0.4em 0.15em;\r\n border: #e1eaef 1px solid;\r\n font-weight: 400 !important;\r\n font-size: 0.9em;\r\n line-height: 1em;\r\n color: #15171A;\r\n background: #f0f6f9;\r\n border-radius: 0.25em;\r\n}\r\n\r\n.gh-content pre {\r\n overflow: auto;\r\n padding: 16px 20px;\r\n color: var(--color-wash);\r\n font-size: 1.4rem;\r\n line-height: 1.5em;\r\n background: var(--color-darkgrey);\r\n border-radius: 5px;\r\n box-shadow: 0 2px 6px -2px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.4);\r\n}\r\n\r\n@media (max-width: 650px) {\r\n .gh-content > blockquote:not([class]),\r\n .gh-content > ol,\r\n .gh-content > ul,\r\n .gh-content > dl,\r\n .gh-content > p,\r\n .gh-content .kg-callout-card .kg-callout-text,\r\n .gh-content .kg-toggle-card .kg-toggle-content > ol,\r\n .gh-content .kg-toggle-card .kg-toggle-content > ul,\r\n .gh-content .kg-toggle-card .kg-toggle-content > p {\r\n font-size: 1.8rem;\r\n }\r\n\r\n .gh-content .kg-product-card .kg-product-card-description > p,\r\n .gh-content .kg-product-card .kg-product-card-description > ol,\r\n .gh-content .kg-product-card .kg-product-card-description > ul {\r\n font-size: 1.6rem;\r\n }\r\n\r\n .gh-content blockquote:not([class])::before {\r\n left: min(-4vmin, -20px);\r\n }\r\n}\r\n\r\n\r\n/* Cards\r\n/* ---------------------------------------------------------- */\r\n\r\n/* Cards are dynamic blocks of content which appear within Ghost\r\nposts, for example: embedded videos, tweets, galleries, or\r\nspecially styled bookmark links. We add extra styling here to\r\nmake sure they look good, and are given a bit of extra spacing. */\r\n\r\n/* Add extra margin before/after any cards,\r\nexcept for when immediately preceeded by a heading */\r\n.gh-content :not(.kg-card):not([id]) + .kg-card {\r\n margin-top: 6vmin;\r\n margin-bottom: 0;\r\n}\r\n.gh-content .kg-card + :not(.kg-card) {\r\n margin-top: 6vmin;\r\n margin-bottom: 0;\r\n}\r\n\r\n/* This keeps small embeds centered */\r\n.kg-embed-card {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n}\r\n\r\n/* This keeps small iamges centered */\r\n.kg-image-card img {\r\n margin: auto;\r\n}\r\n\r\n.has-serif-title .kg-toggle-card .kg-toggle-heading-text {\r\n font-family: var(--font-serif);\r\n}\r\n\r\n.gh-content .kg-callout-card-accent a {\r\n text-decoration: underline;\r\n}\r\n\r\n.kg-blockquote-alt {\r\n font-family: var(--font-serif);\r\n color: var(--color-midgrey);\r\n}\r\n\r\n.has-sans-body .kg-blockquote-alt {\r\n font-family: var(--font-sans);\r\n}\r\n\r\n.kg-card.kg-header-card.kg-style-dark {\r\n background: var(--color-darkgrey);\r\n}\r\n\r\n.kg-header-card.kg-style-light h2.kg-header-card-header {\r\n color: color-mod(var(--color-darkgrey) l(-5%));\r\n}\r\n\r\n.has-serif-title .kg-header-card h2.kg-header-card-header {\r\n font-family: var(--font-serif);\r\n}\r\n\r\n\r\n/* Captions */\r\nfigcaption {\r\n padding: 1.5rem 1.5rem 0;\r\n text-align: center;\r\n color: rgba(0,0,0,0.5);\r\n font-size: 1.3rem;\r\n line-height: 1.4em;\r\n}\r\nfigcaption strong {\r\n color: rgba(0,0,0,0.8);\r\n}\r\nfigcaption a {\r\n text-decoration: underline;\r\n}\r\n\r\n\r\n/* Highly specific styles for traditional Instagram embeds */\r\niframe.instagram-media {\r\n margin-top: 6vmin !important;\r\n margin-left: auto !important;\r\n margin-right: auto !important;\r\n margin-bottom: 0 !important;\r\n}\r\n\r\niframe.instagram-media + script + :not([id]) {\r\n margin-top: 6vmin;\r\n}\r\n\r\n\r\n/* Card captions\r\n/* ---------------------------------------------------------- */\r\n\r\n.kg-width-full.kg-card-hascaption {\r\n display: grid;\r\n grid-template-columns: inherit;\r\n}\r\n\r\n.kg-width-wide.kg-card-hascaption img {\r\n grid-column: wide-start / wide-end;\r\n}\r\n.kg-width-full.kg-card-hascaption img {\r\n grid-column: 1 / -1;\r\n}\r\n\r\n.kg-width-full.kg-card-hascaption figcaption {\r\n grid-column: main-start / main-end;\r\n}\r\n\r\n.article-comments {\r\n margin: 6vmin 0 0 0;\r\n}\r\n\r\n/* -----old------ */\r\n\r\n.footnotes-sep {\r\n margin-bottom: 30px;\r\n}\r\n\r\n.footnotes {\r\n font-size: 1.5rem;\r\n}\r\n\r\n.footnotes p {\r\n margin: 0;\r\n}\r\n\r\n.footnote-backref {\r\n font-size: 1.2rem;\r\n font-weight: bold;\r\n text-decoration: none !important;\r\n box-shadow: none !important;\r\n}\r\n\r\n/* Tables */\r\n.gh-content table:not(.gist table) {\r\n display: inline-block;\r\n overflow-x: auto;\r\n max-width: 100%;\r\n width: auto;\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n font-family: var(--font-sans);\r\n font-size: 1.6rem;\r\n white-space: nowrap;\r\n vertical-align: top;\r\n -webkit-overflow-scrolling: touch;\r\n background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center;\r\n background-attachment: scroll, scroll;\r\n background-size: 10px 100%, 10px 100%;\r\n background-repeat: no-repeat;\r\n}\r\n\r\n.gh-content table:not(.gist table) td:first-child {\r\n background-image: linear-gradient(to right, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);\r\n background-size: 20px 100%;\r\n background-repeat: no-repeat;\r\n}\r\n\r\n.gh-content table:not(.gist table) td:last-child {\r\n background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);\r\n background-position: 100% 0;\r\n background-size: 20px 100%;\r\n background-repeat: no-repeat;\r\n}\r\n\r\n.gh-content table:not(.gist table) th {\r\n color: var(--color-darkgrey);\r\n font-size: 1.2rem;\r\n font-weight: 700;\r\n letter-spacing: 0.2px;\r\n text-align: left;\r\n text-transform: uppercase;\r\n background-color: color-mod(var(--color-wash) l(+4%));\r\n}\r\n\r\n.gh-content table:not(.gist table) th,\r\n.gh-content table:not(.gist table) td {\r\n padding: 6px 12px;\r\n border: color-mod(var(--color-wash) l(-1%) s(-5%)) 1px solid;\r\n}\r\n\r\n\r\n/* 7.1. Post Byline\r\n/* ---------------------------------------------------------- */\r\n\r\n.article-byline {\r\n display: flex;\r\n justify-content: space-between;\r\n margin: min(24px, 5.6vmin) 0 0;\r\n}\r\n\r\n.article-byline-content {\r\n flex-grow: 1;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.article-byline-content .author-list {\r\n justify-content: flex-start;\r\n padding: 0 14px 0 0;\r\n}\r\n\r\n.article-byline-meta {\r\n color: var(--color-secondary-text);\r\n font-size: 1.4rem;\r\n line-height: 1.2em;\r\n}\r\n\r\n.article-byline-meta .author-name {\r\n margin: 0 0 6px;\r\n font-size: 1.7rem;\r\n font-weight: 700;\r\n letter-spacing: 0;\r\n}\r\n\r\n.article-byline-meta .bull {\r\n display: inline-block;\r\n margin: 0 2px;\r\n}\r\n\r\n.author-avatar {\r\n display: block;\r\n overflow: hidden;\r\n margin: 0 -4px;\r\n width: min(56px, 13.6vmin);\r\n height: min(56px, 13.6vmin);\r\n border: #fff 2px solid;\r\n border-radius: 50%;\r\n background-color: var(--color-border);\r\n}\r\n\r\n.page-template .article-title {\r\n margin-bottom: 0;\r\n}\r\n\r\n@media (max-width: 767px) {\r\n .article-byline-content .author-list {\r\n padding-right: 12px;\r\n }\r\n .article-byline-meta .author-name {\r\n margin-bottom: 4px;\r\n }\r\n}\r\n\r\n\r\n/* 7.3. Subscribe\r\n/* ---------------------------------------------------------- */\r\n\r\n.footer-cta {\r\n position: relative;\r\n text-align: center;\r\n}\r\n\r\n.footer-cta-title {\r\n margin: 0 0 min(24px, 6.4vmin);\r\n font-size: clamp(2.6rem, 5vw, 3.8rem);\r\n font-weight: 800;\r\n}\r\n\r\n.has-serif-title .footer-cta-title {\r\n font-family: var(--font-serif);\r\n}\r\n\r\n.footer-cta-button {\r\n position: relative;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n width: 100%;\r\n max-width: 500px;\r\n padding: 5px 5px 5px 15px;\r\n font-size: 1.7rem;\r\n color: var(--color-secondary-text);\r\n background: #fff;\r\n border: 1px solid var(--color-border);\r\n border-radius: 8px;\r\n transition: border-color 0.2s;\r\n}\r\n\r\n.footer-cta-button:hover {\r\n border-color: color-mod(var(--color-border) l(-12%));\r\n}\r\n\r\n.footer-cta-button span {\r\n display: inline-block;\r\n padding: 9px 15px;\r\n color: #fff;\r\n font-size: 1.6rem;\r\n font-weight: 600;\r\n letter-spacing: -0.005em;\r\n background: var(--ghost-accent-color);\r\n border-radius: 6px;\r\n}\r\n\r\n\r\n/* 7.4. Read more\r\n/* ---------------------------------------------------------- */\r\n\r\n.read-more-wrap {\r\n margin-top: 2.4vmin;\r\n}\r\n\r\n.footer-cta + .read-more-wrap {\r\n margin-top: max(12vmin, 72px);\r\n}\r\n\r\n.read-more {\r\n display: grid;\r\n grid-template-columns: repeat(6, 1fr);\r\n grid-gap: 4vmin;\r\n}\r\n\r\n.read-more .post-card-tags {\r\n display: none;\r\n}\r\n\r\n@media (max-width: 1000px) {\r\n .read-more {\r\n grid-template-columns: repeat(4, 1fr);\r\n }\r\n .read-more .post-card:nth-child(3) {\r\n display: none;\r\n }\r\n}\r\n\r\n@media (max-width: 700px) {\r\n .read-more {\r\n grid-template-columns: repeat(2, 1fr);\r\n }\r\n .read-more .post-card:nth-child(2) {\r\n display: none;\r\n }\r\n}\r\n\r\n/* 7.6. Comments\r\n/* ---------------------------------------------------------- */\r\n.comments {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n margin: 60px 0 44px;\r\n}\r\n\r\n\r\n.comments-head {\r\n display: flex;\r\n align-items: baseline;\r\n justify-content: space-between;\r\n margin-bottom: 32px;\r\n width: 100%;\r\n max-width: 720px;\r\n}\r\n\r\n.comments h2 {\r\n width: 100%;\r\n max-width: 720px;\r\n font-weight: 800;\r\n font-size: 3.4rem;\r\n}\r\n\r\n.comments .comment-count {\r\n color: var(--color-midgrey);\r\n font-weight: 600;\r\n white-space: nowrap;\r\n}\r\n\r\n.comments #ghost-comments-root {\r\n width: 100%;\r\n max-width: 720px;\r\n}\r\n\r\n\r\n/* 8. Author Template\r\n/* ---------------------------------------------------------- */\r\n\r\n.author-profile-pic {\r\n display: block;\r\n width: 80px;\r\n height: 80px;\r\n object-fit: cover;\r\n margin: 0 0 2rem;\r\n background: color-mod(var(--color-lightgrey) l(+10%));\r\n border-radius: 50%;\r\n}\r\n\r\n.author-profile-footer {\r\n margin-top: 16px;\r\n}\r\n\r\n.author-profile-location {\r\n font-weight: 700;\r\n}\r\n\r\n.author-profile-meta {\r\n display: flex;\r\n gap: 10px;\r\n}\r\n\r\n.author-profile-social-link {\r\n font-size: 1.3rem;\r\n color: var(--color-secondary-text);\r\n}\r\n\r\n.author-profile-social-link:hover {\r\n color: var(--color-darkgrey);\r\n}\r\n\r\n.author-profile-social-link svg {\r\n width: 16px;\r\n height: 16px;\r\n}\r\n\r\n@media (min-width: 1001px) {\r\n .author-template .post-card-large .post-card-content:only-child {\r\n grid-column: span 2;\r\n max-width: 640px;\r\n }\r\n}\r\n\r\n\r\n/* 8. Tag Template\r\n/* ---------------------------------------------------------- */\r\n\r\n.tag-template .post-card-large .post-card-image-link {\r\n grid-column: 2 / span 2;\r\n order: 2;\r\n}\r\n\r\n.tag-template .post-card-large .post-card-content {\r\n order: 1;\r\n}\r\n\r\n@media (min-width: 1001px) {\r\n .tag-template .post-card-large .post-card-content:only-child {\r\n grid-column: span 2;\r\n max-width: 640px;\r\n }\r\n}\r\n\r\n/* 9. Error Template\r\n/* ---------------------------------------------------------- */\r\n\r\n.error-content {\r\n padding: 14vw 4vw 2vw;\r\n}\r\n\r\n.error-message {\r\n padding-bottom: 10vw;\r\n text-align: center;\r\n}\r\n\r\n.error-code {\r\n margin: 0;\r\n font-size: 12vw;\r\n line-height: 1em;\r\n letter-spacing: -5px;\r\n}\r\n\r\n.error-description {\r\n margin: 0;\r\n color: var(--color-secondary-text);\r\n font-size: 3.2rem;\r\n line-height: 1.3em;\r\n letter-spacing: -0.005em;\r\n font-weight: 400;\r\n}\r\n\r\n.error-link {\r\n display: inline-block;\r\n margin-top: 5px;\r\n}\r\n\r\n@media (min-width: 940px) {\r\n .error-content .post-card {\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n border-bottom: none;\r\n }\r\n}\r\n\r\n@media (max-width: 800px) {\r\n .error-content {\r\n padding-top: 24vw;\r\n }\r\n .error-code {\r\n font-size: 11.2rem;\r\n }\r\n .error-message {\r\n padding-bottom: 16vw;\r\n }\r\n .error-description {\r\n margin: 5px 0 0 0;\r\n font-size: 1.8rem;\r\n }\r\n}\r\n\r\n@media (max-width: 500px) {\r\n .error-content {\r\n padding-top: 28vw;\r\n }\r\n .error-message {\r\n padding-bottom: 14vw;\r\n }\r\n}\r\n\r\n\r\n/* 11. Site Footer\r\n/* ---------------------------------------------------------- */\r\n\r\n.site-footer {\r\n position: relative;\r\n margin: max(12vmin, 64px) 0 0 0;\r\n padding-top: 48px;\r\n padding-bottom: 140px;\r\n color: #fff;\r\n background: color-mod(var(--color-darkgrey) l(-5%));\r\n}\r\n\r\n.site-footer .inner {\r\n display: grid;\r\n grid-gap: 40px;\r\n grid-template-columns: auto 1fr auto;\r\n color: rgba(255,255,255,0.7);\r\n font-size: 1.3rem;\r\n}\r\n\r\n.site-footer .copyright a {\r\n color: #fff;\r\n letter-spacing: -0.015em;\r\n font-weight: 500;\r\n}\r\n\r\n.site-footer a {\r\n color: rgba(255,255,255,0.7);\r\n}\r\n\r\n.site-footer a:hover {\r\n color: rgba(255,255,255,1);\r\n text-decoration: none;\r\n}\r\n\r\n.site-footer-nav ul {\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin: 0 0 20px;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n.site-footer-nav li {\r\n display: inline-flex;\r\n align-items: center;\r\n padding: 0;\r\n margin: 0;\r\n line-height: 2em;\r\n}\r\n\r\n.site-footer-nav a {\r\n position: relative;\r\n display: inline-flex;\r\n align-items: center;\r\n margin-left: 10px;\r\n}\r\n\r\n.site-footer-nav li:not(:first-child) a:before {\r\n content: \"\";\r\n display: block;\r\n width: 2px;\r\n height: 2px;\r\n margin: 0 10px 0 0;\r\n background: #fff;\r\n border-radius: 100%;\r\n}\r\n\r\n@media (max-width: 767px) {\r\n .site-footer .inner {\r\n max-width: 500px;\r\n grid-template-columns: 1fr;\r\n grid-gap: 0;\r\n text-align: center;\r\n }\r\n .site-footer .copyright,\r\n .site-footer .copyright a {\r\n color: #fff;\r\n font-size: 1.5rem;\r\n }\r\n .site-footer .copyright {\r\n margin-bottom: 16px;\r\n }\r\n}\r\n\r\n\r\n/* 12. Dark Mode\r\n/* ---------------------------------------------------------- */\r\n\r\nhtml.dark-mode body {\r\n color: rgba(255, 255, 255, 0.75);\r\n background: var(--color-darkmode);\r\n}\r\n\r\nhtml.dark-mode img {\r\n opacity: 0.9;\r\n}\r\n\r\nhtml.dark-mode kbd {\r\n background: color-mod(var(--color-darkmode) l(+5%));\r\n}\r\n\r\nhtml.dark-mode figcaption a {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .gh-head {\r\n background: var(--color-darkmode);\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .gh-burger-box {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .site-header-content {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .post-card-image {\r\n background: var(--color-darkmode);\r\n}\r\n\r\nhtml.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {\r\n color: color-mod(var(--color-secondary-text) l(-22%));\r\n}\r\n\r\nhtml.dark-mode .post-card-featured {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .post-card-title {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .post-card-excerpt {\r\n color: var(--color-secondary-text);\r\n}\r\n\r\nhtml.dark-mode .author-profile-location {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .author-profile-social-link:hover {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .article-title {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .article-excerpt {\r\n color: var(--color-secondary-text);\r\n}\r\n\r\nhtml.dark-mode .post-full-image {\r\n background-color: color-mod(var(--color-darkmode) l(+8%));\r\n}\r\n\r\nhtml.dark-mode .author-avatar {\r\n border-color: var(--color-darkmode);\r\n background-color: color-mod(var(--color-darkmode) l(+8%));\r\n}\r\n\r\nhtml.dark-mode .author-profile-image {\r\n opacity: 1;\r\n}\r\n\r\nhtml.dark-mode .author-profile-image path {\r\n fill: var(--color-darkmode);\r\n}\r\n\r\nhtml.dark-mode .article-byline-meta .author-name a {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .no-image .author-social-link a {\r\n color: rgba(255, 255, 255, 0.75);\r\n}\r\n\r\nhtml.dark-mode .gh-content > [id] {\r\n color: rgba(255, 255, 255, 0.9);\r\n}\r\n\r\nhtml.dark-mode .gh-content pre {\r\n background: color-mod(var(--color-darkgrey) l(-8%));\r\n}\r\n\r\nhtml.dark-mode .gh-content :not(pre) > code {\r\n background: color-mod(var(--color-darkgrey) l(+6%));\r\n border-color: color-mod(var(--color-darkmode) l(+8%));\r\n color: var(--color-wash);\r\n}\r\n\r\n:where(html.dark-mode) .gh-content a {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .gh-content strong {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .gh-content em {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .gh-content code {\r\n color: #fff;\r\n background: #000;\r\n}\r\n\r\nhtml.dark-mode hr {\r\n border-top-color: color-mod(var(--color-darkmode) l(+8%));\r\n}\r\n\r\nhtml.dark-mode .gh-content hr:after {\r\n background: color-mod(var(--color-darkmode) l(+8%));\r\n box-shadow: var(--color-darkmode) 0 0 0 5px;\r\n}\r\n\r\nhtml.dark-mode figcaption {\r\n color: rgba(255, 255, 255, 0.6);\r\n}\r\n\r\nhtml.dark-mode .gh-content table:not(.gist table) td:first-child {\r\n background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\r\n}\r\n\r\nhtml.dark-mode .gh-content table:not(.gist table) td:last-child {\r\n background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\r\n}\r\n\r\nhtml.dark-mode .gh-content table:not(.gist table) th {\r\n color: rgba(255, 255, 255, 0.85);\r\n background-color: color-mod(var(--color-darkmode) l(+8%));\r\n}\r\n\r\nhtml.dark-mode .gh-content table:not(.gist table) th,\r\nhtml.dark-mode .gh-content table:not(.gist table) td {\r\n border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;\r\n}\r\n\r\nhtml.dark-mode .gh-content input {\r\n color: color-mod(var(--color-midgrey) l(-30%));\r\n}\r\n\r\nhtml.dark-mode .site-archive-header .no-image {\r\n color: rgba(255, 255, 255, 0.9);\r\n background: var(--color-darkmode);\r\n}\r\n\r\nhtml.dark-mode .kg-header-card.kg-style-dark {\r\n background: color-mod(var(--color-darkgrey) l(-5%));\r\n}\r\n\r\nhtml.dark-mode .kg-header-card.kg-style-light {\r\n background: color-mod(var(--color-darkgrey) l(+5%));\r\n}\r\n\r\nhtml.dark-mode .kg-header-card h2.kg-header-card-header,\r\nhtml.dark-mode .kg-header-card h3.kg-header-card-subheader {\r\n color: #fff;\r\n}\r\n\r\nhtml.dark-mode .footer-cta-title {\r\n color: #fff;\r\n}\r\n\r\n@media (prefers-color-scheme: dark) {\r\n html.auto-color body {\r\n color: rgba(255, 255, 255, 0.75);\r\n background: var(--color-darkmode);\r\n }\r\n\r\n html.auto-color img {\r\n opacity: 0.9;\r\n }\r\n\r\n html.auto-color kbd {\r\n background: color-mod(var(--color-darkmode) l(+5%));\r\n }\r\n\r\n html.auto-color figcaption a {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .gh-head {\r\n background: var(--color-darkmode);\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .gh-burger-box {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .site-header-content {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .post-card-image {\r\n background: var(--color-darkmode);\r\n }\r\n\r\n html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {\r\n color: color-mod(var(--color-secondary-text) l(-22%));\r\n }\r\n\r\n html.auto-color .post-card-featured {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .post-card-title {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .post-card-excerpt {\r\n color: var(--color-secondary-text);\r\n }\r\n\r\n html.auto-color .author-profile-location {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .author-profile-social-link:hover {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .article-title {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .article-excerpt {\r\n color: var(--color-secondary-text);\r\n }\r\n\r\n html.auto-color .post-full-image {\r\n background-color: color-mod(var(--color-darkmode) l(+8%));\r\n }\r\n\r\n html.auto-color .author-avatar {\r\n border-color: var(--color-darkmode);\r\n background-color: color-mod(var(--color-darkmode) l(+8%));\r\n }\r\n\r\n html.auto-color .author-profile-image {\r\n opacity: 1;\r\n }\r\n\r\n html.auto-color .author-profile-image path {\r\n fill: var(--color-darkmode);\r\n }\r\n\r\n html.auto-color .article-byline-meta .author-name a {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .no-image .author-social-link a {\r\n color: rgba(255, 255, 255, 0.75);\r\n }\r\n\r\n html.auto-color .gh-content > [id] {\r\n color: rgba(255, 255, 255, 0.9);\r\n }\r\n\r\n html.auto-color .gh-content pre {\r\n background: color-mod(var(--color-darkgrey) l(-8%));\r\n }\r\n\r\n html.auto-color .gh-content :not(pre) > code {\r\n background: color-mod(var(--color-darkgrey) l(+6%));\r\n border-color: color-mod(var(--color-darkmode) l(+8%));\r\n color: var(--color-wash);\r\n }\r\n\r\n :where(html.auto-color) .gh-content a {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .gh-content strong {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .gh-content em {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .gh-content code {\r\n color: #fff;\r\n background: #000;\r\n }\r\n\r\n html.auto-color hr {\r\n border-top-color: color-mod(var(--color-darkmode) l(+8%));\r\n }\r\n\r\n html.auto-color .gh-content hr:after {\r\n background: color-mod(var(--color-darkmode) l(+8%));\r\n box-shadow: var(--color-darkmode) 0 0 0 5px;\r\n }\r\n\r\n html.auto-color figcaption {\r\n color: rgba(255, 255, 255, 0.6);\r\n }\r\n\r\n html.auto-color .gh-content table:not(.gist table) td:first-child {\r\n background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\r\n }\r\n\r\n html.auto-color .gh-content table:not(.gist table) td:last-child {\r\n background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\r\n }\r\n\r\n html.auto-color .gh-content table:not(.gist table) th {\r\n color: rgba(255, 255, 255, 0.85);\r\n background-color: color-mod(var(--color-darkmode) l(+8%));\r\n }\r\n\r\n html.auto-color .gh-content table:not(.gist table) th,\r\n html.auto-color .gh-content table:not(.gist table) td {\r\n border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;\r\n }\r\n\r\n html.auto-color .gh-content input {\r\n color: color-mod(var(--color-midgrey) l(-30%));\r\n }\r\n\r\n html.auto-color .site-archive-header .no-image {\r\n color: rgba(255, 255, 255, 0.9);\r\n background: var(--color-darkmode);\r\n }\r\n\r\n html.auto-color .kg-header-card.kg-style-dark {\r\n background: color-mod(var(--color-darkgrey) l(-5%));\r\n }\r\n\r\n html.auto-color .kg-header-card.kg-style-light {\r\n background: color-mod(var(--color-darkgrey) l(+5%));\r\n }\r\n\r\n html.auto-color .kg-header-card h2.kg-header-card-header,\r\n html.auto-color .kg-header-card h3.kg-header-card-subheader {\r\n color: #fff;\r\n }\r\n\r\n html.auto-color .footer-cta-title {\r\n color: #fff;\r\n }\r\n}\r\n\r\n/*\r\n\r\nHey! You reached the end.\r\n\r\nHope you enjoyed this CSS file, if you have any suggestions\r\nfor improvements that might be useful for everyone who uses\r\nthis theme, you can find the open source repository for it\r\nhere: https://github.com/tryghost/casper\r\n\r\nOr, if you've just scrolled all the way to the bottom of the\r\nfile to add some of your own styles. Well, you've come to\r\nthe right place. Onward!\r\n\r\n */\r\n"]} \ No newline at end of file +{"version":3,"sources":["global.css","screen.css"],"names":[],"mappings":"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","file":"screen.css","sourcesContent":["/* Reset\n/* ---------------------------------------------------------- */\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\nbody {\n line-height: 1;\n}\nol,\nul {\n list-style: none;\n}\nblockquote,\nq {\n quotes: none;\n}\nblockquote:before,\nblockquote:after,\nq:before,\nq:after {\n content: \"\";\n content: none;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\nimg {\n display: block;\n max-width: 100%;\n height: auto;\n}\nhtml {\n box-sizing: border-box;\n font-family: sans-serif;\n\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n*,\n*:before,\n*:after {\n box-sizing: inherit;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nb,\nstrong {\n font-weight: bold;\n}\ni,\nem,\ndfn {\n font-style: italic;\n}\nh1 {\n margin: 0.67em 0;\n font-size: 2em;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nmark {\n background-color: #fdffb6;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nkbd {\n padding: 3px 5px;\n font-family: var(--font-mono);\n font-size: 1.5rem;\n background: #f6f8fa;\n border: 1px solid rgba(124, 139, 154, 0.25);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 rgba(124, 139, 154, 0.25);\n}\n@media (max-width: 600px) {\n kbd {\n font-size: 1.3rem;\n }\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0; /* 3 */\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n}\nbutton {\n overflow: visible;\n border: none;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\n/* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n cursor: pointer; /* 3 */\n\n -webkit-appearance: button; /* 2 */\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput:focus {\n outline: none;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n box-sizing: content-box; /* 2 */\n\n -webkit-appearance: textfield; /* 1 */\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nlegend {\n padding: 0; /* 2 */\n border: 0; /* 1 */\n}\ntextarea {\n overflow: auto;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n\n/* ==========================================================================\n Base styles: opinionated defaults\n ========================================================================== */\n\nhtml {\n font-size: 62.5%;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n color: var(--color-darkgrey);\n font-family: var(--font-sans);\n font-size: 1.6rem;\n line-height: 1.6em;\n font-weight: 400;\n font-style: normal;\n letter-spacing: 0;\n text-rendering: optimizeLegibility;\n background: #fff;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -moz-font-feature-settings: \"liga\" on;\n}\n\n::selection {\n text-shadow: none;\n background: #daf2fd;\n}\n\nhr {\n position: relative;\n display: block;\n width: 100%;\n margin: 2.5em 0 3.5em;\n padding: 0;\n height: 1px;\n border: 0;\n border-top: 1px solid #f0f0f0;\n}\n\naudio,\ncanvas,\niframe,\nimg,\nsvg,\nvideo {\n vertical-align: middle;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\n::not(.gh-content) p,\n::not(.gh-content) ul,\n::not(.gh-content) ol,\n::not(.gh-content) dl,\n::not(.gh-content) blockquote {\n margin: 0 0 1.5em 0;\n}\n\nol,\nul {\n padding-left: 1.3em;\n padding-right: 1.5em;\n}\n\nol ol,\nul ul,\nul ol,\nol ul {\n margin: 0.5em 0 1em;\n}\n\nul {\n list-style: disc;\n}\n\nol {\n list-style: decimal;\n}\n\nul,\nol {\n max-width: 100%;\n}\n\nli {\n padding-left: 0.3em;\n line-height: 1.6em;\n}\n\nli + li {\n margin-top: 0.5em;\n}\n\ndt {\n float: left;\n margin: 0 20px 0 0;\n width: 120px;\n color: #daf2fd;\n font-weight: 500;\n text-align: right;\n}\n\ndd {\n margin: 0 0 5px 0;\n text-align: left;\n}\n\nblockquote {\n margin: 1.5em 0;\n padding: 0 1.6em 0 1.6em;\n border-left: #daf2fd;\n}\n\nblockquote small {\n display: inline-block;\n margin: 0.8em 0 0.8em 1.5em;\n font-size: 0.9em;\n opacity: 0.8;\n}\n/* Quotation marks */\nblockquote small:before {\n content: \"\\2014 \\00A0\";\n}\n\nblockquote cite {\n font-weight: bold;\n}\nblockquote cite a {\n font-weight: normal;\n}\n\na {\n color: #15171A;\n text-decoration: none;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n line-height: 1.15;\n font-weight: 600;\n text-rendering: optimizeLegibility;\n letter-spacing: -0.01em;\n}\n\nh1 {\n margin: 0 0 0.5em 0;\n font-size: 4.8rem;\n font-weight: 700;\n letter-spacing: -0.015em;\n}\n@media (max-width: 600px) {\n h1 {\n font-size: 2.8rem;\n }\n}\n\nh2 {\n margin: 1.5em 0 0.5em 0;\n font-size: 2.8rem;\n font-weight: 700;\n}\n@media (max-width: 600px) {\n h2 {\n font-size: 2.3rem;\n }\n}\n\nh3 {\n margin: 1.5em 0 0.5em 0;\n font-size: 2.4rem;\n font-weight: 600;\n}\n@media (max-width: 600px) {\n h3 {\n font-size: 1.7rem;\n }\n}\n\nh4 {\n margin: 1.5em 0 0.5em 0;\n font-size: 2rem;\n}\n@media (max-width: 600px) {\n h4 {\n font-size: 1.7rem;\n }\n}\n\nh5 {\n margin: 1.5em 0 0.5em 0;\n font-size: 2rem;\n}\n\nh6 {\n margin: 1.5em 0 0.5em 0;\n font-size: 1.8rem;\n}\n","/* Table of Contents\n/* ------------------------------------------------------------\n\nThis is a development CSS file which is built to a minified\nproduction stylesheet in assets/built/screen.css\n\n1. Global Styles\n2. Layout\n3. Special Templates\n4. Site Header\n5. Site Navigation\n6. Post Feed\n7. Single Post\n 7.1. Post Byline\n 7.2. Members Subscribe Form\n 7.4. Related Posts\n 7.5. Koenig Styles\n 7.6 Comments\n8. Author Template\n9. Error Template\n11. Site Footer\n12. Dark Mode\n\n*/\n\n/* 1. Global - Set up the things\n/* ---------------------------------------------------------- */\n\n/* Import CSS reset and base styles */\n@import \"global.css\";\n\n:root {\n\n /* Colours */\n --color-green: #a4d037;\n --color-yellow: #fecd35;\n --color-red: #f05230;\n --color-darkgrey: #15171A;\n --color-midgrey: #738a94;\n --color-lightgrey: #f1f1f1;\n --color-secondary-text: #979797;\n --color-border: #e1e1e1;\n --color-wash: #e5eff5;\n --color-darkmode: #151719;\n\n /*\n An accent color is also set by Ghost itself in\n Ghost Admin > Settings > Brand\n\n --ghost-accent-color: {value};\n\n You can use this variable throughout your styles\n */\n\n /* Fonts */\n --font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n --font-serif: Georgia, Times, serif;\n --font-mono: Menlo, Courier, monospace;\n\n}\n\n\n/* 2. Layout - Page building blocks\n/* ---------------------------------------------------------- */\n\n.viewport {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n}\n\n.site-content {\n flex-grow: 1;\n}\n\n/* Full width page blocks */\n.outer {\n position: relative;\n padding: 0 max(4vmin, 20px);\n}\n\n/* Centered content container blocks */\n.inner {\n margin: 0 auto;\n max-width: 1200px;\n width: 100%;\n}\n\n\n/* 4. Site Header\n/* ---------------------------------------------------------- */\n\n.site-header {\n position: relative;\n color: #fff;\n background: var(--ghost-accent-color);\n}\n\n.site-header-cover {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.site-header-content {\n position: relative;\n z-index: 100;\n display: flex;\n align-items: center;\n padding-top: calc(19vmin + 44px);\n padding-bottom: 19vmin;\n text-align: center;\n color: var(--color-darkgrey);\n}\n\n.has-cover .site-header-content {\n min-height: 560px;\n background-color: var(--ghost-accent-color);\n color: #fff;\n}\n\n.site-header-content.left-aligned {\n padding-bottom: 0;\n text-align: left;\n}\n\n.has-cover .site-header-content.left-aligned {\n align-items: flex-end;\n padding-bottom: max(4vmin, 32px);\n}\n\n.site-header-content.no-content {\n padding-top: 0;\n padding-bottom: 2vmin;\n}\n\n.site-header-inner {\n position: relative;\n}\n\n.site-header-content.left-aligned .site-header-inner {\n align-items: flex-start;\n}\n\n.site-logo {\n flex-shrink: 0;\n margin: 0 auto;\n max-height: 120px;\n}\n\n.site-header-content.left-aligned .site-logo {\n margin-right: auto;\n margin-left: 0;\n max-height: 96px;\n}\n\n.site-title {\n z-index: 10;\n margin: 0;\n padding: 0;\n font-size: 5rem;\n font-weight: 800;\n}\n\n.has-serif-title .site-title {\n font-family: var(--font-serif);\n}\n\n.has-cover .site-title {\n font-size: 6rem;\n}\n\n.site-header-content.left-aligned .site-title {\n font-size: 4.4rem;\n}\n\n.has-cover .site-header-content.left-aligned .site-title {\n font-size: 4.6rem;\n}\n\n.site-description {\n display: inline-block;\n z-index: 10;\n max-width: 960px;\n font-size: 6rem;\n font-weight: 700;\n line-height: 1.1;\n}\n\n:is(.site-logo, .site-title) + .site-description {\n max-width: 640px;\n margin-top: 16px;\n font-size: 2.4rem;\n font-weight: 400;\n line-height: 1.4;\n}\n\n.site-logo + .site-description {\n margin-top: 20px;\n}\n\n.site-title + .site-description {\n color: var(--color-secondary-text);\n}\n\n.has-cover .site-description {\n letter-spacing: -0.005em;\n color: #fff;\n}\n\n.has-cover :is(.site-logo, .site-title) + .site-description {\n font-size: 2.4rem;\n}\n\n.has-cover .site-header-content.left-aligned :is(.site-logo, .site-title) + .site-description {\n font-size: 2.2rem;\n}\n\n@media (min-width: 992px) {\n .is-head-stacked.has-cover .site-header-content {\n padding-top: calc(19vmin + 120px);\n }\n}\n\n@media (max-width: 991px) {\n .site-header-content {\n padding-top: calc(19vmin + 32px);\n }\n}\n\n@media (max-width: 767px) {\n .has-cover .site-header-content {\n min-height: 240px;\n }\n .site-header-inner {\n gap: 16px;\n }\n .site-logo {\n max-width: 60%;\n }\n .site-title {\n font-size: 3.4rem !important;\n }\n .site-description {\n font-size: 2.8rem !important;\n }\n .site-logo + .site-description {\n margin-top: 12px !important;\n }\n .site-title + .site-description {\n margin-top: 4px !important;\n }\n}\n\n\n/* 5. Site Navigation\n/* ---------------------------------------------------------- */\n\n.gh-head {\n height: 88px;\n font-size: 1.6rem;\n line-height: 1.3em;\n background-color: #fff;\n}\n\n.has-cover:not(.home-template) .gh-head {\n background-color: var(--ghost-accent-color);\n color: #fff;\n}\n\n:is(.home-template, .paged:not(.tag-template):not(.author-template)).has-cover .gh-head {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2000;\n background-color: transparent;\n color: #fff;\n}\n\n.gh-head a {\n text-decoration: none;\n}\n\n.gh-head-inner {\n display: grid;\n column-gap: 40px;\n grid-template-columns: auto 1fr auto;\n grid-auto-flow: row dense;\n align-items: center;\n height: 100%;\n}\n\n/* Header styles\n/* ---------------------------------------------------------- */\n\n.is-head-left-logo .gh-head-inner {\n grid-template-columns: auto 1fr auto;\n}\n\n.is-head-left-logo.home-template .gh-head-logo {\n display: none;\n}\n\n.is-head-left-logo.home-template .gh-head-menu {\n margin-left: -40px;\n}\n\n@media (min-width: 992px) {\n .is-head-left-logo .gh-head-menu {\n margin-right: 32px;\n margin-left: 16px;\n }\n}\n\n.is-head-middle-logo .gh-head-inner {\n grid-template-columns: 1fr auto 1fr;\n}\n\n.is-head-middle-logo .gh-head-brand {\n grid-column-start: 2;\n}\n\n@media (min-width: 992px) {\n .is-head-middle-logo .gh-head-menu {\n margin-right: 64px;\n }\n}\n\n.is-head-stacked .gh-head {\n height: auto;\n}\n\n.is-head-stacked .gh-head-inner {\n grid-template-columns: 1fr auto 1fr;\n}\n\n.is-head-stacked .gh-head-brand {\n grid-row-start: 1;\n grid-column-start: 2;\n}\n\n@media (min-width: 992px) {\n .is-head-stacked .gh-head-inner {\n padding: 0;\n }\n\n .is-head-stacked .gh-head-brand {\n position: relative;\n display: flex;\n align-items: center;\n height: 80px;\n }\n\n .is-head-stacked .gh-head-menu {\n grid-row-start: 2;\n grid-column: 1 / 4;\n justify-content: center;\n height: 56px;\n margin: 0 48px;\n }\n\n .is-head-stacked .gh-head-menu::before,\n .is-head-stacked .gh-head-menu::after {\n position: absolute;\n top: 80px;\n left: 0;\n width: 100%;\n height: 1px;\n content: \"\";\n background-color: var(--color-lightgrey);\n }\n\n .is-head-stacked.has-cover .gh-head-menu::before,\n .is-head-stacked.has-cover .gh-head-menu::after {\n background-color: rgba(255, 255, 255, 0.2);\n }\n\n .is-head-stacked .gh-head-menu::after {\n top: 136px;\n }\n\n .is-head-stacked .gh-head-actions {\n grid-row-start: 1;\n grid-column: 1 / 4;\n justify-content: space-between;\n }\n}\n\n/* Brand\n/* ---------------------------------------------------------- */\n\n.gh-head-brand {\n display: flex;\n align-items: center;\n height: 40px;\n word-break: break-all;\n}\n\n.gh-head-logo {\n display: block;\n font-weight: 800;\n font-size: 2.6rem;\n letter-spacing: -0.02em;\n color: inherit;\n white-space: nowrap;\n}\n\n.gh-head-logo.no-image {\n margin-top: -2px;\n}\n\n.has-cover .gh-head-logo {\n color: #fff;\n}\n\n.gh-head-logo img {\n max-height: 40px;\n}\n\n\n/* Primary Navigation\n/* ---------------------------------------------------------- */\n\n.gh-head-menu {\n display: flex;\n align-items: center;\n margin-top: 1px;\n font-weight: 500;\n}\n\n.gh-head-menu .nav {\n display: inline-flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 32px;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.gh-head-menu .nav li {\n margin: 0;\n padding: 0;\n}\n\n.gh-head-menu .nav a {\n display: inline-block;\n line-height: 1.7;\n color: inherit;\n}\n\n.gh-head-menu .nav a:hover {\n opacity: 0.9;\n}\n\n.gh-head-menu .nav-more-toggle {\n position: relative;\n width: 30px;\n height: 30px;\n margin: 0 -6px;\n padding: 0;\n font-size: inherit;\n background-color: transparent;\n text-transform: inherit;\n}\n\n.gh-head-menu .nav-more-toggle svg {\n width: 24px;\n height: 24px;\n}\n\n@media (min-width: 992px) {\n body:not(.is-dropdown-loaded) .gh-head-menu .nav > li {\n opacity: 0;\n }\n}\n\n\n/* Dropdown\n/* ---------------------------------------------------------- */\n\n.gh-dropdown {\n position: absolute;\n top: 100%;\n right: -16px;\n z-index: 90;\n width: 200px;\n padding: 12px 0;\n margin-top: 24px;\n opacity: 0;\n visibility: hidden;\n text-align: left;\n background-color: #fff;\n border-radius: 5px;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 7px 20px -5px rgba(0, 0, 0, 0.15);\n transform: translate3d(0, 6px, 0);\n transition: opacity 0.3s, transform 0.2s;\n}\n\n.is-head-middle-logo .gh-dropdown {\n right: auto;\n left: -24px;\n}\n\n.is-dropdown-mega .gh-dropdown {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-auto-flow: column;\n column-gap: 40px;\n min-width: 320px;\n padding: 20px 32px;\n}\n\n.is-dropdown-open .gh-dropdown {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n}\n\n.gh-head-menu .gh-dropdown li a {\n display: block;\n padding: 6px 20px;\n color: #15171a;\n}\n\n.is-dropdown-mega .gh-dropdown li a {\n padding: 8px 0;\n}\n\n\n/* Secondary Navigation\n/* ---------------------------------------------------------- */\n\n.gh-social {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n\n.gh-social-link {\n line-height: 0;\n color: inherit;\n}\n\n.gh-social-link:hover {\n opacity: 0.9;\n}\n\n.gh-social-link svg {\n width: 18px;\n height: 18px;\n}\n\n.gh-head-actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 24px;\n list-style: none;\n text-align: right;\n}\n\n.gh-head-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 8px 20px;\n height: 44px;\n font-weight: 600;\n letter-spacing: -0.005em;\n font-size: 1.6rem;\n border-radius: 48px;\n color: #fff;\n background: var(--ghost-accent-color);\n}\n\n.has-cover .gh-head-button {\n color: var(--color-darkgrey);\n background: #fff;\n}\n\n\n/* Search\n/* ---------------------------------------------------------- */\n\n.gh-search {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: none;\n}\n\n.gh-search:hover {\n opacity: 0.9;\n}\n\n.gh-head-brand .gh-search {\n margin-right: 8px;\n}\n\n.gh-head-actions .gh-search {\n margin-right: -4px;\n}\n\n@media (max-width: 991px) {\n .gh-head-actions .gh-search {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .gh-head-brand .gh-search {\n display: none;\n }\n}\n\n\n/* Mobile Menu Trigger\n/* ---------------------------------------------------------- */\n\n.gh-burger {\n position: relative;\n display: none;\n width: 30px;\n height: 30px;\n padding: 0;\n margin-right: -3px;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n.gh-burger::before,\n.gh-burger::after {\n position: absolute;\n left: 3px;\n width: 24px;\n height: 1px;\n content: \"\";\n background-color: var(--color-darkgrey);\n transition: all 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;\n}\n\n.has-cover .gh-burger::before,\n.has-cover .gh-burger::after {\n background-color: #fff;\n}\n\n.gh-burger::before {\n top: 11px;\n}\n\n.gh-burger::after {\n bottom: 11px;\n}\n\n.gh-head-open .gh-burger::before {\n top: 15px;\n transform: rotate(45deg);\n}\n\n.gh-head-open .gh-burger::after {\n bottom: 14px;\n transform: rotate(-45deg);\n}\n\n\n/* Mobile Menu\n/* ---------------------------------------------------------- */\n/* IDs needed to ensure sufficient specificity */\n\n@media (max-width: 991px) {\n #gh-head {\n height: 64px;\n }\n\n #gh-head .gh-head-inner {\n grid-template-rows: auto 1fr auto;\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n #gh-head .gh-head-brand {\n display: grid;\n grid-template-columns: 1fr auto auto;\n grid-column-start: 1;\n align-items: center;\n height: 64px;\n }\n\n #gh-head .gh-head-logo {\n font-size: 2.2rem;\n }\n\n #gh-head .gh-head-brand .gh-search {\n margin-left: -6px;\n }\n\n #gh-head .gh-burger {\n display: block;\n }\n\n #gh-head .gh-head-menu,\n #gh-head .gh-head-actions {\n position: fixed;\n justify-content: center;\n visibility: hidden;\n opacity: 0;\n }\n\n #gh-head .gh-head-menu {\n margin: 0;\n transition: none;\n transform: translateY(0);\n }\n\n #gh-head .nav {\n gap: 16px;\n align-items: center;\n line-height: 1.4;\n }\n\n #gh-head .nav a {\n font-size: 2.6rem;\n font-weight: 600;\n text-transform: none;\n }\n\n #gh-head .nav li {\n opacity: 0;\n transform: translateY(-4px);\n }\n\n #gh-head .gh-head-button {\n width: 100%;\n font-size: 1.8rem;\n text-transform: none;\n opacity: 0;\n transform: translateY(8px);\n }\n\n .gh-head-open #gh-head {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 3999999;\n height: 100vh;\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n }\n\n .gh-head-open.has-cover #gh-head,\n .gh-head-open.has-cover #gh-head .gh-head-actions {\n background-color: var(--ghost-accent-color);\n }\n\n .gh-head-open #gh-head .gh-head-menu,\n .gh-head-open #gh-head .gh-head-actions {\n position: static;\n visibility: visible;\n opacity: 1;\n }\n\n .gh-head-open #gh-head .nav {\n display: flex;\n flex-direction: column;\n }\n\n .gh-head-open #gh-head .nav li {\n opacity: 1;\n transition: transform 0.2s, opacity 0.2s;\n transform: translateY(0);\n }\n\n .gh-head-open #gh-head .gh-head-actions {\n position: sticky;\n right: 0;\n bottom: 0;\n left: 0;\n display: inline-flex;\n flex-direction: column;\n gap: 12px;\n align-items: center;\n padding: max(4vmin, 20px) 0;\n background-color: #fff;\n }\n\n .gh-head-open #gh-head .gh-head-button {\n opacity: 1;\n transition: transform 0.4s, opacity 0.4s;\n transition-delay: 0.2s;\n transform: translateY(0);\n }\n}\n\n\n/* 6. Post Feed\n/* ---------------------------------------------------------- */\n\n.post-feed {\n position: relative;\n display: grid;\n gap: 4.8vmin 4vmin;\n grid-template-columns: repeat(6, 1fr);\n padding: max(4.8vmin, 36px) 0 0;\n}\n\n:is(.tag-template, .author-template) .post-feed {\n margin-top: 4vmin;\n}\n\n@media (max-width: 991px) {\n .post-feed {\n grid-template-columns: 1fr 1fr;\n }\n}\n\n@media (max-width: 767px) {\n .post-feed {\n grid-template-columns: 1fr;\n grid-gap: 40px;\n }\n}\n\n.post-card {\n position: relative;\n grid-column: span 2;\n display: flex;\n flex-direction: column;\n background-size: cover;\n word-break: break-word;\n}\n\n.post-card-image-link {\n position: relative;\n overflow: hidden;\n display: block;\n margin-bottom: 32px;\n}\n\n.post-card-image-link::after {\n content: \"\";\n display: block;\n padding-bottom: 55%;\n}\n\n.post-card[class*=\"post-access-\"] .post-card-image-link::after {\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(3px);\n}\n\n.post-card.keep-ratio[class*=\"post-access-\"] .post-card-image-link::after {\n position: absolute;\n inset: 0;\n padding-bottom: 0;\n}\n\n.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link::after {\n padding-bottom: 0;\n}\n\n.post-card-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n background: var(--color-lightgrey) no-repeat center center;\n object-fit: cover;\n}\n\n.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image {\n position: static;\n}\n\n.post-card-access {\n position: absolute;\n inset: 0;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n font-size: 1.5rem;\n font-weight: 600;\n color: #fff;\n}\n\n.post-card-content-link {\n position: relative;\n display: block;\n color: var(--color-darkgrey);\n}\n\n.post-card-content-link:hover {\n text-decoration: none;\n}\n\n.post-feed .no-image .post-card-content-link {\n padding: 0;\n}\n\n.no-image .post-card-header {\n margin-top: 0;\n}\n\n.post-card-tags {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0 0 10px;\n color: var(--color-secondary-text);\n font-size: 1.4rem;\n font-weight: 600;\n letter-spacing: -0.005em;\n line-height: 1;\n}\n\n.post-card-featured {\n position: relative;\n display: flex;\n align-items: center;\n gap: 3px;\n padding-left: 18px;\n color: var(--ghost-accent-color);\n}\n\n.post-card-featured svg {\n position: absolute;\n left: 0;\n}\n\n.post-card-title {\n margin: 0;\n font-size: 2.6rem;\n font-weight: 800;\n line-height: 1.2;\n}\n\n.post-card-content-link:hover .post-card-title {\n opacity: 0.9;\n}\n\n.no-image .post-card-title {\n margin-top: 0;\n}\n\n.has-serif-title .post-card-title {\n font-family: var(--font-serif);\n letter-spacing: -0.005em;\n}\n\n.post-card-title svg {\n margin-top: -3px;\n margin-left: -1px;\n}\n\n.post-card-content {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n}\n\n.post-card-excerpt {\n display: -webkit-box;\n overflow-y: hidden;\n margin-top: 12px;\n max-width: 720px;\n font-size: 1.6rem;\n line-height: 1.5;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n word-break: break-word;\n}\n\n.has-sans-body .post-card-excerpt {\n font-family: var(--font-sans);\n}\n\n.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt {\n -webkit-line-clamp: 2;\n}\n\n:is(.tag-template, .author-template) .post-card-excerpt {\n margin-top: 6px;\n}\n\n.post-card-meta {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 12px;\n padding: 0;\n font-size: 1.3rem;\n color: var(--color-secondary-text);\n}\n\n.post-card-meta > * {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.post-card-meta > * + *:not(script)::before {\n width: 2px;\n height: 2px;\n content: \"\";\n background-color: var(--color-secondary-text);\n border-radius: 50%;\n}\n\n.post-card-meta .sep {\n margin: 0 4px;\n}\n\n.author-profile-image {\n display: block;\n width: 100%;\n height: 100%;\n background: color-mod(var(--color-lightgrey) l(+10%));\n border-radius: 100%;\n\n object-fit: cover;\n}\n\n.author-list {\n display: flex;\n flex-wrap: wrap;\n margin: 0 0 0 4px;\n padding: 0;\n list-style: none;\n}\n\n.author-list-item {\n position: relative;\n flex-shrink: 0;\n margin: 0;\n padding: 0;\n}\n\n\n/* Special Styling for home page grid (below):\n\nThe first post in the list is styled to be bigger than the others and take over\nthe full width of the grid to give it more emphasis. Wrapped in a media query to\nmake sure this only happens on large viewports / desktop-ish devices.\n\n*/\n\n@media (min-width: 1001px) {\n .post-card-large {\n grid-column: span 6;\n display: grid;\n grid-gap: 4vmin;\n grid-template-columns: repeat(3, 1fr);\n border-top: 0;\n }\n\n .post-card-large:not(.no-image) .post-card-header {\n margin-top: 0;\n }\n\n .post-card-large .post-card-image-link {\n position: relative;\n grid-column: span 2;\n margin-bottom: 0;\n }\n\n .post-card-large .post-card-content {\n grid-column: span 1;\n }\n\n .post-card-large.no-image .post-card-content {\n grid-column: span 2;\n }\n\n .post-card-large .post-card-image {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n\n .post-card-large .post-card-tags {\n margin-bottom: 12px;\n }\n\n .post-card-large .post-card-title {\n margin-top: 0;\n font-size: 4.4rem;\n line-height: 1.05;\n }\n\n .post-card-large .post-card-excerpt {\n margin-top: 16px;\n }\n\n .post-card-full {\n grid-column: span 6;\n }\n\n .post-card-full .post-card-image-link {\n margin-bottom: 40px;\n }\n\n .post-card-full .post-card-tags {\n margin-bottom: 14px;\n }\n\n .post-card-full .post-card-title {\n font-size: 6.4rem;\n line-height: 0.95;\n }\n\n .post-card-full .post-card-excerpt {\n margin-top: 20px;\n font-size: 1.8rem;\n }\n\n .post-card-large + .post-card-large:nth-child(even) {\n margin: 32px 0;\n }\n\n .post-card-large + .post-card-large:nth-child(even) .post-card-content {\n order: -1;\n }\n\n .post-card.dynamic {\n grid-column: span 3;\n }\n\n .post-card.dynamic .post-card-title {\n font-size: 3rem;\n }\n}\n\n/* Pagination\n/* ---------------------------------------------------------- */\n\n.pagination {\n display: none;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n margin-top: 8vmin;\n}\n\nhtml.no-infinite-scroll .pagination {\n display: grid;\n}\n\n.pagination a {\n font-size: 1.7rem;\n font-weight: 600;\n}\n\n.pagination .page-number {\n grid-column-start: 2;\n color: var(--color-secondary-text);\n}\n\n.pagination .older-posts {\n grid-column-start: 3;\n text-align: right;\n}\n\n@media (max-width: 767px) {\n .pagination .page-number {\n display: none;\n }\n}\n\n\n/* 7. Single Post\n/* ---------------------------------------------------------- */\n\n.article {\n padding: max(8vmin, 40px) 0 max(8vmin, 64px);\n word-break: break-word;\n}\n\n.page-template .article {\n padding-top: max(12vmin, 64px);\n}\n\n.article-header {\n padding: 0 0 max(6.4vmin, 40px) 0;\n}\n\n.page-template .article-header {\n padding-bottom: max(3.2vmin, 28px);\n}\n\n.article-tag {\n margin-bottom: 16px;\n font-size: 1.6rem;\n}\n\n.article-tag a {\n color: var(--color-secondary-text);\n}\n\n.article-title {\n margin-bottom: 0;\n font-size: clamp(3.2rem, 5vw, 5.2rem);\n font-weight: 800;\n line-height: 1.05;\n color: var(--color-darkgrey);\n}\n\n.has-serif-title .article-title {\n font-family: var(--font-serif);\n}\n\n.article-excerpt {\n margin-top: 20px;\n max-width: 720px;\n font-size: 2rem;\n line-height: 1.45;\n color: var(--color-darkgrey);\n}\n\n.gh-canvas .article-image {\n grid-column: wide-start / wide-end;\n width: 100%;\n margin: max(6.4vmin, 40px) 0 0;\n}\n\n.image-full .article-image {\n grid-column: full-start / full-end;\n}\n\n.image-small .article-image {\n grid-column: main-start / main-end;\n}\n\n.gh-canvas .article-image img {\n display: block;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n}\n\n@media (max-width: 767px) {\n .article-excerpt {\n margin-top: 14px;\n font-size: 1.7rem;\n }\n}\n\n/* -------- */\n\n/* Content grid\n/* ---------------------------------------------------------- */\n\n/* Canvas creates a multi-column, centered grid which the post\nis laid out on top of. Canvas just defines the grid, we don't\nuse it for applying any other styles. */\n\n.gh-canvas {\n display: grid;\n grid-template-columns:\n [full-start]\n minmax(max(4vmin, 20px), auto)\n [wide-start]\n minmax(auto, 240px)\n [main-start]\n min(720px, calc(100% - max(8vmin, 40px)))\n [main-end]\n minmax(auto, 240px)\n [wide-end]\n minmax(max(4vmin, 20px), auto)\n [full-end]\n ;\n}\n\n.gh-canvas > * {\n grid-column: main-start / main-end;\n}\n\n.kg-width-wide {\n grid-column: wide-start / wide-end;\n}\n\n.kg-width-full {\n grid-column: full-start / full-end;\n}\n\n.kg-width-full img {\n width: 100%;\n}\n\n\n/* Content\n/* ---------------------------------------------------------- */\n\n/* Content refers to styling all page and post content that is\ncreated within the Ghost editor. The main content handles\nheadings, text, images and lists. We deal with cards lower down. */\n\n/* Default vertical spacing */\n.gh-content > * + * {\n margin-top: max(3.2vmin, 24px);\n margin-bottom: 0;\n}\n\n/* [id] represents all headings h1-h6, reset all margins */\n.gh-content > [id] {\n margin: 0;\n color: var(--color-darkgrey);\n}\n\n.has-serif-title .gh-content > [id] {\n font-family: var(--font-serif);\n}\n\n/* Add back a top margin to all headings, unless a heading\nis the very first element in the post content */\n.gh-content > [id]:not(:first-child) {\n margin: 2em 0 0;\n}\n\n/* Add a small margin between a heading and anything after it */\n.gh-content > [id] + * {\n margin-top: 1.5rem !important;\n}\n\n/* A larger margin before/after HRs and blockquotes */\n.gh-content > hr,\n.gh-content > blockquote {\n position: relative;\n margin-top: max(4.8vmin, 32px);\n}\n.gh-content > hr + *,\n.gh-content > blockquote + * {\n margin-top: max(4.8vmin, 32px) !important;\n}\n\n/* Now the content typography styles */\n.gh-content a {\n color: var(--ghost-accent-color);\n text-decoration: underline;\n word-break: break-word;\n}\n\n.gh-content > blockquote:not([class]),\n.gh-content > ol,\n.gh-content > ul,\n.gh-content > dl,\n.gh-content > p {\n font-family: var(--font-serif);\n font-weight: 400;\n font-size: 2rem;\n line-height: 1.6em;\n}\n\n.gh-content .kg-callout-card .kg-callout-text,\n.gh-content .kg-toggle-card .kg-toggle-content > ol,\n.gh-content .kg-toggle-card .kg-toggle-content > ul,\n.gh-content .kg-toggle-card .kg-toggle-content > p {\n font-family: var(--font-serif);\n font-weight: 400;\n font-size: 1.9rem;\n line-height: 1.6em;\n}\n\n.gh-content .kg-product-card .kg-product-card-description > p,\n.gh-content .kg-product-card .kg-product-card-description > ol,\n.gh-content .kg-product-card .kg-product-card-description > ul {\n font-size: 1.7rem;\n line-height: 1.6em;\n}\n\n.gh-content .kg-callout-card .kg-callout-emoji {\n font-size: 2.1rem;\n line-height: 1.4em;\n}\n\n.gh-content .kg-toggle-card .kg-toggle-heading-text {\n font-size: 2.0rem;\n}\n\n.has-sans-body .gh-content > blockquote,\n.has-sans-body .gh-content > ol,\n.has-sans-body .gh-content > ul,\n.has-sans-body .gh-content > dl,\n.has-sans-body .gh-content > p,\n.has-sans-body .gh-content .kg-callout-card .kg-callout-text,\n.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ol,\n.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ul,\n.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > p {\n font-family: var(--font-sans);\n}\n\n.gh-content > ul,\n.gh-content > ol,\n.gh-content > dl,\n.gh-content .kg-toggle-card .kg-toggle-content > ol,\n.gh-content .kg-toggle-card .kg-toggle-content > ul,\n.gh-content .kg-product-card .kg-product-card-description > ol,\n.gh-content .kg-product-card .kg-product-card-description > ul {\n padding-left: 1.9em;\n}\n\n.gh-content > blockquote:not([class]) {\n position: relative;\n font-style: italic;\n padding: 0;\n}\n\n.gh-content > blockquote:not([class])::before {\n content: \"\";\n position: absolute;\n left: -1.5em;\n top: 0;\n bottom: 0;\n width: 0.3rem;\n background: var(--ghost-accent-color);\n}\n\n.gh-content :not(pre) > code {\n vertical-align: middle;\n padding: 0.15em 0.4em 0.15em;\n border: #e1eaef 1px solid;\n font-weight: 400 !important;\n font-size: 0.9em;\n line-height: 1em;\n color: #15171A;\n background: #f0f6f9;\n border-radius: 0.25em;\n}\n\n.gh-content pre {\n overflow: auto;\n padding: 16px 20px;\n color: var(--color-wash);\n font-size: 1.4rem;\n line-height: 1.5em;\n background: var(--color-darkgrey);\n border-radius: 5px;\n box-shadow: 0 2px 6px -2px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.4);\n}\n\n@media (max-width: 650px) {\n .gh-content > blockquote:not([class]),\n .gh-content > ol,\n .gh-content > ul,\n .gh-content > dl,\n .gh-content > p,\n .gh-content .kg-callout-card .kg-callout-text,\n .gh-content .kg-toggle-card .kg-toggle-content > ol,\n .gh-content .kg-toggle-card .kg-toggle-content > ul,\n .gh-content .kg-toggle-card .kg-toggle-content > p {\n font-size: 1.8rem;\n }\n\n .gh-content .kg-product-card .kg-product-card-description > p,\n .gh-content .kg-product-card .kg-product-card-description > ol,\n .gh-content .kg-product-card .kg-product-card-description > ul {\n font-size: 1.6rem;\n }\n\n .gh-content blockquote:not([class])::before {\n left: min(-4vmin, -20px);\n }\n}\n\n\n/* Cards\n/* ---------------------------------------------------------- */\n\n/* Cards are dynamic blocks of content which appear within Ghost\nposts, for example: embedded videos, tweets, galleries, or\nspecially styled bookmark links. We add extra styling here to\nmake sure they look good, and are given a bit of extra spacing. */\n\n/* Add extra margin before/after any cards,\nexcept for when immediately preceeded by a heading */\n.gh-content :not(.kg-card):not([id]) + .kg-card {\n margin-top: 6vmin;\n margin-bottom: 0;\n}\n.gh-content .kg-card + :not(.kg-card) {\n margin-top: 6vmin;\n margin-bottom: 0;\n}\n\n/* This keeps small embeds centered */\n.kg-embed-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n/* This keeps small iamges centered */\n.kg-image-card img {\n margin: auto;\n}\n\n.has-serif-title .kg-toggle-card .kg-toggle-heading-text {\n font-family: var(--font-serif);\n}\n\n.gh-content .kg-callout-card-accent a {\n text-decoration: underline;\n}\n\n.kg-blockquote-alt {\n font-family: var(--font-serif);\n color: var(--color-midgrey);\n}\n\n.has-sans-body .kg-blockquote-alt {\n font-family: var(--font-sans);\n}\n\n.kg-card.kg-header-card.kg-style-dark {\n background: var(--color-darkgrey);\n}\n\n.kg-header-card.kg-style-light h2.kg-header-card-header {\n color: color-mod(var(--color-darkgrey) l(-5%));\n}\n\n.has-serif-title .kg-header-card h2.kg-header-card-header {\n font-family: var(--font-serif);\n}\n\n\n/* Captions */\nfigcaption {\n padding: 1.5rem 1.5rem 0;\n text-align: center;\n color: rgba(0,0,0,0.5);\n font-size: 1.3rem;\n line-height: 1.4em;\n}\nfigcaption strong {\n color: rgba(0,0,0,0.8);\n}\nfigcaption a {\n text-decoration: underline;\n}\n\n\n/* Highly specific styles for traditional Instagram embeds */\niframe.instagram-media {\n margin-top: 6vmin !important;\n margin-left: auto !important;\n margin-right: auto !important;\n margin-bottom: 0 !important;\n}\n\niframe.instagram-media + script + :not([id]) {\n margin-top: 6vmin;\n}\n\n\n/* Card captions\n/* ---------------------------------------------------------- */\n\n.kg-width-full.kg-card-hascaption {\n display: grid;\n grid-template-columns: inherit;\n}\n\n.kg-width-wide.kg-card-hascaption img {\n grid-column: wide-start / wide-end;\n}\n.kg-width-full.kg-card-hascaption img {\n grid-column: 1 / -1;\n}\n\n.kg-width-full.kg-card-hascaption figcaption {\n grid-column: main-start / main-end;\n}\n\n.article-comments {\n margin: 6vmin 0 0 0;\n}\n\n/* -----old------ */\n\n.footnotes-sep {\n margin-bottom: 30px;\n}\n\n.footnotes {\n font-size: 1.5rem;\n}\n\n.footnotes p {\n margin: 0;\n}\n\n.footnote-backref {\n font-size: 1.2rem;\n font-weight: bold;\n text-decoration: none !important;\n box-shadow: none !important;\n}\n\n/* Tables */\n.gh-content table:not(.gist table) {\n display: inline-block;\n overflow-x: auto;\n max-width: 100%;\n width: auto;\n border-spacing: 0;\n border-collapse: collapse;\n font-family: var(--font-sans);\n font-size: 1.6rem;\n white-space: nowrap;\n vertical-align: top;\n -webkit-overflow-scrolling: touch;\n background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center;\n background-attachment: scroll, scroll;\n background-size: 10px 100%, 10px 100%;\n background-repeat: no-repeat;\n}\n\n.gh-content table:not(.gist table) td:first-child {\n background-image: linear-gradient(to right, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);\n background-size: 20px 100%;\n background-repeat: no-repeat;\n}\n\n.gh-content table:not(.gist table) td:last-child {\n background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);\n background-position: 100% 0;\n background-size: 20px 100%;\n background-repeat: no-repeat;\n}\n\n.gh-content table:not(.gist table) th {\n color: var(--color-darkgrey);\n font-size: 1.2rem;\n font-weight: 700;\n letter-spacing: 0.2px;\n text-align: left;\n text-transform: uppercase;\n background-color: color-mod(var(--color-wash) l(+4%));\n}\n\n.gh-content table:not(.gist table) th,\n.gh-content table:not(.gist table) td {\n padding: 6px 12px;\n border: color-mod(var(--color-wash) l(-1%) s(-5%)) 1px solid;\n}\n\n\n/* 7.1. Post Byline\n/* ---------------------------------------------------------- */\n\n.article-byline {\n display: flex;\n justify-content: space-between;\n margin: min(24px, 5.6vmin) 0 0;\n}\n\n.article-byline-content {\n flex-grow: 1;\n display: flex;\n align-items: center;\n}\n\n.article-byline-content .author-list {\n justify-content: flex-start;\n padding: 0 14px 0 0;\n}\n\n.article-byline-meta {\n color: var(--color-secondary-text);\n font-size: 1.4rem;\n line-height: 1.2em;\n}\n\n.article-byline-meta .author-name {\n margin: 0 0 6px;\n font-size: 1.7rem;\n font-weight: 700;\n letter-spacing: 0;\n}\n\n.article-byline-meta .bull {\n display: inline-block;\n margin: 0 2px;\n}\n\n.author-avatar {\n display: block;\n overflow: hidden;\n margin: 0 -4px;\n width: min(56px, 13.6vmin);\n height: min(56px, 13.6vmin);\n border: #fff 2px solid;\n border-radius: 50%;\n background-color: var(--color-border);\n}\n\n.page-template .article-title {\n margin-bottom: 0;\n}\n\n@media (max-width: 767px) {\n .article-byline-content .author-list {\n padding-right: 12px;\n }\n .article-byline-meta .author-name {\n margin-bottom: 4px;\n }\n}\n\n\n/* 7.3. Subscribe\n/* ---------------------------------------------------------- */\n\n.footer-cta {\n position: relative;\n text-align: center;\n}\n\n.footer-cta-title {\n margin: 0 0 min(24px, 6.4vmin);\n font-size: clamp(2.6rem, 5vw, 3.8rem);\n font-weight: 800;\n}\n\n.has-serif-title .footer-cta-title {\n font-family: var(--font-serif);\n}\n\n.footer-cta-button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n max-width: 500px;\n padding: 5px 5px 5px 15px;\n font-size: 1.7rem;\n color: var(--color-secondary-text);\n background: #fff;\n border: 1px solid var(--color-border);\n border-radius: 8px;\n transition: border-color 0.2s;\n}\n\n.footer-cta-button:hover {\n border-color: color-mod(var(--color-border) l(-12%));\n}\n\n.footer-cta-button span {\n display: inline-block;\n padding: 9px 15px;\n color: #fff;\n font-size: 1.6rem;\n font-weight: 600;\n letter-spacing: -0.005em;\n background: var(--ghost-accent-color);\n border-radius: 6px;\n}\n\n\n/* 7.4. Read more\n/* ---------------------------------------------------------- */\n\n.read-more-wrap {\n margin-top: 2.4vmin;\n}\n\n.footer-cta + .read-more-wrap {\n margin-top: max(12vmin, 72px);\n}\n\n.read-more {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n grid-gap: 4vmin;\n}\n\n.read-more .post-card-tags {\n display: none;\n}\n\n@media (max-width: 1000px) {\n .read-more {\n grid-template-columns: repeat(4, 1fr);\n }\n .read-more .post-card:nth-child(3) {\n display: none;\n }\n}\n\n@media (max-width: 700px) {\n .read-more {\n grid-template-columns: repeat(2, 1fr);\n }\n .read-more .post-card:nth-child(2) {\n display: none;\n }\n}\n\n/* 7.6. Comments\n/* ---------------------------------------------------------- */\n.comments {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 60px 0 44px;\n}\n\n\n.comments-head {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n margin-bottom: 32px;\n width: 100%;\n max-width: 720px;\n}\n\n.comments h2 {\n width: 100%;\n max-width: 720px;\n font-weight: 800;\n font-size: 3.4rem;\n}\n\n.comments .comment-count {\n color: var(--color-midgrey);\n font-weight: 600;\n white-space: nowrap;\n}\n\n.comments #ghost-comments-root {\n width: 100%;\n max-width: 720px;\n}\n\n\n/* 8. Author Template\n/* ---------------------------------------------------------- */\n\n.author-profile-pic {\n display: block;\n width: 80px;\n height: 80px;\n object-fit: cover;\n margin: 0 0 2rem;\n background: color-mod(var(--color-lightgrey) l(+10%));\n border-radius: 50%;\n}\n\n.author-profile-footer {\n margin-top: 16px;\n}\n\n.author-profile-location {\n font-weight: 700;\n}\n\n.author-profile-meta {\n display: flex;\n gap: 10px;\n}\n\n.author-profile-social-link {\n font-size: 1.3rem;\n color: var(--color-secondary-text);\n}\n\n.author-profile-social-link:hover {\n color: var(--color-darkgrey);\n}\n\n.author-profile-social-link svg {\n width: 16px;\n height: 16px;\n}\n\n@media (min-width: 1001px) {\n .author-template .post-card-large .post-card-content:only-child {\n grid-column: span 2;\n max-width: 640px;\n }\n}\n\n\n/* 8. Tag Template\n/* ---------------------------------------------------------- */\n\n.tag-template .post-card-large .post-card-image-link {\n grid-column: 2 / span 2;\n order: 2;\n}\n\n.tag-template .post-card-large .post-card-content {\n order: 1;\n}\n\n@media (min-width: 1001px) {\n .tag-template .post-card-large .post-card-content:only-child {\n grid-column: span 2;\n max-width: 640px;\n }\n}\n\n/* 9. Error Template\n/* ---------------------------------------------------------- */\n\n.error-content {\n padding: 14vw 4vw 2vw;\n}\n\n.error-message {\n padding-bottom: 10vw;\n text-align: center;\n}\n\n.error-code {\n margin: 0;\n font-size: 12vw;\n line-height: 1em;\n letter-spacing: -5px;\n}\n\n.error-description {\n margin: 0;\n color: var(--color-secondary-text);\n font-size: 3.2rem;\n line-height: 1.3em;\n letter-spacing: -0.005em;\n font-weight: 400;\n}\n\n.error-link {\n display: inline-block;\n margin-top: 5px;\n}\n\n@media (min-width: 940px) {\n .error-content .post-card {\n margin-bottom: 0;\n padding-bottom: 0;\n border-bottom: none;\n }\n}\n\n@media (max-width: 800px) {\n .error-content {\n padding-top: 24vw;\n }\n .error-code {\n font-size: 11.2rem;\n }\n .error-message {\n padding-bottom: 16vw;\n }\n .error-description {\n margin: 5px 0 0 0;\n font-size: 1.8rem;\n }\n}\n\n@media (max-width: 500px) {\n .error-content {\n padding-top: 28vw;\n }\n .error-message {\n padding-bottom: 14vw;\n }\n}\n\n\n/* 11. Site Footer\n/* ---------------------------------------------------------- */\n\n.site-footer {\n position: relative;\n margin: max(12vmin, 64px) 0 0 0;\n padding-top: 48px;\n padding-bottom: 140px;\n color: #fff;\n background: color-mod(var(--color-darkgrey) l(-5%));\n}\n\n.site-footer .inner {\n display: grid;\n grid-gap: 40px;\n grid-template-columns: auto 1fr auto;\n color: rgba(255,255,255,0.7);\n font-size: 1.3rem;\n}\n\n.site-footer .copyright a {\n color: #fff;\n letter-spacing: -0.015em;\n font-weight: 500;\n}\n\n.site-footer a {\n color: rgba(255,255,255,0.7);\n}\n\n.site-footer a:hover {\n color: rgba(255,255,255,1);\n text-decoration: none;\n}\n\n.site-footer-nav ul {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n margin: 0 0 20px;\n padding: 0;\n list-style: none;\n}\n\n.site-footer-nav li {\n display: inline-flex;\n align-items: center;\n padding: 0;\n margin: 0;\n line-height: 2em;\n}\n\n.site-footer-nav a {\n position: relative;\n display: inline-flex;\n align-items: center;\n margin-left: 10px;\n}\n\n.site-footer-nav li:not(:first-child) a:before {\n content: \"\";\n display: block;\n width: 2px;\n height: 2px;\n margin: 0 10px 0 0;\n background: #fff;\n border-radius: 100%;\n}\n\n@media (max-width: 767px) {\n .site-footer .inner {\n max-width: 500px;\n grid-template-columns: 1fr;\n grid-gap: 0;\n text-align: center;\n }\n .site-footer .copyright,\n .site-footer .copyright a {\n color: #fff;\n font-size: 1.5rem;\n }\n .site-footer .copyright {\n margin-bottom: 16px;\n }\n}\n\n\n/* 12. Dark Mode\n/* ---------------------------------------------------------- */\n\nhtml.dark-mode body {\n color: rgba(255, 255, 255, 0.75);\n background: var(--color-darkmode);\n}\n\nhtml.dark-mode img {\n opacity: 0.9;\n}\n\nhtml.dark-mode kbd {\n background: color-mod(var(--color-darkmode) l(+5%));\n}\n\nhtml.dark-mode figcaption a {\n color: #fff;\n}\n\nhtml.dark-mode .gh-head {\n background: var(--color-darkmode);\n color: #fff;\n}\n\nhtml.dark-mode .gh-burger-box {\n color: #fff;\n}\n\nhtml.dark-mode .site-header-content {\n color: #fff;\n}\n\nhtml.dark-mode .post-card-image {\n background: var(--color-darkmode);\n}\n\nhtml.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {\n color: color-mod(var(--color-secondary-text) l(-22%));\n}\n\nhtml.dark-mode .post-card-featured {\n color: #fff;\n}\n\nhtml.dark-mode .post-card-title {\n color: #fff;\n}\n\nhtml.dark-mode .post-card-excerpt {\n color: var(--color-secondary-text);\n}\n\nhtml.dark-mode .author-profile-location {\n color: #fff;\n}\n\nhtml.dark-mode .author-profile-social-link:hover {\n color: #fff;\n}\n\nhtml.dark-mode .article-title {\n color: #fff;\n}\n\nhtml.dark-mode .article-excerpt {\n color: var(--color-secondary-text);\n}\n\nhtml.dark-mode .post-full-image {\n background-color: color-mod(var(--color-darkmode) l(+8%));\n}\n\nhtml.dark-mode .author-avatar {\n border-color: var(--color-darkmode);\n background-color: color-mod(var(--color-darkmode) l(+8%));\n}\n\nhtml.dark-mode .author-profile-image {\n opacity: 1;\n}\n\nhtml.dark-mode .author-profile-image path {\n fill: var(--color-darkmode);\n}\n\nhtml.dark-mode .article-byline-meta .author-name a {\n color: #fff;\n}\n\nhtml.dark-mode .no-image .author-social-link a {\n color: rgba(255, 255, 255, 0.75);\n}\n\nhtml.dark-mode .gh-content > [id] {\n color: rgba(255, 255, 255, 0.9);\n}\n\nhtml.dark-mode .gh-content pre {\n background: color-mod(var(--color-darkgrey) l(-8%));\n}\n\nhtml.dark-mode .gh-content :not(pre) > code {\n background: color-mod(var(--color-darkgrey) l(+6%));\n border-color: color-mod(var(--color-darkmode) l(+8%));\n color: var(--color-wash);\n}\n\n:where(html.dark-mode) .gh-content a {\n color: #fff;\n}\n\nhtml.dark-mode .gh-content strong {\n color: #fff;\n}\n\nhtml.dark-mode .gh-content em {\n color: #fff;\n}\n\nhtml.dark-mode .gh-content code {\n color: #fff;\n background: #000;\n}\n\nhtml.dark-mode hr {\n border-top-color: color-mod(var(--color-darkmode) l(+8%));\n}\n\nhtml.dark-mode .gh-content hr:after {\n background: color-mod(var(--color-darkmode) l(+8%));\n box-shadow: var(--color-darkmode) 0 0 0 5px;\n}\n\nhtml.dark-mode figcaption {\n color: rgba(255, 255, 255, 0.6);\n}\n\nhtml.dark-mode .gh-content table:not(.gist table) td:first-child {\n background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\n}\n\nhtml.dark-mode .gh-content table:not(.gist table) td:last-child {\n background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\n}\n\nhtml.dark-mode .gh-content table:not(.gist table) th {\n color: rgba(255, 255, 255, 0.85);\n background-color: color-mod(var(--color-darkmode) l(+8%));\n}\n\nhtml.dark-mode .gh-content table:not(.gist table) th,\nhtml.dark-mode .gh-content table:not(.gist table) td {\n border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;\n}\n\nhtml.dark-mode .gh-content input {\n color: color-mod(var(--color-midgrey) l(-30%));\n}\n\nhtml.dark-mode .site-archive-header .no-image {\n color: rgba(255, 255, 255, 0.9);\n background: var(--color-darkmode);\n}\n\nhtml.dark-mode .kg-header-card.kg-style-dark {\n background: color-mod(var(--color-darkgrey) l(-5%));\n}\n\nhtml.dark-mode .kg-header-card.kg-style-light {\n background: color-mod(var(--color-darkgrey) l(+5%));\n}\n\nhtml.dark-mode .kg-header-card h2.kg-header-card-header,\nhtml.dark-mode .kg-header-card h3.kg-header-card-subheader {\n color: #fff;\n}\n\nhtml.dark-mode .footer-cta-title {\n color: #fff;\n}\n\n@media (prefers-color-scheme: dark) {\n html.auto-color body {\n color: rgba(255, 255, 255, 0.75);\n background: var(--color-darkmode);\n }\n\n html.auto-color img {\n opacity: 0.9;\n }\n\n html.auto-color kbd {\n background: color-mod(var(--color-darkmode) l(+5%));\n }\n\n html.auto-color figcaption a {\n color: #fff;\n }\n\n html.auto-color .gh-head {\n background: var(--color-darkmode);\n color: #fff;\n }\n\n html.auto-color .gh-burger-box {\n color: #fff;\n }\n\n html.auto-color .site-header-content {\n color: #fff;\n }\n\n html.auto-color .post-card-image {\n background: var(--color-darkmode);\n }\n\n html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {\n color: color-mod(var(--color-secondary-text) l(-22%));\n }\n\n html.auto-color .post-card-featured {\n color: #fff;\n }\n\n html.auto-color .post-card-title {\n color: #fff;\n }\n\n html.auto-color .post-card-excerpt {\n color: var(--color-secondary-text);\n }\n\n html.auto-color .author-profile-location {\n color: #fff;\n }\n\n html.auto-color .author-profile-social-link:hover {\n color: #fff;\n }\n\n html.auto-color .article-title {\n color: #fff;\n }\n\n html.auto-color .article-excerpt {\n color: var(--color-secondary-text);\n }\n\n html.auto-color .post-full-image {\n background-color: color-mod(var(--color-darkmode) l(+8%));\n }\n\n html.auto-color .author-avatar {\n border-color: var(--color-darkmode);\n background-color: color-mod(var(--color-darkmode) l(+8%));\n }\n\n html.auto-color .author-profile-image {\n opacity: 1;\n }\n\n html.auto-color .author-profile-image path {\n fill: var(--color-darkmode);\n }\n\n html.auto-color .article-byline-meta .author-name a {\n color: #fff;\n }\n\n html.auto-color .no-image .author-social-link a {\n color: rgba(255, 255, 255, 0.75);\n }\n\n html.auto-color .gh-content > [id] {\n color: rgba(255, 255, 255, 0.9);\n }\n\n html.auto-color .gh-content pre {\n background: color-mod(var(--color-darkgrey) l(-8%));\n }\n\n html.auto-color .gh-content :not(pre) > code {\n background: color-mod(var(--color-darkgrey) l(+6%));\n border-color: color-mod(var(--color-darkmode) l(+8%));\n color: var(--color-wash);\n }\n\n :where(html.auto-color) .gh-content a {\n color: #fff;\n }\n\n html.auto-color .gh-content strong {\n color: #fff;\n }\n\n html.auto-color .gh-content em {\n color: #fff;\n }\n\n html.auto-color .gh-content code {\n color: #fff;\n background: #000;\n }\n\n html.auto-color hr {\n border-top-color: color-mod(var(--color-darkmode) l(+8%));\n }\n\n html.auto-color .gh-content hr:after {\n background: color-mod(var(--color-darkmode) l(+8%));\n box-shadow: var(--color-darkmode) 0 0 0 5px;\n }\n\n html.auto-color figcaption {\n color: rgba(255, 255, 255, 0.6);\n }\n\n html.auto-color .gh-content table:not(.gist table) td:first-child {\n background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\n }\n\n html.auto-color .gh-content table:not(.gist table) td:last-child {\n background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);\n }\n\n html.auto-color .gh-content table:not(.gist table) th {\n color: rgba(255, 255, 255, 0.85);\n background-color: color-mod(var(--color-darkmode) l(+8%));\n }\n\n html.auto-color .gh-content table:not(.gist table) th,\n html.auto-color .gh-content table:not(.gist table) td {\n border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;\n }\n\n html.auto-color .gh-content input {\n color: color-mod(var(--color-midgrey) l(-30%));\n }\n\n html.auto-color .site-archive-header .no-image {\n color: rgba(255, 255, 255, 0.9);\n background: var(--color-darkmode);\n }\n\n html.auto-color .kg-header-card.kg-style-dark {\n background: color-mod(var(--color-darkgrey) l(-5%));\n }\n\n html.auto-color .kg-header-card.kg-style-light {\n background: color-mod(var(--color-darkgrey) l(+5%));\n }\n\n html.auto-color .kg-header-card h2.kg-header-card-header,\n html.auto-color .kg-header-card h3.kg-header-card-subheader {\n color: #fff;\n }\n\n html.auto-color .footer-cta-title {\n color: #fff;\n }\n}\n\n/*\n\nHey! You reached the end.\n\nHope you enjoyed this CSS file, if you have any suggestions\nfor improvements that might be useful for everyone who uses\nthis theme, you can find the open source repository for it\nhere: https://github.com/tryghost/casper\n\nOr, if you've just scrolled all the way to the bottom of the\nfile to add some of your own styles. Well, you've come to\nthe right place. Onward!\n\n */\n"]} diff --git a/assets/css/global.css b/assets/css/global.css old mode 100644 new mode 100755 index 5be49a8..3523ba7 --- a/assets/css/global.css +++ b/assets/css/global.css @@ -1,721 +1,721 @@ -/* Reset -/* ---------------------------------------------------------- */ - -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, -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: inherit; - font-size: 100%; - vertical-align: baseline; -} - -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-spacing: 0; - border-collapse: collapse; -} - -img { - display: block; - max-width: 100%; - height: auto; -} - -html { - box-sizing: border-box; - font-family: sans-serif; - - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} - -*, -*:before, -*:after { - box-sizing: inherit; -} - -a { - background-color: transparent; -} - -a:active, -a:hover { - outline: 0; -} - -b, -strong { - font-weight: bold; -} - -i, -em, -dfn { - font-style: italic; -} - -h1 { - margin: 0.67em 0; - font-size: 2em; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -img { - border: 0; -} - -svg:not(:root) { - overflow: hidden; -} - -mark { - background-color: #fdffb6; -} - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -kbd { - padding: 3px 5px; - font-family: var(--font-mono); - font-size: 1.5rem; - background: #f6f8fa; - border: 1px solid rgba(124, 139, 154, 0.25); - border-radius: 6px; - box-shadow: inset 0 -1px 0 rgba(124, 139, 154, 0.25); -} - -@media (max-width: 600px) { - kbd { - font-size: 1.3rem; - } -} - -button, -input, -optgroup, -select, -textarea { - margin: 0; - /* 3 */ - color: inherit; - /* 1 */ - font: inherit; - /* 2 */ -} - -button { - overflow: visible; - border: none; -} - -button, -select { - text-transform: none; -} - -button, -html input[type="button"], -/* 1 */ -input[type="reset"], -input[type="submit"] { - cursor: pointer; - /* 3 */ - - -webkit-appearance: button; - /* 2 */ -} - -button[disabled], -html input[disabled] { - cursor: default; -} - -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} - -input { - line-height: normal; -} - -input:focus { - outline: none; -} - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ -} - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -input[type="search"] { - box-sizing: content-box; - /* 2 */ - - -webkit-appearance: textfield; - /* 1 */ -} - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -legend { - padding: 0; - /* 2 */ - border: 0; - /* 1 */ -} - -textarea { - overflow: auto; -} - -table { - border-spacing: 0; - border-collapse: collapse; -} - -td, -th { - padding: 0; -} - -/* ========================================================================== - Base styles: opinionated defaults - ========================================================================== */ - -html { - font-size: 62.5%; - - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -body { - color: var(--color-darkgrey); - font-family: var(--font-sans); - font-size: 1.6rem; - line-height: 1.6em; - font-weight: 400; - font-style: normal; - letter-spacing: 0; - text-rendering: optimizeLegibility; - background: #fff; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -moz-font-feature-settings: "liga" on; -} - -::selection { - text-shadow: none; - background: #daf2fd; -} - -hr { - position: relative; - display: block; - width: 100%; - margin: 2.5em 0 3.5em; - padding: 0; - height: 1px; - border: 0; - border-top: 1px solid #f0f0f0; -} - -audio, -canvas, -iframe, -img, -svg, -video { - vertical-align: middle; -} - -fieldset { - margin: 0; - padding: 0; - border: 0; -} - -textarea { - resize: vertical; -} - -::not(.gh-content) p, -::not(.gh-content) ul, -::not(.gh-content) ol, -::not(.gh-content) dl, -::not(.gh-content) blockquote { - margin: 0 0 1.5em 0; -} - -ol, -ul { - padding-left: 1.3em; - padding-right: 1.5em; -} - -ol ol, -ul ul, -ul ol, -ol ul { - margin: 0.5em 0 1em; -} - -ul { - list-style: disc; -} - -ol { - list-style: decimal; -} - -ul, -ol { - max-width: 100%; -} - -li { - padding-left: 0.3em; - line-height: 1.6em; -} - -li+li { - margin-top: 0.5em; -} - -dt { - float: left; - margin: 0 20px 0 0; - width: 120px; - color: #daf2fd; - font-weight: 500; - text-align: right; -} - -dd { - margin: 0 0 5px 0; - text-align: left; -} - -blockquote { - margin: 1.5em 0; - padding: 0 1.6em 0 1.6em; - border-left: #daf2fd; -} - -blockquote small { - display: inline-block; - margin: 0.8em 0 0.8em 1.5em; - font-size: 0.9em; - opacity: 0.8; -} - -/* Quotation marks */ -blockquote small:before { - content: "\2014 \00A0"; -} - -blockquote cite { - font-weight: bold; -} - -blockquote cite a { - font-weight: normal; -} - -a { - color: #15171A; - text-decoration: none; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin-top: 0; - line-height: 1.15; - font-weight: 600; - text-rendering: optimizeLegibility; - letter-spacing: -0.01em; -} - -h1 { - margin: 0 0 0.5em 0; - font-size: 4.8rem; - font-weight: 700; - letter-spacing: -0.015em; -} - -@media (max-width: 600px) { - h1 { - font-size: 2.8rem; - } -} - -h2 { - margin: 1.5em 0 0.5em 0; - font-size: 2.8rem; - font-weight: 700; -} - -@media (max-width: 600px) { - h2 { - font-size: 2.3rem; - } -} - -h3 { - margin: 1.5em 0 0.5em 0; - font-size: 2.4rem; - font-weight: 600; -} - -@media (max-width: 600px) { - h3 { - font-size: 1.7rem; - } -} - -h4 { - margin: 1.5em 0 0.5em 0; - font-size: 2rem; -} - -@media (max-width: 600px) { - h4 { - font-size: 1.7rem; - } -} - -h5 { - margin: 1.5em 0 0.5em 0; - font-size: 2rem; -} - -h6 { - margin: 1.5em 0 0.5em 0; - font-size: 1.8rem; -} - -.post-tag-content { - padding: max(8vmin,40px) max(4vmin,20px) max(8vmin,64px); - position: relative; - margin: 0 auto; - max-width: 1200px; - width: 100%; -} - -.post-tag-grid { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); - column-gap: 30px; - row-gap: 30px; -} - -@media screen and (max-width: 1080px) { - .post-tag-grid { - column-gap: 30px; - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - row-gap: 30px; - } -} - -@media (max-width: 767px) { - .site-footer .post-tag-content { - max-width: 500px; - grid-template-columns: 1fr; - grid-gap: 0; - text-align: center; - } - .site-footer .copyright, - .site-footer .copyright a { - color: #fff; - font-size: 1.5rem; - } - .site-footer .copyright { - margin-bottom: 16px; - } -} - -@media screen and (max-width: 700px) { - .post-tag-grid { - column-gap: 30px; - display: grid; - grid-template-columns: minmax(0,1fr); - row-gap: 30px; - } -} - -.post-tag-grid-item { - overflow: hidden; - text-align:center; -} - -.post-tag-grid-item-svg{ - width: 320px; - height: 180px; -} - -.post-tag-grid-item-svg-first{ - height: 180px; - width: 80px; - fill: var(--ghost-accent-color); -} - -.post-tag-grid-item-svg-first-obj{ - height: 28px; - width: 80px; - x:0; - y:80; -} - -.post-tag-grid-item-svg-first-obj-text{ - color: white; - font-size: 32px; -} - -.post-tag-grid-item-svg-second, .post-tag-grid-item-svg-second-obj{ - height: 180px; - width: 240px; - x: 80; - y: 0; -} - -.post-tag-grid-item-svg-second-obj-inner{ - padding: max(0.5vmin,2px); -} - -.post-tag-grid-item-svg-second{ - fill: black; -} - -.post-tag-grid-item-svg-second-obj, .post-tag-grid-item-svg-second-obj-description{ - color: white; -} - -.post-tag-grid-item h2 { - font-size: 28px; - margin: 0.3em 0; - position: relative; - text-align: center; - text-transform: uppercase; -} - -.post-tag-grid-item-subtext:after, -.post-tag-grid-item-subtext:before { - content: " "; - height: 1px; - background: #000; - flex: 1; -} - -.post-tag-grid-item-subtext:after { - margin-left: 5px; -} - -.post-tag-grid-item-subtext:before { - margin-right: 5px; -} - -.post-tags { - margin: 1.2em 0em -1em; -} - -.post-tags a { - border-bottom: none !important; - font-size: small; - margin: 0 1% 0 0 -} - -.post-tags a .post-tag-title::before { - content: '#' -} - -.post-tags a .post-tag-title { - margin-top: 2% -} - -.post-tags a .post-tag-title:hover { - background-color: var(--color-background-hover); - color: var(--ghost-main-color) !important; -} - -@media screen and (max-width: 980px) { - article .post-tags a .post-tag-title { - margin-top: 2% - } -} - -.post-tags .post-tags-box-label { - font-size: 1rem; - line-height: 1em; - font-weight: 600; - text-transform: uppercase; - color: --color-content-light -} - -.article-share{ - margin: 6vmin 0 0; -} - -.article-share ul { - list-style: none; - padding-left: 0em; -} - -.article-share li { - display: inline; - padding-left: 0em; -} - -.article-share li+li { - padding-left: 0.3em; -} - -a.social-share-link svg { - height: 32px; - width: 32px; -} - -.post-card-title-custom{ - text-transform: uppercase; +/* Reset +/* ---------------------------------------------------------- */ + +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, +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: inherit; + font-size: 100%; + vertical-align: baseline; +} + +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-spacing: 0; + border-collapse: collapse; +} + +img { + display: block; + max-width: 100%; + height: auto; +} + +html { + box-sizing: border-box; + font-family: sans-serif; + + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +a { + background-color: transparent; +} + +a:active, +a:hover { + outline: 0; +} + +b, +strong { + font-weight: bold; +} + +i, +em, +dfn { + font-style: italic; +} + +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +mark { + background-color: #fdffb6; +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +kbd { + padding: 3px 5px; + font-family: var(--font-mono); + font-size: 1.5rem; + background: #f6f8fa; + border: 1px solid rgba(124, 139, 154, 0.25); + border-radius: 6px; + box-shadow: inset 0 -1px 0 rgba(124, 139, 154, 0.25); +} + +@media (max-width: 600px) { + kbd { + font-size: 1.3rem; + } +} + +button, +input, +optgroup, +select, +textarea { + margin: 0; + /* 3 */ + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ +} + +button { + overflow: visible; + border: none; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +/* 1 */ +input[type="reset"], +input[type="submit"] { + cursor: pointer; + /* 3 */ + + -webkit-appearance: button; + /* 2 */ +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +input { + line-height: normal; +} + +input:focus { + outline: none; +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +input[type="search"] { + box-sizing: content-box; + /* 2 */ + + -webkit-appearance: textfield; + /* 1 */ +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +legend { + padding: 0; + /* 2 */ + border: 0; + /* 1 */ +} + +textarea { + overflow: auto; +} + +table { + border-spacing: 0; + border-collapse: collapse; +} + +td, +th { + padding: 0; +} + +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ + +html { + font-size: 62.5%; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body { + color: var(--color-darkgrey); + font-family: var(--font-sans); + font-size: 1.6rem; + line-height: 1.6em; + font-weight: 400; + font-style: normal; + letter-spacing: 0; + text-rendering: optimizeLegibility; + background: #fff; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -moz-font-feature-settings: "liga" on; +} + +::selection { + text-shadow: none; + background: #daf2fd; +} + +hr { + position: relative; + display: block; + width: 100%; + margin: 2.5em 0 3.5em; + padding: 0; + height: 1px; + border: 0; + border-top: 1px solid #f0f0f0; +} + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} + +fieldset { + margin: 0; + padding: 0; + border: 0; +} + +textarea { + resize: vertical; +} + +::not(.gh-content) p, +::not(.gh-content) ul, +::not(.gh-content) ol, +::not(.gh-content) dl, +::not(.gh-content) blockquote { + margin: 0 0 1.5em 0; +} + +ol, +ul { + padding-left: 1.3em; + padding-right: 1.5em; +} + +ol ol, +ul ul, +ul ol, +ol ul { + margin: 0.5em 0 1em; +} + +ul { + list-style: disc; +} + +ol { + list-style: decimal; +} + +ul, +ol { + max-width: 100%; +} + +li { + padding-left: 0.3em; + line-height: 1.6em; +} + +li+li { + margin-top: 0.5em; +} + +dt { + float: left; + margin: 0 20px 0 0; + width: 120px; + color: #daf2fd; + font-weight: 500; + text-align: right; +} + +dd { + margin: 0 0 5px 0; + text-align: left; +} + +blockquote { + margin: 1.5em 0; + padding: 0 1.6em 0 1.6em; + border-left: #daf2fd; +} + +blockquote small { + display: inline-block; + margin: 0.8em 0 0.8em 1.5em; + font-size: 0.9em; + opacity: 0.8; +} + +/* Quotation marks */ +blockquote small:before { + content: "\2014 \00A0"; +} + +blockquote cite { + font-weight: bold; +} + +blockquote cite a { + font-weight: normal; +} + +a { + color: #15171A; + text-decoration: none; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + line-height: 1.15; + font-weight: 600; + text-rendering: optimizeLegibility; + letter-spacing: -0.01em; +} + +h1 { + margin: 0 0 0.5em 0; + font-size: 4.8rem; + font-weight: 700; + letter-spacing: -0.015em; +} + +@media (max-width: 600px) { + h1 { + font-size: 2.8rem; + } +} + +h2 { + margin: 1.5em 0 0.5em 0; + font-size: 2.8rem; + font-weight: 700; +} + +@media (max-width: 600px) { + h2 { + font-size: 2.3rem; + } +} + +h3 { + margin: 1.5em 0 0.5em 0; + font-size: 2.4rem; + font-weight: 600; +} + +@media (max-width: 600px) { + h3 { + font-size: 1.7rem; + } +} + +h4 { + margin: 1.5em 0 0.5em 0; + font-size: 2rem; +} + +@media (max-width: 600px) { + h4 { + font-size: 1.7rem; + } +} + +h5 { + margin: 1.5em 0 0.5em 0; + font-size: 2rem; +} + +h6 { + margin: 1.5em 0 0.5em 0; + font-size: 1.8rem; +} + +.post-tag-content { + padding: max(8vmin,40px) max(4vmin,20px) max(8vmin,64px); + position: relative; + margin: 0 auto; + max-width: 1200px; + width: 100%; +} + +.post-tag-grid { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); + column-gap: 30px; + row-gap: 30px; +} + +@media screen and (max-width: 1080px) { + .post-tag-grid { + column-gap: 30px; + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); + row-gap: 30px; + } +} + +@media (max-width: 767px) { + .site-footer .post-tag-content { + max-width: 500px; + grid-template-columns: 1fr; + grid-gap: 0; + text-align: center; + } + .site-footer .copyright, + .site-footer .copyright a { + color: #fff; + font-size: 1.5rem; + } + .site-footer .copyright { + margin-bottom: 16px; + } +} + +@media screen and (max-width: 700px) { + .post-tag-grid { + column-gap: 30px; + display: grid; + grid-template-columns: minmax(0,1fr); + row-gap: 30px; + } +} + +.post-tag-grid-item { + overflow: hidden; + text-align:center; +} + +.post-tag-grid-item-svg{ + width: 320px; + height: 180px; +} + +.post-tag-grid-item-svg-first{ + height: 180px; + width: 80px; + fill: var(--ghost-accent-color); +} + +.post-tag-grid-item-svg-first-obj{ + height: 28px; + width: 80px; + x:0; + y:80; +} + +.post-tag-grid-item-svg-first-obj-text{ + color: white; + font-size: 32px; +} + +.post-tag-grid-item-svg-second, .post-tag-grid-item-svg-second-obj{ + height: 180px; + width: 240px; + x: 80; + y: 0; +} + +.post-tag-grid-item-svg-second-obj-inner{ + padding: max(0.5vmin,2px); +} + +.post-tag-grid-item-svg-second{ + fill: black; +} + +.post-tag-grid-item-svg-second-obj, .post-tag-grid-item-svg-second-obj-description{ + color: white; +} + +.post-tag-grid-item h2 { + font-size: 28px; + margin: 0.3em 0; + position: relative; + text-align: center; + text-transform: uppercase; +} + +.post-tag-grid-item-subtext:after, +.post-tag-grid-item-subtext:before { + content: " "; + height: 1px; + background: #000; + flex: 1; +} + +.post-tag-grid-item-subtext:after { + margin-left: 5px; +} + +.post-tag-grid-item-subtext:before { + margin-right: 5px; +} + +.post-tags { + margin: 1.2em 0em -1em; +} + +.post-tags a { + border-bottom: none !important; + font-size: small; + margin: 0 1% 0 0 +} + +.post-tags a .post-tag-title::before { + content: '#' +} + +.post-tags a .post-tag-title { + margin-top: 2% +} + +.post-tags a .post-tag-title:hover { + background-color: var(--color-background-hover); + color: var(--ghost-main-color) !important; +} + +@media screen and (max-width: 980px) { + article .post-tags a .post-tag-title { + margin-top: 2% + } +} + +.post-tags .post-tags-box-label { + font-size: 1rem; + line-height: 1em; + font-weight: 600; + text-transform: uppercase; + color: --color-content-light +} + +.article-share{ + margin: 6vmin 0 0; +} + +.article-share ul { + list-style: none; + padding-left: 0em; +} + +.article-share li { + display: inline; + padding-left: 0em; +} + +.article-share li+li { + padding-left: 0.3em; +} + +a.social-share-link svg { + height: 32px; + width: 32px; +} + +.post-card-title-custom{ + text-transform: uppercase; } \ No newline at end of file diff --git a/assets/css/screen.css b/assets/css/screen.css old mode 100644 new mode 100755 index 5efb53a..09532de --- a/assets/css/screen.css +++ b/assets/css/screen.css @@ -1,2415 +1,2450 @@ -/* Table of Contents -/* ------------------------------------------------------------ - -This is a development CSS file which is built to a minified -production stylesheet in assets/built/screen.css - -1. Global Styles -2. Layout -3. Special Templates -4. Site Header -5. Site Navigation -6. Post Feed -7. Single Post - 7.1. Post Byline - 7.2. Members Subscribe Form - 7.4. Related Posts - 7.5. Koenig Styles - 7.6 Comments -8. Author Template -9. Error Template -11. Site Footer -12. Dark Mode - -*/ - -/* 1. Global - Set up the things -/* ---------------------------------------------------------- */ - -/* Import CSS reset and base styles */ -@import "global.css"; - -:root { - - /* Colours */ - --color-green: #a4d037; - --color-yellow: #fecd35; - --color-red: #f05230; - --color-darkgrey: #15171A; - --color-midgrey: #738a94; - --color-lightgrey: #f1f1f1; - --color-secondary-text: #979797; - --color-border: #e1e1e1; - --color-wash: #e5eff5; - --color-darkmode: #151719; - - /* - An accent color is also set by Ghost itself in - Ghost Admin > Settings > Brand - - --ghost-accent-color: {value}; - - You can use this variable throughout your styles - */ - - /* Fonts */ - --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - --font-serif: Georgia, Times, serif; - --font-mono: Menlo, Courier, monospace; - -} - - -/* 2. Layout - Page building blocks -/* ---------------------------------------------------------- */ - -.viewport { - display: flex; - flex-direction: column; - min-height: 100vh; -} - -.site-content { - flex-grow: 1; -} - -/* Full width page blocks */ -.outer { - position: relative; - padding: 0 max(4vmin, 20px); -} - -/* Centered content container blocks */ -.inner { - margin: 0 auto; - max-width: 1200px; - width: 100%; -} - - -/* 4. Site Header -/* ---------------------------------------------------------- */ - -.site-header { - position: relative; - color: #fff; - background: var(--ghost-accent-color); -} - -.site-header-cover { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - object-fit: cover; -} - -.site-header-content { - position: relative; - z-index: 100; - display: flex; - align-items: center; - padding-top: calc(19vmin + 44px); - padding-bottom: 19vmin; - text-align: center; - color: var(--color-darkgrey); -} - -.has-cover .site-header-content { - min-height: 560px; - background-color: var(--ghost-accent-color); - color: #fff; -} - -.site-header-content.left-aligned { - padding-bottom: 0; - text-align: left; -} - -.has-cover .site-header-content.left-aligned { - align-items: flex-end; - padding-bottom: max(4vmin, 32px); -} - -.site-header-content.no-content { - padding-top: 0; - padding-bottom: 2vmin; -} - -.site-header-inner { - position: relative; -} - -.site-header-content.left-aligned .site-header-inner { - align-items: flex-start; -} - -.site-logo { - flex-shrink: 0; - margin: 0 auto; - max-height: 120px; -} - -.site-header-content.left-aligned .site-logo { - margin-right: auto; - margin-left: 0; - max-height: 96px; -} - -.site-title { - z-index: 10; - margin: 0; - padding: 0; - font-size: 5rem; - font-weight: 800; -} - -.has-serif-title .site-title { - font-family: var(--font-serif); -} - -.has-cover .site-title { - font-size: 6rem; -} - -.site-header-content.left-aligned .site-title { - font-size: 4.4rem; -} - -.has-cover .site-header-content.left-aligned .site-title { - font-size: 4.6rem; -} - -.site-description { - display: inline-block; - z-index: 10; - max-width: 960px; - font-size: 6rem; - font-weight: 700; - line-height: 1.1; -} - -:is(.site-logo, .site-title) + .site-description { - max-width: 640px; - margin-top: 16px; - font-size: 2.4rem; - font-weight: 400; - line-height: 1.4; -} - -.site-logo + .site-description { - margin-top: 20px; -} - -.site-title + .site-description { - color: var(--color-secondary-text); -} - -.has-cover .site-description { - letter-spacing: -0.005em; - color: #fff; -} - -.has-cover :is(.site-logo, .site-title) + .site-description { - font-size: 2.4rem; -} - -.has-cover .site-header-content.left-aligned :is(.site-logo, .site-title) + .site-description { - font-size: 2.2rem; -} - -@media (min-width: 992px) { - .is-head-stacked.has-cover .site-header-content { - padding-top: calc(19vmin + 120px); - } -} - -@media (max-width: 991px) { - .site-header-content { - padding-top: calc(19vmin + 32px); - } -} - -@media (max-width: 767px) { - .has-cover .site-header-content { - min-height: 240px; - } - .site-header-inner { - gap: 16px; - } - .site-logo { - max-width: 60%; - } - .site-title { - font-size: 3.4rem !important; - } - .site-description { - font-size: 2.8rem !important; - } - .site-logo + .site-description { - margin-top: 12px !important; - } - .site-title + .site-description { - margin-top: 4px !important; - } -} - - -/* 5. Site Navigation -/* ---------------------------------------------------------- */ - -.gh-head { - height: 88px; - font-size: 1.6rem; - line-height: 1.3em; - background-color: #fff; -} - -.has-cover:not(.home-template) .gh-head { - background-color: var(--ghost-accent-color); - color: #fff; -} - -.home-template.has-cover .gh-head { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 2000; - background-color: transparent; - color: #fff; -} - -.gh-head a { - text-decoration: none; -} - -.gh-head-inner { - display: grid; - column-gap: 40px; - grid-template-columns: auto 1fr auto; - grid-auto-flow: row dense; - align-items: center; - height: 100%; -} - -/* Header styles -/* ---------------------------------------------------------- */ - -.is-head-left-logo .gh-head-inner { - grid-template-columns: auto 1fr auto; -} - -.is-head-left-logo.home-template .gh-head-logo { - display: none; -} - -.is-head-left-logo.home-template .gh-head-menu { - margin-left: -40px; -} - -@media (min-width: 992px) { - .is-head-left-logo .gh-head-menu { - margin-right: 32px; - margin-left: 16px; - } -} - -.is-head-middle-logo .gh-head-inner { - grid-template-columns: 1fr auto 1fr; -} - -.is-head-middle-logo .gh-head-brand { - grid-column-start: 2; -} - -@media (min-width: 992px) { - .is-head-middle-logo .gh-head-menu { - margin-right: 64px; - } -} - -.is-head-stacked .gh-head { - height: auto; -} - -.is-head-stacked .gh-head-inner { - grid-template-columns: 1fr auto 1fr; -} - -.is-head-stacked .gh-head-brand { - grid-row-start: 1; - grid-column-start: 2; -} - -@media (min-width: 992px) { - .is-head-stacked .gh-head-inner { - padding: 0; - } - - .is-head-stacked .gh-head-brand { - position: relative; - display: flex; - align-items: center; - height: 80px; - } - - .is-head-stacked .gh-head-menu { - grid-row-start: 2; - grid-column: 1 / 4; - justify-content: center; - height: 56px; - margin: 0 48px; - } - - .is-head-stacked .gh-head-menu::before, - .is-head-stacked .gh-head-menu::after { - position: absolute; - top: 80px; - left: 0; - width: 100%; - height: 1px; - content: ""; - background-color: var(--color-lightgrey); - } - - .is-head-stacked.has-cover .gh-head-menu::before, - .is-head-stacked.has-cover .gh-head-menu::after { - background-color: rgba(255, 255, 255, 0.2); - } - - .is-head-stacked .gh-head-menu::after { - top: 136px; - } - - .is-head-stacked .gh-head-actions { - grid-row-start: 1; - grid-column: 1 / 4; - justify-content: space-between; - } -} - -/* Brand -/* ---------------------------------------------------------- */ - -.gh-head-brand { - display: flex; - align-items: center; - height: 40px; - word-break: break-all; -} - -.gh-head-logo { - display: block; - font-weight: 800; - font-size: 2.6rem; - letter-spacing: -0.02em; - color: inherit; - white-space: nowrap; -} - -.gh-head-logo.no-image { - margin-top: -2px; -} - -.has-cover .gh-head-logo { - color: #fff; -} - -.gh-head-logo img { - max-height: 40px; -} - - -/* Primary Navigation -/* ---------------------------------------------------------- */ - -.gh-head-menu { - display: flex; - align-items: center; - margin-top: 1px; - font-weight: 500; -} - -.gh-head-menu .nav { - display: inline-flex; - align-items: center; - flex-wrap: wrap; - gap: 32px; - list-style: none; - margin: 0; - padding: 0; -} - -.gh-head-menu .nav li { - margin: 0; - padding: 0; -} - -.gh-head-menu .nav a { - display: inline-block; - line-height: 1.7; - color: inherit; -} - -.gh-head-menu .nav a:hover { - opacity: 0.9; -} - -.gh-head-menu .nav-more-toggle { - position: relative; - width: 30px; - height: 30px; - margin: 0 -6px; - padding: 0; - font-size: inherit; - background-color: transparent; - text-transform: inherit; -} - -.gh-head-menu .nav-more-toggle svg { - width: 24px; - height: 24px; -} - -@media (min-width: 992px) { - body:not(.is-dropdown-loaded) .gh-head-menu .nav > li { - opacity: 0; - } -} - - -/* Dropdown -/* ---------------------------------------------------------- */ - -.gh-dropdown { - position: absolute; - top: 100%; - right: -16px; - z-index: 90; - width: 200px; - padding: 12px 0; - margin-top: 24px; - opacity: 0; - visibility: hidden; - text-align: left; - background-color: #fff; - border-radius: 5px; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 7px 20px -5px rgba(0, 0, 0, 0.15); - transform: translate3d(0, 6px, 0); - transition: opacity 0.3s, transform 0.2s; -} - -.is-head-middle-logo .gh-dropdown { - right: auto; - left: -24px; -} - -.is-dropdown-mega .gh-dropdown { - display: grid; - grid-template-columns: 1fr 1fr; - grid-auto-flow: column; - column-gap: 40px; - min-width: 320px; - padding: 20px 32px; -} - -.is-dropdown-open .gh-dropdown { - opacity: 1; - visibility: visible; - transform: translateY(0); -} - -.gh-head-menu .gh-dropdown li a { - display: block; - padding: 6px 20px; - color: #15171a; -} - -.is-dropdown-mega .gh-dropdown li a { - padding: 8px 0; -} - - -/* Secondary Navigation -/* ---------------------------------------------------------- */ - -.gh-social { - display: flex; - align-items: center; - gap: 20px; -} - -.gh-social-link { - line-height: 0; - color: inherit; -} - -.gh-social-link:hover { - opacity: 0.9; -} - -.gh-social-link svg { - width: 18px; - height: 18px; -} - -.gh-head-actions { - display: flex; - justify-content: flex-end; - align-items: center; - gap: 24px; - list-style: none; - text-align: right; -} - -.gh-head-button { - display: inline-flex; - justify-content: center; - align-items: center; - padding: 8px 20px; - height: 44px; - font-weight: 600; - letter-spacing: -0.005em; - font-size: 1.6rem; - border-radius: 48px; - color: #fff; - background: var(--ghost-accent-color); -} - -.has-cover .gh-head-button { - color: var(--color-darkgrey); - background: #fff; -} - - -/* Search -/* ---------------------------------------------------------- */ - -.gh-search { - display: inline-flex; - align-items: center; - justify-content: center; - width: 32px; - height: 32px; - padding: 0; - cursor: pointer; - background-color: transparent; - border: 0; - outline: none; -} - -.gh-search:hover { - opacity: 0.9; -} - -.gh-head-brand .gh-search { - margin-right: 8px; -} - -.gh-head-actions .gh-search { - margin-right: -4px; -} - -@media (max-width: 991px) { - .gh-head-actions .gh-search { - display: none; - } -} - -@media (min-width: 992px) { - .gh-head-brand .gh-search { - display: none; - } -} - - -/* Mobile Menu Trigger -/* ---------------------------------------------------------- */ - -.gh-burger { - position: relative; - display: none; - width: 30px; - height: 30px; - padding: 0; - margin-right: -3px; - cursor: pointer; - background-color: transparent; - border: 0; - appearance: none; -} - -.gh-burger::before, -.gh-burger::after { - position: absolute; - left: 3px; - width: 24px; - height: 1px; - content: ""; - background-color: var(--color-darkgrey); - transition: all 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s; -} - -.has-cover .gh-burger::before, -.has-cover .gh-burger::after { - background-color: #fff; -} - -.gh-burger::before { - top: 11px; -} - -.gh-burger::after { - bottom: 11px; -} - -.gh-head-open .gh-burger::before { - top: 15px; - transform: rotate(45deg); -} - -.gh-head-open .gh-burger::after { - bottom: 14px; - transform: rotate(-45deg); -} - - -/* Mobile Menu -/* ---------------------------------------------------------- */ -/* IDs needed to ensure sufficient specificity */ - -@media (max-width: 991px) { - #gh-head { - height: 64px; - } - - #gh-head .gh-head-inner { - grid-template-rows: auto 1fr auto; - grid-template-columns: 1fr; - gap: 48px; - } - - #gh-head .gh-head-brand { - display: grid; - grid-template-columns: 1fr auto auto; - grid-column-start: 1; - align-items: center; - height: 64px; - } - - #gh-head .gh-head-logo { - font-size: 2.2rem; - } - - #gh-head .gh-head-brand .gh-search { - margin-left: -6px; - } - - #gh-head .gh-burger { - display: block; - } - - #gh-head .gh-head-menu, - #gh-head .gh-head-actions { - position: fixed; - justify-content: center; - visibility: hidden; - opacity: 0; - } - - #gh-head .gh-head-menu { - margin: 0; - transition: none; - transform: translateY(0); - } - - #gh-head .nav { - gap: 16px; - align-items: center; - line-height: 1.4; - } - - #gh-head .nav a { - font-size: 2.6rem; - font-weight: 600; - text-transform: none; - } - - #gh-head .nav li { - opacity: 0; - transform: translateY(-4px); - } - - #gh-head .gh-head-button { - width: 100%; - font-size: 1.8rem; - text-transform: none; - opacity: 0; - transform: translateY(8px); - } - - .gh-head-open #gh-head { - position: fixed; - right: 0; - left: 0; - z-index: 3999999; - height: 100vh; - overflow-y: scroll; - -webkit-overflow-scrolling: touch; - } - - .gh-head-open.has-cover #gh-head, - .gh-head-open.has-cover #gh-head .gh-head-actions { - background-color: var(--ghost-accent-color); - } - - .gh-head-open #gh-head .gh-head-menu, - .gh-head-open #gh-head .gh-head-actions { - position: static; - visibility: visible; - opacity: 1; - } - - .gh-head-open #gh-head .nav { - display: flex; - flex-direction: column; - } - - .gh-head-open #gh-head .nav li { - opacity: 1; - transition: transform 0.2s, opacity 0.2s; - transform: translateY(0); - } - - .gh-head-open #gh-head .gh-head-actions { - position: sticky; - right: 0; - bottom: 0; - left: 0; - display: inline-flex; - flex-direction: column; - gap: 12px; - align-items: center; - padding: max(4vmin, 20px) 0; - background-color: #fff; - } - - .gh-head-open #gh-head .gh-head-button { - opacity: 1; - transition: transform 0.4s, opacity 0.4s; - transition-delay: 0.2s; - transform: translateY(0); - } -} - - -/* 6. Post Feed -/* ---------------------------------------------------------- */ - -.post-feed { - position: relative; - display: grid; - gap: 4.8vmin 4vmin; - grid-template-columns: repeat(6, 1fr); - padding: max(4.8vmin, 36px) 0 0; -} - -:is(.tag-template, .author-template) .post-feed { - margin-top: 4vmin; -} - -@media (max-width: 991px) { - .post-feed { - grid-template-columns: 1fr 1fr; - } -} - -@media (max-width: 767px) { - .post-feed { - grid-template-columns: 1fr; - grid-gap: 40px; - } -} - -.post-card { - position: relative; - grid-column: span 2; - display: flex; - flex-direction: column; - background-size: cover; - word-break: break-word; -} - -.post-card-image-link { - position: relative; - overflow: hidden; - display: block; - margin-bottom: 32px; -} - -.post-card-image-link::after { - content: ""; - display: block; - padding-bottom: 55%; -} - -.post-card[class*="post-access-"] .post-card-image-link::after { - background-color: rgba(0, 0, 0, 0.5); - backdrop-filter: blur(3px); -} - -.post-card.keep-ratio[class*="post-access-"] .post-card-image-link::after { - position: absolute; - inset: 0; - padding-bottom: 0; -} - -.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link::after { - padding-bottom: 0; -} - -.post-card-image { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - background: var(--color-lightgrey) no-repeat center center; - object-fit: cover; -} - -.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image { - position: static; -} - -.post-card-access { - position: absolute; - inset: 0; - z-index: 10; - display: flex; - align-items: center; - justify-content: center; - gap: 4px; - font-size: 1.5rem; - font-weight: 600; - color: #fff; -} - -.post-card-content-link { - position: relative; - display: block; - color: var(--color-darkgrey); -} - -.post-card-content-link:hover { - text-decoration: none; -} - -.post-feed .no-image .post-card-content-link { - padding: 0; -} - -.no-image .post-card-header { - margin-top: 0; -} - -.post-card-tags { - display: flex; - align-items: center; - gap: 12px; - margin: 0 0 10px; - color: var(--color-secondary-text); - font-size: 1.4rem; - font-weight: 600; - letter-spacing: -0.005em; - line-height: 1; -} - -.post-card-featured { - position: relative; - display: flex; - align-items: center; - gap: 3px; - padding-left: 18px; - color: var(--ghost-accent-color); -} - -.post-card-featured svg { - position: absolute; - left: 0; -} - -.post-card-title { - margin: 0; - font-size: 2.6rem; - font-weight: 800; - line-height: 1.2; -} - -.post-card-content-link:hover .post-card-title { - opacity: 0.9; -} - -.no-image .post-card-title { - margin-top: 0; -} - -.has-serif-title .post-card-title { - font-family: var(--font-serif); - letter-spacing: -0.005em; -} - -.post-card-title svg { - margin-top: -3px; - margin-left: -1px; -} - -.post-card-content { - flex-grow: 1; - display: flex; - flex-direction: column; -} - -.post-card-excerpt { - display: -webkit-box; - overflow-y: hidden; - margin-top: 12px; - max-width: 720px; - font-size: 1.6rem; - line-height: 1.5; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - word-break: break-word; -} - -.has-sans-body .post-card-excerpt { - font-family: var(--font-sans); -} - -.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt { - -webkit-line-clamp: 2; -} - -:is(.tag-template, .author-template) .post-card-excerpt { - margin-top: 6px; -} - -.post-card-meta { - display: flex; - align-items: center; - gap: 6px; - margin-top: 12px; - padding: 0; - font-size: 1.3rem; - color: var(--color-secondary-text); -} - -.post-card-meta > * { - display: flex; - align-items: center; - gap: 6px; -} - -.post-card-meta > * + *:not(script)::before { - width: 2px; - height: 2px; - content: ""; - background-color: var(--color-secondary-text); - border-radius: 50%; -} - -.post-card-meta .sep { - margin: 0 4px; -} - -.author-profile-image { - display: block; - width: 100%; - height: 100%; - background: color-mod(var(--color-lightgrey) l(+10%)); - border-radius: 100%; - - object-fit: cover; -} - -.author-list { - display: flex; - flex-wrap: wrap; - margin: 0 0 0 4px; - padding: 0; - list-style: none; -} - -.author-list-item { - position: relative; - flex-shrink: 0; - margin: 0; - padding: 0; -} - - -/* Special Styling for home page grid (below): - -The first post in the list is styled to be bigger than the others and take over -the full width of the grid to give it more emphasis. Wrapped in a media query to -make sure this only happens on large viewports / desktop-ish devices. - -*/ - -@media (min-width: 1001px) { - .post-card-large { - grid-column: span 6; - display: grid; - grid-gap: 4vmin; - grid-template-columns: repeat(3, 1fr); - border-top: 0; - } - - .post-card-large:not(.no-image) .post-card-header { - margin-top: 0; - } - - .post-card-large .post-card-image-link { - position: relative; - grid-column: span 2; - margin-bottom: 0; - } - - .post-card-large .post-card-content { - grid-column: span 1; - } - - .post-card-large.no-image .post-card-content { - grid-column: span 2; - } - - .post-card-large .post-card-image { - position: absolute; - width: 100%; - height: 100%; - } - - .post-card-large .post-card-tags { - margin-bottom: 12px; - } - - .post-card-large .post-card-title { - margin-top: 0; - font-size: 4.4rem; - line-height: 1.05; - } - - .post-card-large .post-card-excerpt { - margin-top: 16px; - } - - .post-card-full { - grid-column: span 6; - } - - .post-card-full .post-card-image-link { - margin-bottom: 40px; - } - - .post-card-full .post-card-tags { - margin-bottom: 14px; - } - - .post-card-full .post-card-title { - font-size: 6.4rem; - line-height: 0.95; - } - - .post-card-full .post-card-excerpt { - margin-top: 20px; - font-size: 1.8rem; - } - - .post-card-large + .post-card-large:nth-child(even) { - margin: 32px 0; - } - - .post-card-large + .post-card-large:nth-child(even) .post-card-content { - order: -1; - } - - .post-card.dynamic { - grid-column: span 3; - } - - .post-card.dynamic .post-card-title { - font-size: 3rem; - } -} - - -/* 7. Single Post -/* ---------------------------------------------------------- */ - -.article { - padding: max(8vmin, 40px) 0 max(8vmin, 64px); - word-break: break-word; -} - -.page-template .article { - padding-top: max(12vmin, 64px); -} - -.article-header { - padding: 0 0 max(6.4vmin, 40px) 0; -} - -.page-template .article-header { - padding-bottom: max(3.2vmin, 28px); -} - -.article-tag { - margin-bottom: 16px; - font-size: 1.6rem; -} - -.article-tag a { - color: var(--color-secondary-text); -} - -.article-title { - margin-bottom: 0; - font-size: clamp(3.2rem, 5vw, 5.2rem); - font-weight: 800; - line-height: 1.05; - color: var(--color-darkgrey); -} - -.has-serif-title .article-title { - font-family: var(--font-serif); -} - -.article-excerpt { - margin-top: 20px; - max-width: 720px; - font-size: 2rem; - line-height: 1.45; - color: var(--color-darkgrey); -} - -.gh-canvas .article-image { - grid-column: wide-start / wide-end; - width: 100%; - margin: max(6.4vmin, 40px) 0 0; -} - -.image-full .article-image { - grid-column: full-start / full-end; -} - -.image-small .article-image { - grid-column: main-start / main-end; -} - -.gh-canvas .article-image img { - display: block; - margin-left: auto; - margin-right: auto; - width: 100%; -} - -@media (max-width: 767px) { - .article-excerpt { - margin-top: 14px; - font-size: 1.7rem; - } -} - -/* -------- */ - -/* Content grid -/* ---------------------------------------------------------- */ - -/* Canvas creates a multi-column, centered grid which the post -is laid out on top of. Canvas just defines the grid, we don't -use it for applying any other styles. */ - -.gh-canvas { - display: grid; - grid-template-columns: - [full-start] - minmax(max(4vmin, 20px), auto) - [wide-start] - minmax(auto, 240px) - [main-start] - min(720px, calc(100% - max(8vmin, 40px))) - [main-end] - minmax(auto, 240px) - [wide-end] - minmax(max(4vmin, 20px), auto) - [full-end] - ; -} - -.gh-canvas > * { - grid-column: main-start / main-end; -} - -.kg-width-wide { - grid-column: wide-start / wide-end; -} - -.kg-width-full { - grid-column: full-start / full-end; -} - -.kg-width-full img { - width: 100%; -} - - -/* Content -/* ---------------------------------------------------------- */ - -/* Content refers to styling all page and post content that is -created within the Ghost editor. The main content handles -headings, text, images and lists. We deal with cards lower down. */ - -/* Default vertical spacing */ -.gh-content > * + * { - margin-top: max(3.2vmin, 24px); - margin-bottom: 0; -} - -/* [id] represents all headings h1-h6, reset all margins */ -.gh-content > [id] { - margin: 0; - color: var(--color-darkgrey); -} - -.has-serif-title .gh-content > [id] { - font-family: var(--font-serif); -} - -/* Add back a top margin to all headings, unless a heading -is the very first element in the post content */ -.gh-content > [id]:not(:first-child) { - margin: 2em 0 0; -} - -/* Add a small margin between a heading and anything after it */ -.gh-content > [id] + * { - margin-top: 1.5rem !important; -} - -/* A larger margin before/after HRs and blockquotes */ -.gh-content > hr, -.gh-content > blockquote { - position: relative; - margin-top: max(4.8vmin, 32px); -} -.gh-content > hr + *, -.gh-content > blockquote + * { - margin-top: max(4.8vmin, 32px) !important; -} - -/* Now the content typography styles */ -.gh-content a { - color: var(--ghost-accent-color); - text-decoration: underline; - word-break: break-word; -} - -.gh-content > blockquote:not([class]), -.gh-content > ol, -.gh-content > ul, -.gh-content > dl, -.gh-content > p { - font-family: var(--font-serif); - font-weight: 400; - font-size: 2rem; - line-height: 1.6em; -} - -.gh-content .kg-callout-card .kg-callout-text, -.gh-content .kg-toggle-card .kg-toggle-content > ol, -.gh-content .kg-toggle-card .kg-toggle-content > ul, -.gh-content .kg-toggle-card .kg-toggle-content > p { - font-family: var(--font-serif); - font-weight: 400; - font-size: 1.9rem; - line-height: 1.6em; -} - -.gh-content .kg-product-card .kg-product-card-description > p, -.gh-content .kg-product-card .kg-product-card-description > ol, -.gh-content .kg-product-card .kg-product-card-description > ul { - font-size: 1.7rem; - line-height: 1.6em; -} - -.gh-content .kg-callout-card .kg-callout-emoji { - font-size: 2.1rem; - line-height: 1.4em; -} - -.gh-content .kg-toggle-card .kg-toggle-heading-text { - font-size: 2.0rem; -} - -.has-sans-body .gh-content > blockquote, -.has-sans-body .gh-content > ol, -.has-sans-body .gh-content > ul, -.has-sans-body .gh-content > dl, -.has-sans-body .gh-content > p, -.has-sans-body .gh-content .kg-callout-card .kg-callout-text, -.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ol, -.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ul, -.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > p { - font-family: var(--font-sans); -} - -.gh-content > ul, -.gh-content > ol, -.gh-content > dl, -.gh-content .kg-toggle-card .kg-toggle-content > ol, -.gh-content .kg-toggle-card .kg-toggle-content > ul, -.gh-content .kg-product-card .kg-product-card-description > ol, -.gh-content .kg-product-card .kg-product-card-description > ul { - padding-left: 1.9em; -} - -.gh-content > blockquote:not([class]) { - position: relative; - font-style: italic; - padding: 0; -} - -.gh-content > blockquote:not([class])::before { - content: ""; - position: absolute; - left: -1.5em; - top: 0; - bottom: 0; - width: 0.3rem; - background: var(--ghost-accent-color); -} - -.gh-content :not(pre) > code { - vertical-align: middle; - padding: 0.15em 0.4em 0.15em; - border: #e1eaef 1px solid; - font-weight: 400 !important; - font-size: 0.9em; - line-height: 1em; - color: #15171A; - background: #f0f6f9; - border-radius: 0.25em; -} - -.gh-content pre { - overflow: auto; - padding: 16px 20px; - color: var(--color-wash); - font-size: 1.4rem; - line-height: 1.5em; - background: var(--color-darkgrey); - border-radius: 5px; - box-shadow: 0 2px 6px -2px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.4); -} - -@media (max-width: 650px) { - .gh-content > blockquote:not([class]), - .gh-content > ol, - .gh-content > ul, - .gh-content > dl, - .gh-content > p, - .gh-content .kg-callout-card .kg-callout-text, - .gh-content .kg-toggle-card .kg-toggle-content > ol, - .gh-content .kg-toggle-card .kg-toggle-content > ul, - .gh-content .kg-toggle-card .kg-toggle-content > p { - font-size: 1.8rem; - } - - .gh-content .kg-product-card .kg-product-card-description > p, - .gh-content .kg-product-card .kg-product-card-description > ol, - .gh-content .kg-product-card .kg-product-card-description > ul { - font-size: 1.6rem; - } - - .gh-content blockquote:not([class])::before { - left: min(-4vmin, -20px); - } -} - - -/* Cards -/* ---------------------------------------------------------- */ - -/* Cards are dynamic blocks of content which appear within Ghost -posts, for example: embedded videos, tweets, galleries, or -specially styled bookmark links. We add extra styling here to -make sure they look good, and are given a bit of extra spacing. */ - -/* Add extra margin before/after any cards, -except for when immediately preceeded by a heading */ -.gh-content :not(.kg-card):not([id]) + .kg-card { - margin-top: 6vmin; - margin-bottom: 0; -} -.gh-content .kg-card + :not(.kg-card) { - margin-top: 6vmin; - margin-bottom: 0; -} - -/* This keeps small embeds centered */ -.kg-embed-card { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; -} - -/* This keeps small iamges centered */ -.kg-image-card img { - margin: auto; -} - -.has-serif-title .kg-toggle-card .kg-toggle-heading-text { - font-family: var(--font-serif); -} - -.gh-content .kg-callout-card-accent a { - text-decoration: underline; -} - -.kg-blockquote-alt { - font-family: var(--font-serif); - color: var(--color-midgrey); -} - -.has-sans-body .kg-blockquote-alt { - font-family: var(--font-sans); -} - -.kg-card.kg-header-card.kg-style-dark { - background: var(--color-darkgrey); -} - -.kg-header-card.kg-style-light h2.kg-header-card-header { - color: color-mod(var(--color-darkgrey) l(-5%)); -} - -.has-serif-title .kg-header-card h2.kg-header-card-header { - font-family: var(--font-serif); -} - - -/* Captions */ -figcaption { - padding: 1.5rem 1.5rem 0; - text-align: center; - color: rgba(0,0,0,0.5); - font-size: 1.3rem; - line-height: 1.4em; -} -figcaption strong { - color: rgba(0,0,0,0.8); -} -figcaption a { - text-decoration: underline; -} - - -/* Highly specific styles for traditional Instagram embeds */ -iframe.instagram-media { - margin-top: 6vmin !important; - margin-left: auto !important; - margin-right: auto !important; - margin-bottom: 0 !important; -} - -iframe.instagram-media + script + :not([id]) { - margin-top: 6vmin; -} - - -/* Card captions -/* ---------------------------------------------------------- */ - -.kg-width-full.kg-card-hascaption { - display: grid; - grid-template-columns: inherit; -} - -.kg-width-wide.kg-card-hascaption img { - grid-column: wide-start / wide-end; -} -.kg-width-full.kg-card-hascaption img { - grid-column: 1 / -1; -} - -.kg-width-full.kg-card-hascaption figcaption { - grid-column: main-start / main-end; -} - -.article-comments { - margin: 6vmin 0 0 0; -} - -/* -----old------ */ - -.footnotes-sep { - margin-bottom: 30px; -} - -.footnotes { - font-size: 1.5rem; -} - -.footnotes p { - margin: 0; -} - -.footnote-backref { - font-size: 1.2rem; - font-weight: bold; - text-decoration: none !important; - box-shadow: none !important; -} - -/* Tables */ -.gh-content table:not(.gist table) { - display: inline-block; - overflow-x: auto; - max-width: 100%; - width: auto; - border-spacing: 0; - border-collapse: collapse; - font-family: var(--font-sans); - font-size: 1.6rem; - white-space: nowrap; - vertical-align: top; - -webkit-overflow-scrolling: touch; - background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center; - background-attachment: scroll, scroll; - background-size: 10px 100%, 10px 100%; - background-repeat: no-repeat; -} - -.gh-content table:not(.gist table) td:first-child { - background-image: linear-gradient(to right, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%); - background-size: 20px 100%; - background-repeat: no-repeat; -} - -.gh-content table:not(.gist table) td:last-child { - background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%); - background-position: 100% 0; - background-size: 20px 100%; - background-repeat: no-repeat; -} - -.gh-content table:not(.gist table) th { - color: var(--color-darkgrey); - font-size: 1.2rem; - font-weight: 700; - letter-spacing: 0.2px; - text-align: left; - text-transform: uppercase; - background-color: color-mod(var(--color-wash) l(+4%)); -} - -.gh-content table:not(.gist table) th, -.gh-content table:not(.gist table) td { - padding: 6px 12px; - border: color-mod(var(--color-wash) l(-1%) s(-5%)) 1px solid; -} - - -/* 7.1. Post Byline -/* ---------------------------------------------------------- */ - -.article-byline { - display: flex; - justify-content: space-between; - margin: min(24px, 5.6vmin) 0 0; -} - -.article-byline-content { - flex-grow: 1; - display: flex; - align-items: center; -} - -.article-byline-content .author-list { - justify-content: flex-start; - padding: 0 14px 0 0; -} - -.article-byline-meta { - color: var(--color-secondary-text); - font-size: 1.4rem; - line-height: 1.2em; -} - -.article-byline-meta .author-name { - margin: 0 0 6px; - font-size: 1.7rem; - font-weight: 700; - letter-spacing: 0; -} - -.article-byline-meta .bull { - display: inline-block; - margin: 0 2px; -} - -.author-avatar { - display: block; - overflow: hidden; - margin: 0 -4px; - width: min(56px, 13.6vmin); - height: min(56px, 13.6vmin); - border: #fff 2px solid; - border-radius: 50%; - background-color: var(--color-border); -} - -.page-template .article-title { - margin-bottom: 0; -} - -@media (max-width: 767px) { - .article-byline-content .author-list { - padding-right: 12px; - } - .article-byline-meta .author-name { - margin-bottom: 4px; - } -} - - -/* 7.3. Subscribe -/* ---------------------------------------------------------- */ - -.footer-cta { - position: relative; - text-align: center; -} - -.footer-cta-title { - margin: 0 0 min(24px, 6.4vmin); - font-size: clamp(2.6rem, 5vw, 3.8rem); - font-weight: 800; -} - -.has-serif-title .footer-cta-title { - font-family: var(--font-serif); -} - -.footer-cta-button { - position: relative; - display: inline-flex; - align-items: center; - justify-content: space-between; - width: 100%; - max-width: 500px; - padding: 5px 5px 5px 15px; - font-size: 1.7rem; - color: var(--color-secondary-text); - background: #fff; - border: 1px solid var(--color-border); - border-radius: 8px; - transition: border-color 0.2s; -} - -.footer-cta-button:hover { - border-color: color-mod(var(--color-border) l(-12%)); -} - -.footer-cta-button span { - display: inline-block; - padding: 9px 15px; - color: #fff; - font-size: 1.6rem; - font-weight: 600; - letter-spacing: -0.005em; - background: var(--ghost-accent-color); - border-radius: 6px; -} - - -/* 7.4. Read more -/* ---------------------------------------------------------- */ - -.read-more-wrap { - margin-top: 2.4vmin; -} - -.footer-cta + .read-more-wrap { - margin-top: max(12vmin, 72px); -} - -.read-more { - display: grid; - grid-template-columns: repeat(6, 1fr); - grid-gap: 4vmin; -} - -.read-more .post-card-tags { - display: none; -} - -@media (max-width: 1000px) { - .read-more { - grid-template-columns: repeat(4, 1fr); - } - .read-more .post-card:nth-child(3) { - display: none; - } -} - -@media (max-width: 700px) { - .read-more { - grid-template-columns: repeat(2, 1fr); - } - .read-more .post-card:nth-child(2) { - display: none; - } -} - -/* 7.6. Comments -/* ---------------------------------------------------------- */ -.comments { - display: flex; - flex-direction: column; - align-items: center; - margin: 60px 0 44px; -} - - -.comments-head { - display: flex; - align-items: baseline; - justify-content: space-between; - margin-bottom: 32px; - width: 100%; - max-width: 720px; -} - -.comments h2 { - width: 100%; - max-width: 720px; - font-weight: 800; - font-size: 3.4rem; -} - -.comments .comment-count { - color: var(--color-midgrey); - font-weight: 600; - white-space: nowrap; -} - -.comments #ghost-comments-root { - width: 100%; - max-width: 720px; -} - - -/* 8. Author Template -/* ---------------------------------------------------------- */ - -.author-profile-pic { - display: block; - width: 80px; - height: 80px; - object-fit: cover; - margin: 0 0 2rem; - background: color-mod(var(--color-lightgrey) l(+10%)); - border-radius: 50%; -} - -.author-profile-footer { - margin-top: 16px; -} - -.author-profile-location { - font-weight: 700; -} - -.author-profile-meta { - display: flex; - gap: 10px; -} - -.author-profile-social-link { - font-size: 1.3rem; - color: var(--color-secondary-text); -} - -.author-profile-social-link:hover { - color: var(--color-darkgrey); -} - -.author-profile-social-link svg { - width: 16px; - height: 16px; -} - -@media (min-width: 1001px) { - .author-template .post-card-large .post-card-content:only-child { - grid-column: span 2; - max-width: 640px; - } -} - - -/* 8. Tag Template -/* ---------------------------------------------------------- */ - -.tag-template .post-card-large .post-card-image-link { - grid-column: 2 / span 2; - order: 2; -} - -.tag-template .post-card-large .post-card-content { - order: 1; -} - -@media (min-width: 1001px) { - .tag-template .post-card-large .post-card-content:only-child { - grid-column: span 2; - max-width: 640px; - } -} - -/* 9. Error Template -/* ---------------------------------------------------------- */ - -.error-content { - padding: 14vw 4vw 2vw; -} - -.error-message { - padding-bottom: 10vw; - text-align: center; -} - -.error-code { - margin: 0; - font-size: 12vw; - line-height: 1em; - letter-spacing: -5px; -} - -.error-description { - margin: 0; - color: var(--color-secondary-text); - font-size: 3.2rem; - line-height: 1.3em; - letter-spacing: -0.005em; - font-weight: 400; -} - -.error-link { - display: inline-block; - margin-top: 5px; -} - -@media (min-width: 940px) { - .error-content .post-card { - margin-bottom: 0; - padding-bottom: 0; - border-bottom: none; - } -} - -@media (max-width: 800px) { - .error-content { - padding-top: 24vw; - } - .error-code { - font-size: 11.2rem; - } - .error-message { - padding-bottom: 16vw; - } - .error-description { - margin: 5px 0 0 0; - font-size: 1.8rem; - } -} - -@media (max-width: 500px) { - .error-content { - padding-top: 28vw; - } - .error-message { - padding-bottom: 14vw; - } -} - - -/* 11. Site Footer -/* ---------------------------------------------------------- */ - -.site-footer { - position: relative; - margin: max(12vmin, 64px) 0 0 0; - padding-top: 48px; - padding-bottom: 140px; - color: #fff; - background: color-mod(var(--color-darkgrey) l(-5%)); -} - -.site-footer .inner { - display: grid; - grid-gap: 40px; - grid-template-columns: auto 1fr auto; - color: rgba(255,255,255,0.7); - font-size: 1.3rem; -} - -.site-footer .copyright a { - color: #fff; - letter-spacing: -0.015em; - font-weight: 500; -} - -.site-footer a { - color: rgba(255,255,255,0.7); -} - -.site-footer a:hover { - color: rgba(255,255,255,1); - text-decoration: none; -} - -.site-footer-nav ul { - display: flex; - justify-content: center; - flex-wrap: wrap; - margin: 0 0 20px; - padding: 0; - list-style: none; -} - -.site-footer-nav li { - display: inline-flex; - align-items: center; - padding: 0; - margin: 0; - line-height: 2em; -} - -.site-footer-nav a { - position: relative; - display: inline-flex; - align-items: center; - margin-left: 10px; -} - -.site-footer-nav li:not(:first-child) a:before { - content: ""; - display: block; - width: 2px; - height: 2px; - margin: 0 10px 0 0; - background: #fff; - border-radius: 100%; -} - -@media (max-width: 767px) { - .site-footer .inner { - max-width: 500px; - grid-template-columns: 1fr; - grid-gap: 0; - text-align: center; - } - .site-footer .copyright, - .site-footer .copyright a { - color: #fff; - font-size: 1.5rem; - } - .site-footer .copyright { - margin-bottom: 16px; - } -} - - -/* 12. Dark Mode -/* ---------------------------------------------------------- */ - -html.dark-mode body { - color: rgba(255, 255, 255, 0.75); - background: var(--color-darkmode); -} - -html.dark-mode img { - opacity: 0.9; -} - -html.dark-mode kbd { - background: color-mod(var(--color-darkmode) l(+5%)); -} - -html.dark-mode figcaption a { - color: #fff; -} - -html.dark-mode .gh-head { - background: var(--color-darkmode); - color: #fff; -} - -html.dark-mode .gh-burger-box { - color: #fff; -} - -html.dark-mode .site-header-content { - color: #fff; -} - -html.dark-mode .post-card-image { - background: var(--color-darkmode); -} - -html.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) { - color: color-mod(var(--color-secondary-text) l(-22%)); -} - -html.dark-mode .post-card-featured { - color: #fff; -} - -html.dark-mode .post-card-title { - color: #fff; -} - -html.dark-mode .post-card-excerpt { - color: var(--color-secondary-text); -} - -html.dark-mode .author-profile-location { - color: #fff; -} - -html.dark-mode .author-profile-social-link:hover { - color: #fff; -} - -html.dark-mode .article-title { - color: #fff; -} - -html.dark-mode .article-excerpt { - color: var(--color-secondary-text); -} - -html.dark-mode .post-full-image { - background-color: color-mod(var(--color-darkmode) l(+8%)); -} - -html.dark-mode .author-avatar { - border-color: var(--color-darkmode); - background-color: color-mod(var(--color-darkmode) l(+8%)); -} - -html.dark-mode .author-profile-image { - opacity: 1; -} - -html.dark-mode .author-profile-image path { - fill: var(--color-darkmode); -} - -html.dark-mode .article-byline-meta .author-name a { - color: #fff; -} - -html.dark-mode .no-image .author-social-link a { - color: rgba(255, 255, 255, 0.75); -} - -html.dark-mode .gh-content > [id] { - color: rgba(255, 255, 255, 0.9); -} - -html.dark-mode .gh-content pre { - background: color-mod(var(--color-darkgrey) l(-8%)); -} - -html.dark-mode .gh-content :not(pre) > code { - background: color-mod(var(--color-darkgrey) l(+6%)); - border-color: color-mod(var(--color-darkmode) l(+8%)); - color: var(--color-wash); -} - -:where(html.dark-mode) .gh-content a { - color: #fff; -} - -html.dark-mode .gh-content strong { - color: #fff; -} - -html.dark-mode .gh-content em { - color: #fff; -} - -html.dark-mode .gh-content code { - color: #fff; - background: #000; -} - -html.dark-mode hr { - border-top-color: color-mod(var(--color-darkmode) l(+8%)); -} - -html.dark-mode .gh-content hr:after { - background: color-mod(var(--color-darkmode) l(+8%)); - box-shadow: var(--color-darkmode) 0 0 0 5px; -} - -html.dark-mode figcaption { - color: rgba(255, 255, 255, 0.6); -} - -html.dark-mode .gh-content table:not(.gist table) td:first-child { - background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); -} - -html.dark-mode .gh-content table:not(.gist table) td:last-child { - background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); -} - -html.dark-mode .gh-content table:not(.gist table) th { - color: rgba(255, 255, 255, 0.85); - background-color: color-mod(var(--color-darkmode) l(+8%)); -} - -html.dark-mode .gh-content table:not(.gist table) th, -html.dark-mode .gh-content table:not(.gist table) td { - border: color-mod(var(--color-darkmode) l(+8%)) 1px solid; -} - -html.dark-mode .gh-content input { - color: color-mod(var(--color-midgrey) l(-30%)); -} - -html.dark-mode .site-archive-header .no-image { - color: rgba(255, 255, 255, 0.9); - background: var(--color-darkmode); -} - -html.dark-mode .kg-header-card.kg-style-dark { - background: color-mod(var(--color-darkgrey) l(-5%)); -} - -html.dark-mode .kg-header-card.kg-style-light { - background: color-mod(var(--color-darkgrey) l(+5%)); -} - -html.dark-mode .kg-header-card h2.kg-header-card-header, -html.dark-mode .kg-header-card h3.kg-header-card-subheader { - color: #fff; -} - -html.dark-mode .footer-cta-title { - color: #fff; -} - -@media (prefers-color-scheme: dark) { - html.auto-color body { - color: rgba(255, 255, 255, 0.75); - background: var(--color-darkmode); - } - - html.auto-color img { - opacity: 0.9; - } - - html.auto-color kbd { - background: color-mod(var(--color-darkmode) l(+5%)); - } - - html.auto-color figcaption a { - color: #fff; - } - - html.auto-color .gh-head { - background: var(--color-darkmode); - color: #fff; - } - - html.auto-color .gh-burger-box { - color: #fff; - } - - html.auto-color .site-header-content { - color: #fff; - } - - html.auto-color .post-card-image { - background: var(--color-darkmode); - } - - html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) { - color: color-mod(var(--color-secondary-text) l(-22%)); - } - - html.auto-color .post-card-featured { - color: #fff; - } - - html.auto-color .post-card-title { - color: #fff; - } - - html.auto-color .post-card-excerpt { - color: var(--color-secondary-text); - } - - html.auto-color .author-profile-location { - color: #fff; - } - - html.auto-color .author-profile-social-link:hover { - color: #fff; - } - - html.auto-color .article-title { - color: #fff; - } - - html.auto-color .article-excerpt { - color: var(--color-secondary-text); - } - - html.auto-color .post-full-image { - background-color: color-mod(var(--color-darkmode) l(+8%)); - } - - html.auto-color .author-avatar { - border-color: var(--color-darkmode); - background-color: color-mod(var(--color-darkmode) l(+8%)); - } - - html.auto-color .author-profile-image { - opacity: 1; - } - - html.auto-color .author-profile-image path { - fill: var(--color-darkmode); - } - - html.auto-color .article-byline-meta .author-name a { - color: #fff; - } - - html.auto-color .no-image .author-social-link a { - color: rgba(255, 255, 255, 0.75); - } - - html.auto-color .gh-content > [id] { - color: rgba(255, 255, 255, 0.9); - } - - html.auto-color .gh-content pre { - background: color-mod(var(--color-darkgrey) l(-8%)); - } - - html.auto-color .gh-content :not(pre) > code { - background: color-mod(var(--color-darkgrey) l(+6%)); - border-color: color-mod(var(--color-darkmode) l(+8%)); - color: var(--color-wash); - } - - :where(html.auto-color) .gh-content a { - color: #fff; - } - - html.auto-color .gh-content strong { - color: #fff; - } - - html.auto-color .gh-content em { - color: #fff; - } - - html.auto-color .gh-content code { - color: #fff; - background: #000; - } - - html.auto-color hr { - border-top-color: color-mod(var(--color-darkmode) l(+8%)); - } - - html.auto-color .gh-content hr:after { - background: color-mod(var(--color-darkmode) l(+8%)); - box-shadow: var(--color-darkmode) 0 0 0 5px; - } - - html.auto-color figcaption { - color: rgba(255, 255, 255, 0.6); - } - - html.auto-color .gh-content table:not(.gist table) td:first-child { - background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); - } - - html.auto-color .gh-content table:not(.gist table) td:last-child { - background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); - } - - html.auto-color .gh-content table:not(.gist table) th { - color: rgba(255, 255, 255, 0.85); - background-color: color-mod(var(--color-darkmode) l(+8%)); - } - - html.auto-color .gh-content table:not(.gist table) th, - html.auto-color .gh-content table:not(.gist table) td { - border: color-mod(var(--color-darkmode) l(+8%)) 1px solid; - } - - html.auto-color .gh-content input { - color: color-mod(var(--color-midgrey) l(-30%)); - } - - html.auto-color .site-archive-header .no-image { - color: rgba(255, 255, 255, 0.9); - background: var(--color-darkmode); - } - - html.auto-color .kg-header-card.kg-style-dark { - background: color-mod(var(--color-darkgrey) l(-5%)); - } - - html.auto-color .kg-header-card.kg-style-light { - background: color-mod(var(--color-darkgrey) l(+5%)); - } - - html.auto-color .kg-header-card h2.kg-header-card-header, - html.auto-color .kg-header-card h3.kg-header-card-subheader { - color: #fff; - } - - html.auto-color .footer-cta-title { - color: #fff; - } -} - -/* - -Hey! You reached the end. - -Hope you enjoyed this CSS file, if you have any suggestions -for improvements that might be useful for everyone who uses -this theme, you can find the open source repository for it -here: https://github.com/tryghost/casper - -Or, if you've just scrolled all the way to the bottom of the -file to add some of your own styles. Well, you've come to -the right place. Onward! - - */ +/* Table of Contents +/* ------------------------------------------------------------ + +This is a development CSS file which is built to a minified +production stylesheet in assets/built/screen.css + +1. Global Styles +2. Layout +3. Special Templates +4. Site Header +5. Site Navigation +6. Post Feed +7. Single Post + 7.1. Post Byline + 7.2. Members Subscribe Form + 7.4. Related Posts + 7.5. Koenig Styles + 7.6 Comments +8. Author Template +9. Error Template +11. Site Footer +12. Dark Mode + +*/ + +/* 1. Global - Set up the things +/* ---------------------------------------------------------- */ + +/* Import CSS reset and base styles */ +@import "global.css"; + +:root { + + /* Colours */ + --color-green: #a4d037; + --color-yellow: #fecd35; + --color-red: #f05230; + --color-darkgrey: #15171A; + --color-midgrey: #738a94; + --color-lightgrey: #f1f1f1; + --color-secondary-text: #979797; + --color-border: #e1e1e1; + --color-wash: #e5eff5; + --color-darkmode: #151719; + + /* + An accent color is also set by Ghost itself in + Ghost Admin > Settings > Brand + + --ghost-accent-color: {value}; + + You can use this variable throughout your styles + */ + + /* Fonts */ + --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + --font-serif: Georgia, Times, serif; + --font-mono: Menlo, Courier, monospace; + +} + + +/* 2. Layout - Page building blocks +/* ---------------------------------------------------------- */ + +.viewport { + display: flex; + flex-direction: column; + min-height: 100vh; +} + +.site-content { + flex-grow: 1; +} + +/* Full width page blocks */ +.outer { + position: relative; + padding: 0 max(4vmin, 20px); +} + +/* Centered content container blocks */ +.inner { + margin: 0 auto; + max-width: 1200px; + width: 100%; +} + + +/* 4. Site Header +/* ---------------------------------------------------------- */ + +.site-header { + position: relative; + color: #fff; + background: var(--ghost-accent-color); +} + +.site-header-cover { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; +} + +.site-header-content { + position: relative; + z-index: 100; + display: flex; + align-items: center; + padding-top: calc(19vmin + 44px); + padding-bottom: 19vmin; + text-align: center; + color: var(--color-darkgrey); +} + +.has-cover .site-header-content { + min-height: 560px; + background-color: var(--ghost-accent-color); + color: #fff; +} + +.site-header-content.left-aligned { + padding-bottom: 0; + text-align: left; +} + +.has-cover .site-header-content.left-aligned { + align-items: flex-end; + padding-bottom: max(4vmin, 32px); +} + +.site-header-content.no-content { + padding-top: 0; + padding-bottom: 2vmin; +} + +.site-header-inner { + position: relative; +} + +.site-header-content.left-aligned .site-header-inner { + align-items: flex-start; +} + +.site-logo { + flex-shrink: 0; + margin: 0 auto; + max-height: 120px; +} + +.site-header-content.left-aligned .site-logo { + margin-right: auto; + margin-left: 0; + max-height: 96px; +} + +.site-title { + z-index: 10; + margin: 0; + padding: 0; + font-size: 5rem; + font-weight: 800; +} + +.has-serif-title .site-title { + font-family: var(--font-serif); +} + +.has-cover .site-title { + font-size: 6rem; +} + +.site-header-content.left-aligned .site-title { + font-size: 4.4rem; +} + +.has-cover .site-header-content.left-aligned .site-title { + font-size: 4.6rem; +} + +.site-description { + display: inline-block; + z-index: 10; + max-width: 960px; + font-size: 6rem; + font-weight: 700; + line-height: 1.1; +} + +:is(.site-logo, .site-title) + .site-description { + max-width: 640px; + margin-top: 16px; + font-size: 2.4rem; + font-weight: 400; + line-height: 1.4; +} + +.site-logo + .site-description { + margin-top: 20px; +} + +.site-title + .site-description { + color: var(--color-secondary-text); +} + +.has-cover .site-description { + letter-spacing: -0.005em; + color: #fff; +} + +.has-cover :is(.site-logo, .site-title) + .site-description { + font-size: 2.4rem; +} + +.has-cover .site-header-content.left-aligned :is(.site-logo, .site-title) + .site-description { + font-size: 2.2rem; +} + +@media (min-width: 992px) { + .is-head-stacked.has-cover .site-header-content { + padding-top: calc(19vmin + 120px); + } +} + +@media (max-width: 991px) { + .site-header-content { + padding-top: calc(19vmin + 32px); + } +} + +@media (max-width: 767px) { + .has-cover .site-header-content { + min-height: 240px; + } + .site-header-inner { + gap: 16px; + } + .site-logo { + max-width: 60%; + } + .site-title { + font-size: 3.4rem !important; + } + .site-description { + font-size: 2.8rem !important; + } + .site-logo + .site-description { + margin-top: 12px !important; + } + .site-title + .site-description { + margin-top: 4px !important; + } +} + + +/* 5. Site Navigation +/* ---------------------------------------------------------- */ + +.gh-head { + height: 88px; + font-size: 1.6rem; + line-height: 1.3em; + background-color: #fff; +} + +.has-cover:not(.home-template) .gh-head { + background-color: var(--ghost-accent-color); + color: #fff; +} + +:is(.home-template, .paged:not(.tag-template):not(.author-template)).has-cover .gh-head { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 2000; + background-color: transparent; + color: #fff; +} + +.gh-head a { + text-decoration: none; +} + +.gh-head-inner { + display: grid; + column-gap: 40px; + grid-template-columns: auto 1fr auto; + grid-auto-flow: row dense; + align-items: center; + height: 100%; +} + +/* Header styles +/* ---------------------------------------------------------- */ + +.is-head-left-logo .gh-head-inner { + grid-template-columns: auto 1fr auto; +} + +.is-head-left-logo.home-template .gh-head-logo { + display: none; +} + +.is-head-left-logo.home-template .gh-head-menu { + margin-left: -40px; +} + +@media (min-width: 992px) { + .is-head-left-logo .gh-head-menu { + margin-right: 32px; + margin-left: 16px; + } +} + +.is-head-middle-logo .gh-head-inner { + grid-template-columns: 1fr auto 1fr; +} + +.is-head-middle-logo .gh-head-brand { + grid-column-start: 2; +} + +@media (min-width: 992px) { + .is-head-middle-logo .gh-head-menu { + margin-right: 64px; + } +} + +.is-head-stacked .gh-head { + height: auto; +} + +.is-head-stacked .gh-head-inner { + grid-template-columns: 1fr auto 1fr; +} + +.is-head-stacked .gh-head-brand { + grid-row-start: 1; + grid-column-start: 2; +} + +@media (min-width: 992px) { + .is-head-stacked .gh-head-inner { + padding: 0; + } + + .is-head-stacked .gh-head-brand { + position: relative; + display: flex; + align-items: center; + height: 80px; + } + + .is-head-stacked .gh-head-menu { + grid-row-start: 2; + grid-column: 1 / 4; + justify-content: center; + height: 56px; + margin: 0 48px; + } + + .is-head-stacked .gh-head-menu::before, + .is-head-stacked .gh-head-menu::after { + position: absolute; + top: 80px; + left: 0; + width: 100%; + height: 1px; + content: ""; + background-color: var(--color-lightgrey); + } + + .is-head-stacked.has-cover .gh-head-menu::before, + .is-head-stacked.has-cover .gh-head-menu::after { + background-color: rgba(255, 255, 255, 0.2); + } + + .is-head-stacked .gh-head-menu::after { + top: 136px; + } + + .is-head-stacked .gh-head-actions { + grid-row-start: 1; + grid-column: 1 / 4; + justify-content: space-between; + } +} + +/* Brand +/* ---------------------------------------------------------- */ + +.gh-head-brand { + display: flex; + align-items: center; + height: 40px; + word-break: break-all; +} + +.gh-head-logo { + display: block; + font-weight: 800; + font-size: 2.6rem; + letter-spacing: -0.02em; + color: inherit; + white-space: nowrap; +} + +.gh-head-logo.no-image { + margin-top: -2px; +} + +.has-cover .gh-head-logo { + color: #fff; +} + +.gh-head-logo img { + max-height: 40px; +} + + +/* Primary Navigation +/* ---------------------------------------------------------- */ + +.gh-head-menu { + display: flex; + align-items: center; + margin-top: 1px; + font-weight: 500; +} + +.gh-head-menu .nav { + display: inline-flex; + align-items: center; + flex-wrap: wrap; + gap: 32px; + list-style: none; + margin: 0; + padding: 0; +} + +.gh-head-menu .nav li { + margin: 0; + padding: 0; +} + +.gh-head-menu .nav a { + display: inline-block; + line-height: 1.7; + color: inherit; +} + +.gh-head-menu .nav a:hover { + opacity: 0.9; +} + +.gh-head-menu .nav-more-toggle { + position: relative; + width: 30px; + height: 30px; + margin: 0 -6px; + padding: 0; + font-size: inherit; + background-color: transparent; + text-transform: inherit; +} + +.gh-head-menu .nav-more-toggle svg { + width: 24px; + height: 24px; +} + +@media (min-width: 992px) { + body:not(.is-dropdown-loaded) .gh-head-menu .nav > li { + opacity: 0; + } +} + + +/* Dropdown +/* ---------------------------------------------------------- */ + +.gh-dropdown { + position: absolute; + top: 100%; + right: -16px; + z-index: 90; + width: 200px; + padding: 12px 0; + margin-top: 24px; + opacity: 0; + visibility: hidden; + text-align: left; + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 7px 20px -5px rgba(0, 0, 0, 0.15); + transform: translate3d(0, 6px, 0); + transition: opacity 0.3s, transform 0.2s; +} + +.is-head-middle-logo .gh-dropdown { + right: auto; + left: -24px; +} + +.is-dropdown-mega .gh-dropdown { + display: grid; + grid-template-columns: 1fr 1fr; + grid-auto-flow: column; + column-gap: 40px; + min-width: 320px; + padding: 20px 32px; +} + +.is-dropdown-open .gh-dropdown { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.gh-head-menu .gh-dropdown li a { + display: block; + padding: 6px 20px; + color: #15171a; +} + +.is-dropdown-mega .gh-dropdown li a { + padding: 8px 0; +} + + +/* Secondary Navigation +/* ---------------------------------------------------------- */ + +.gh-social { + display: flex; + align-items: center; + gap: 20px; +} + +.gh-social-link { + line-height: 0; + color: inherit; +} + +.gh-social-link:hover { + opacity: 0.9; +} + +.gh-social-link svg { + width: 18px; + height: 18px; +} + +.gh-head-actions { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 24px; + list-style: none; + text-align: right; +} + +.gh-head-button { + display: inline-flex; + justify-content: center; + align-items: center; + padding: 8px 20px; + height: 44px; + font-weight: 600; + letter-spacing: -0.005em; + font-size: 1.6rem; + border-radius: 48px; + color: #fff; + background: var(--ghost-accent-color); +} + +.has-cover .gh-head-button { + color: var(--color-darkgrey); + background: #fff; +} + + +/* Search +/* ---------------------------------------------------------- */ + +.gh-search { + display: inline-flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + padding: 0; + cursor: pointer; + background-color: transparent; + border: 0; + outline: none; +} + +.gh-search:hover { + opacity: 0.9; +} + +.gh-head-brand .gh-search { + margin-right: 8px; +} + +.gh-head-actions .gh-search { + margin-right: -4px; +} + +@media (max-width: 991px) { + .gh-head-actions .gh-search { + display: none; + } +} + +@media (min-width: 992px) { + .gh-head-brand .gh-search { + display: none; + } +} + + +/* Mobile Menu Trigger +/* ---------------------------------------------------------- */ + +.gh-burger { + position: relative; + display: none; + width: 30px; + height: 30px; + padding: 0; + margin-right: -3px; + cursor: pointer; + background-color: transparent; + border: 0; + appearance: none; +} + +.gh-burger::before, +.gh-burger::after { + position: absolute; + left: 3px; + width: 24px; + height: 1px; + content: ""; + background-color: var(--color-darkgrey); + transition: all 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s; +} + +.has-cover .gh-burger::before, +.has-cover .gh-burger::after { + background-color: #fff; +} + +.gh-burger::before { + top: 11px; +} + +.gh-burger::after { + bottom: 11px; +} + +.gh-head-open .gh-burger::before { + top: 15px; + transform: rotate(45deg); +} + +.gh-head-open .gh-burger::after { + bottom: 14px; + transform: rotate(-45deg); +} + + +/* Mobile Menu +/* ---------------------------------------------------------- */ +/* IDs needed to ensure sufficient specificity */ + +@media (max-width: 991px) { + #gh-head { + height: 64px; + } + + #gh-head .gh-head-inner { + grid-template-rows: auto 1fr auto; + grid-template-columns: 1fr; + gap: 48px; + } + + #gh-head .gh-head-brand { + display: grid; + grid-template-columns: 1fr auto auto; + grid-column-start: 1; + align-items: center; + height: 64px; + } + + #gh-head .gh-head-logo { + font-size: 2.2rem; + } + + #gh-head .gh-head-brand .gh-search { + margin-left: -6px; + } + + #gh-head .gh-burger { + display: block; + } + + #gh-head .gh-head-menu, + #gh-head .gh-head-actions { + position: fixed; + justify-content: center; + visibility: hidden; + opacity: 0; + } + + #gh-head .gh-head-menu { + margin: 0; + transition: none; + transform: translateY(0); + } + + #gh-head .nav { + gap: 16px; + align-items: center; + line-height: 1.4; + } + + #gh-head .nav a { + font-size: 2.6rem; + font-weight: 600; + text-transform: none; + } + + #gh-head .nav li { + opacity: 0; + transform: translateY(-4px); + } + + #gh-head .gh-head-button { + width: 100%; + font-size: 1.8rem; + text-transform: none; + opacity: 0; + transform: translateY(8px); + } + + .gh-head-open #gh-head { + position: fixed; + right: 0; + left: 0; + z-index: 3999999; + height: 100vh; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + } + + .gh-head-open.has-cover #gh-head, + .gh-head-open.has-cover #gh-head .gh-head-actions { + background-color: var(--ghost-accent-color); + } + + .gh-head-open #gh-head .gh-head-menu, + .gh-head-open #gh-head .gh-head-actions { + position: static; + visibility: visible; + opacity: 1; + } + + .gh-head-open #gh-head .nav { + display: flex; + flex-direction: column; + } + + .gh-head-open #gh-head .nav li { + opacity: 1; + transition: transform 0.2s, opacity 0.2s; + transform: translateY(0); + } + + .gh-head-open #gh-head .gh-head-actions { + position: sticky; + right: 0; + bottom: 0; + left: 0; + display: inline-flex; + flex-direction: column; + gap: 12px; + align-items: center; + padding: max(4vmin, 20px) 0; + background-color: #fff; + } + + .gh-head-open #gh-head .gh-head-button { + opacity: 1; + transition: transform 0.4s, opacity 0.4s; + transition-delay: 0.2s; + transform: translateY(0); + } +} + + +/* 6. Post Feed +/* ---------------------------------------------------------- */ + +.post-feed { + position: relative; + display: grid; + gap: 4.8vmin 4vmin; + grid-template-columns: repeat(6, 1fr); + padding: max(4.8vmin, 36px) 0 0; +} + +:is(.tag-template, .author-template) .post-feed { + margin-top: 4vmin; +} + +@media (max-width: 991px) { + .post-feed { + grid-template-columns: 1fr 1fr; + } +} + +@media (max-width: 767px) { + .post-feed { + grid-template-columns: 1fr; + grid-gap: 40px; + } +} + +.post-card { + position: relative; + grid-column: span 2; + display: flex; + flex-direction: column; + background-size: cover; + word-break: break-word; +} + +.post-card-image-link { + position: relative; + overflow: hidden; + display: block; + margin-bottom: 32px; +} + +.post-card-image-link::after { + content: ""; + display: block; + padding-bottom: 55%; +} + +.post-card[class*="post-access-"] .post-card-image-link::after { + background-color: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(3px); +} + +.post-card.keep-ratio[class*="post-access-"] .post-card-image-link::after { + position: absolute; + inset: 0; + padding-bottom: 0; +} + +.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link::after { + padding-bottom: 0; +} + +.post-card-image { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + background: var(--color-lightgrey) no-repeat center center; + object-fit: cover; +} + +.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image { + position: static; +} + +.post-card-access { + position: absolute; + inset: 0; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; + gap: 4px; + font-size: 1.5rem; + font-weight: 600; + color: #fff; +} + +.post-card-content-link { + position: relative; + display: block; + color: var(--color-darkgrey); +} + +.post-card-content-link:hover { + text-decoration: none; +} + +.post-feed .no-image .post-card-content-link { + padding: 0; +} + +.no-image .post-card-header { + margin-top: 0; +} + +.post-card-tags { + display: flex; + align-items: center; + gap: 12px; + margin: 0 0 10px; + color: var(--color-secondary-text); + font-size: 1.4rem; + font-weight: 600; + letter-spacing: -0.005em; + line-height: 1; +} + +.post-card-featured { + position: relative; + display: flex; + align-items: center; + gap: 3px; + padding-left: 18px; + color: var(--ghost-accent-color); +} + +.post-card-featured svg { + position: absolute; + left: 0; +} + +.post-card-title { + margin: 0; + font-size: 2.6rem; + font-weight: 800; + line-height: 1.2; +} + +.post-card-content-link:hover .post-card-title { + opacity: 0.9; +} + +.no-image .post-card-title { + margin-top: 0; +} + +.has-serif-title .post-card-title { + font-family: var(--font-serif); + letter-spacing: -0.005em; +} + +.post-card-title svg { + margin-top: -3px; + margin-left: -1px; +} + +.post-card-content { + flex-grow: 1; + display: flex; + flex-direction: column; +} + +.post-card-excerpt { + display: -webkit-box; + overflow-y: hidden; + margin-top: 12px; + max-width: 720px; + font-size: 1.6rem; + line-height: 1.5; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + word-break: break-word; +} + +.has-sans-body .post-card-excerpt { + font-family: var(--font-sans); +} + +.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt { + -webkit-line-clamp: 2; +} + +:is(.tag-template, .author-template) .post-card-excerpt { + margin-top: 6px; +} + +.post-card-meta { + display: flex; + align-items: center; + gap: 6px; + margin-top: 12px; + padding: 0; + font-size: 1.3rem; + color: var(--color-secondary-text); +} + +.post-card-meta > * { + display: flex; + align-items: center; + gap: 6px; +} + +.post-card-meta > * + *:not(script)::before { + width: 2px; + height: 2px; + content: ""; + background-color: var(--color-secondary-text); + border-radius: 50%; +} + +.post-card-meta .sep { + margin: 0 4px; +} + +.author-profile-image { + display: block; + width: 100%; + height: 100%; + background: color-mod(var(--color-lightgrey) l(+10%)); + border-radius: 100%; + + object-fit: cover; +} + +.author-list { + display: flex; + flex-wrap: wrap; + margin: 0 0 0 4px; + padding: 0; + list-style: none; +} + +.author-list-item { + position: relative; + flex-shrink: 0; + margin: 0; + padding: 0; +} + + +/* Special Styling for home page grid (below): + +The first post in the list is styled to be bigger than the others and take over +the full width of the grid to give it more emphasis. Wrapped in a media query to +make sure this only happens on large viewports / desktop-ish devices. + +*/ + +@media (min-width: 1001px) { + .post-card-large { + grid-column: span 6; + display: grid; + grid-gap: 4vmin; + grid-template-columns: repeat(3, 1fr); + border-top: 0; + } + + .post-card-large:not(.no-image) .post-card-header { + margin-top: 0; + } + + .post-card-large .post-card-image-link { + position: relative; + grid-column: span 2; + margin-bottom: 0; + } + + .post-card-large .post-card-content { + grid-column: span 1; + } + + .post-card-large.no-image .post-card-content { + grid-column: span 2; + } + + .post-card-large .post-card-image { + position: absolute; + width: 100%; + height: 100%; + } + + .post-card-large .post-card-tags { + margin-bottom: 12px; + } + + .post-card-large .post-card-title { + margin-top: 0; + font-size: 4.4rem; + line-height: 1.05; + } + + .post-card-large .post-card-excerpt { + margin-top: 16px; + } + + .post-card-full { + grid-column: span 6; + } + + .post-card-full .post-card-image-link { + margin-bottom: 40px; + } + + .post-card-full .post-card-tags { + margin-bottom: 14px; + } + + .post-card-full .post-card-title { + font-size: 6.4rem; + line-height: 0.95; + } + + .post-card-full .post-card-excerpt { + margin-top: 20px; + font-size: 1.8rem; + } + + .post-card-large + .post-card-large:nth-child(even) { + margin: 32px 0; + } + + .post-card-large + .post-card-large:nth-child(even) .post-card-content { + order: -1; + } + + .post-card.dynamic { + grid-column: span 3; + } + + .post-card.dynamic .post-card-title { + font-size: 3rem; + } +} + +/* Pagination +/* ---------------------------------------------------------- */ + +.pagination { + display: none; + grid-template-columns: 1fr auto 1fr; + align-items: center; + margin-top: 8vmin; +} + +html.no-infinite-scroll .pagination { + display: grid; +} + +.pagination a { + font-size: 1.7rem; + font-weight: 600; +} + +.pagination .page-number { + grid-column-start: 2; + color: var(--color-secondary-text); +} + +.pagination .older-posts { + grid-column-start: 3; + text-align: right; +} + +@media (max-width: 767px) { + .pagination .page-number { + display: none; + } +} + + +/* 7. Single Post +/* ---------------------------------------------------------- */ + +.article { + padding: max(8vmin, 40px) 0 max(8vmin, 64px); + word-break: break-word; +} + +.page-template .article { + padding-top: max(12vmin, 64px); +} + +.article-header { + padding: 0 0 max(6.4vmin, 40px) 0; +} + +.page-template .article-header { + padding-bottom: max(3.2vmin, 28px); +} + +.article-tag { + margin-bottom: 16px; + font-size: 1.6rem; +} + +.article-tag a { + color: var(--color-secondary-text); +} + +.article-title { + margin-bottom: 0; + font-size: clamp(3.2rem, 5vw, 5.2rem); + font-weight: 800; + line-height: 1.05; + color: var(--color-darkgrey); +} + +.has-serif-title .article-title { + font-family: var(--font-serif); +} + +.article-excerpt { + margin-top: 20px; + max-width: 720px; + font-size: 2rem; + line-height: 1.45; + color: var(--color-darkgrey); +} + +.gh-canvas .article-image { + grid-column: wide-start / wide-end; + width: 100%; + margin: max(6.4vmin, 40px) 0 0; +} + +.image-full .article-image { + grid-column: full-start / full-end; +} + +.image-small .article-image { + grid-column: main-start / main-end; +} + +.gh-canvas .article-image img { + display: block; + margin-left: auto; + margin-right: auto; + width: 100%; +} + +@media (max-width: 767px) { + .article-excerpt { + margin-top: 14px; + font-size: 1.7rem; + } +} + +/* -------- */ + +/* Content grid +/* ---------------------------------------------------------- */ + +/* Canvas creates a multi-column, centered grid which the post +is laid out on top of. Canvas just defines the grid, we don't +use it for applying any other styles. */ + +.gh-canvas { + display: grid; + grid-template-columns: + [full-start] + minmax(max(4vmin, 20px), auto) + [wide-start] + minmax(auto, 240px) + [main-start] + min(720px, calc(100% - max(8vmin, 40px))) + [main-end] + minmax(auto, 240px) + [wide-end] + minmax(max(4vmin, 20px), auto) + [full-end] + ; +} + +.gh-canvas > * { + grid-column: main-start / main-end; +} + +.kg-width-wide { + grid-column: wide-start / wide-end; +} + +.kg-width-full { + grid-column: full-start / full-end; +} + +.kg-width-full img { + width: 100%; +} + + +/* Content +/* ---------------------------------------------------------- */ + +/* Content refers to styling all page and post content that is +created within the Ghost editor. The main content handles +headings, text, images and lists. We deal with cards lower down. */ + +/* Default vertical spacing */ +.gh-content > * + * { + margin-top: max(3.2vmin, 24px); + margin-bottom: 0; +} + +/* [id] represents all headings h1-h6, reset all margins */ +.gh-content > [id] { + margin: 0; + color: var(--color-darkgrey); +} + +.has-serif-title .gh-content > [id] { + font-family: var(--font-serif); +} + +/* Add back a top margin to all headings, unless a heading +is the very first element in the post content */ +.gh-content > [id]:not(:first-child) { + margin: 2em 0 0; +} + +/* Add a small margin between a heading and anything after it */ +.gh-content > [id] + * { + margin-top: 1.5rem !important; +} + +/* A larger margin before/after HRs and blockquotes */ +.gh-content > hr, +.gh-content > blockquote { + position: relative; + margin-top: max(4.8vmin, 32px); +} +.gh-content > hr + *, +.gh-content > blockquote + * { + margin-top: max(4.8vmin, 32px) !important; +} + +/* Now the content typography styles */ +.gh-content a { + color: var(--ghost-accent-color); + text-decoration: underline; + word-break: break-word; +} + +.gh-content > blockquote:not([class]), +.gh-content > ol, +.gh-content > ul, +.gh-content > dl, +.gh-content > p { + font-family: var(--font-serif); + font-weight: 400; + font-size: 2rem; + line-height: 1.6em; +} + +.gh-content .kg-callout-card .kg-callout-text, +.gh-content .kg-toggle-card .kg-toggle-content > ol, +.gh-content .kg-toggle-card .kg-toggle-content > ul, +.gh-content .kg-toggle-card .kg-toggle-content > p { + font-family: var(--font-serif); + font-weight: 400; + font-size: 1.9rem; + line-height: 1.6em; +} + +.gh-content .kg-product-card .kg-product-card-description > p, +.gh-content .kg-product-card .kg-product-card-description > ol, +.gh-content .kg-product-card .kg-product-card-description > ul { + font-size: 1.7rem; + line-height: 1.6em; +} + +.gh-content .kg-callout-card .kg-callout-emoji { + font-size: 2.1rem; + line-height: 1.4em; +} + +.gh-content .kg-toggle-card .kg-toggle-heading-text { + font-size: 2.0rem; +} + +.has-sans-body .gh-content > blockquote, +.has-sans-body .gh-content > ol, +.has-sans-body .gh-content > ul, +.has-sans-body .gh-content > dl, +.has-sans-body .gh-content > p, +.has-sans-body .gh-content .kg-callout-card .kg-callout-text, +.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ol, +.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > ul, +.has-sans-body .gh-content .kg-toggle-card .kg-toggle-content > p { + font-family: var(--font-sans); +} + +.gh-content > ul, +.gh-content > ol, +.gh-content > dl, +.gh-content .kg-toggle-card .kg-toggle-content > ol, +.gh-content .kg-toggle-card .kg-toggle-content > ul, +.gh-content .kg-product-card .kg-product-card-description > ol, +.gh-content .kg-product-card .kg-product-card-description > ul { + padding-left: 1.9em; +} + +.gh-content > blockquote:not([class]) { + position: relative; + font-style: italic; + padding: 0; +} + +.gh-content > blockquote:not([class])::before { + content: ""; + position: absolute; + left: -1.5em; + top: 0; + bottom: 0; + width: 0.3rem; + background: var(--ghost-accent-color); +} + +.gh-content :not(pre) > code { + vertical-align: middle; + padding: 0.15em 0.4em 0.15em; + border: #e1eaef 1px solid; + font-weight: 400 !important; + font-size: 0.9em; + line-height: 1em; + color: #15171A; + background: #f0f6f9; + border-radius: 0.25em; +} + +.gh-content pre { + overflow: auto; + padding: 16px 20px; + color: var(--color-wash); + font-size: 1.4rem; + line-height: 1.5em; + background: var(--color-darkgrey); + border-radius: 5px; + box-shadow: 0 2px 6px -2px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.4); +} + +@media (max-width: 650px) { + .gh-content > blockquote:not([class]), + .gh-content > ol, + .gh-content > ul, + .gh-content > dl, + .gh-content > p, + .gh-content .kg-callout-card .kg-callout-text, + .gh-content .kg-toggle-card .kg-toggle-content > ol, + .gh-content .kg-toggle-card .kg-toggle-content > ul, + .gh-content .kg-toggle-card .kg-toggle-content > p { + font-size: 1.8rem; + } + + .gh-content .kg-product-card .kg-product-card-description > p, + .gh-content .kg-product-card .kg-product-card-description > ol, + .gh-content .kg-product-card .kg-product-card-description > ul { + font-size: 1.6rem; + } + + .gh-content blockquote:not([class])::before { + left: min(-4vmin, -20px); + } +} + + +/* Cards +/* ---------------------------------------------------------- */ + +/* Cards are dynamic blocks of content which appear within Ghost +posts, for example: embedded videos, tweets, galleries, or +specially styled bookmark links. We add extra styling here to +make sure they look good, and are given a bit of extra spacing. */ + +/* Add extra margin before/after any cards, +except for when immediately preceeded by a heading */ +.gh-content :not(.kg-card):not([id]) + .kg-card { + margin-top: 6vmin; + margin-bottom: 0; +} +.gh-content .kg-card + :not(.kg-card) { + margin-top: 6vmin; + margin-bottom: 0; +} + +/* This keeps small embeds centered */ +.kg-embed-card { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; +} + +/* This keeps small iamges centered */ +.kg-image-card img { + margin: auto; +} + +.has-serif-title .kg-toggle-card .kg-toggle-heading-text { + font-family: var(--font-serif); +} + +.gh-content .kg-callout-card-accent a { + text-decoration: underline; +} + +.kg-blockquote-alt { + font-family: var(--font-serif); + color: var(--color-midgrey); +} + +.has-sans-body .kg-blockquote-alt { + font-family: var(--font-sans); +} + +.kg-card.kg-header-card.kg-style-dark { + background: var(--color-darkgrey); +} + +.kg-header-card.kg-style-light h2.kg-header-card-header { + color: color-mod(var(--color-darkgrey) l(-5%)); +} + +.has-serif-title .kg-header-card h2.kg-header-card-header { + font-family: var(--font-serif); +} + + +/* Captions */ +figcaption { + padding: 1.5rem 1.5rem 0; + text-align: center; + color: rgba(0,0,0,0.5); + font-size: 1.3rem; + line-height: 1.4em; +} +figcaption strong { + color: rgba(0,0,0,0.8); +} +figcaption a { + text-decoration: underline; +} + + +/* Highly specific styles for traditional Instagram embeds */ +iframe.instagram-media { + margin-top: 6vmin !important; + margin-left: auto !important; + margin-right: auto !important; + margin-bottom: 0 !important; +} + +iframe.instagram-media + script + :not([id]) { + margin-top: 6vmin; +} + + +/* Card captions +/* ---------------------------------------------------------- */ + +.kg-width-full.kg-card-hascaption { + display: grid; + grid-template-columns: inherit; +} + +.kg-width-wide.kg-card-hascaption img { + grid-column: wide-start / wide-end; +} +.kg-width-full.kg-card-hascaption img { + grid-column: 1 / -1; +} + +.kg-width-full.kg-card-hascaption figcaption { + grid-column: main-start / main-end; +} + +.article-comments { + margin: 6vmin 0 0 0; +} + +/* -----old------ */ + +.footnotes-sep { + margin-bottom: 30px; +} + +.footnotes { + font-size: 1.5rem; +} + +.footnotes p { + margin: 0; +} + +.footnote-backref { + font-size: 1.2rem; + font-weight: bold; + text-decoration: none !important; + box-shadow: none !important; +} + +/* Tables */ +.gh-content table:not(.gist table) { + display: inline-block; + overflow-x: auto; + max-width: 100%; + width: auto; + border-spacing: 0; + border-collapse: collapse; + font-family: var(--font-sans); + font-size: 1.6rem; + white-space: nowrap; + vertical-align: top; + -webkit-overflow-scrolling: touch; + background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center; + background-attachment: scroll, scroll; + background-size: 10px 100%, 10px 100%; + background-repeat: no-repeat; +} + +.gh-content table:not(.gist table) td:first-child { + background-image: linear-gradient(to right, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%); + background-size: 20px 100%; + background-repeat: no-repeat; +} + +.gh-content table:not(.gist table) td:last-child { + background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%); + background-position: 100% 0; + background-size: 20px 100%; + background-repeat: no-repeat; +} + +.gh-content table:not(.gist table) th { + color: var(--color-darkgrey); + font-size: 1.2rem; + font-weight: 700; + letter-spacing: 0.2px; + text-align: left; + text-transform: uppercase; + background-color: color-mod(var(--color-wash) l(+4%)); +} + +.gh-content table:not(.gist table) th, +.gh-content table:not(.gist table) td { + padding: 6px 12px; + border: color-mod(var(--color-wash) l(-1%) s(-5%)) 1px solid; +} + + +/* 7.1. Post Byline +/* ---------------------------------------------------------- */ + +.article-byline { + display: flex; + justify-content: space-between; + margin: min(24px, 5.6vmin) 0 0; +} + +.article-byline-content { + flex-grow: 1; + display: flex; + align-items: center; +} + +.article-byline-content .author-list { + justify-content: flex-start; + padding: 0 14px 0 0; +} + +.article-byline-meta { + color: var(--color-secondary-text); + font-size: 1.4rem; + line-height: 1.2em; +} + +.article-byline-meta .author-name { + margin: 0 0 6px; + font-size: 1.7rem; + font-weight: 700; + letter-spacing: 0; +} + +.article-byline-meta .bull { + display: inline-block; + margin: 0 2px; +} + +.author-avatar { + display: block; + overflow: hidden; + margin: 0 -4px; + width: min(56px, 13.6vmin); + height: min(56px, 13.6vmin); + border: #fff 2px solid; + border-radius: 50%; + background-color: var(--color-border); +} + +.page-template .article-title { + margin-bottom: 0; +} + +@media (max-width: 767px) { + .article-byline-content .author-list { + padding-right: 12px; + } + .article-byline-meta .author-name { + margin-bottom: 4px; + } +} + + +/* 7.3. Subscribe +/* ---------------------------------------------------------- */ + +.footer-cta { + position: relative; + text-align: center; +} + +.footer-cta-title { + margin: 0 0 min(24px, 6.4vmin); + font-size: clamp(2.6rem, 5vw, 3.8rem); + font-weight: 800; +} + +.has-serif-title .footer-cta-title { + font-family: var(--font-serif); +} + +.footer-cta-button { + position: relative; + display: inline-flex; + align-items: center; + justify-content: space-between; + width: 100%; + max-width: 500px; + padding: 5px 5px 5px 15px; + font-size: 1.7rem; + color: var(--color-secondary-text); + background: #fff; + border: 1px solid var(--color-border); + border-radius: 8px; + transition: border-color 0.2s; +} + +.footer-cta-button:hover { + border-color: color-mod(var(--color-border) l(-12%)); +} + +.footer-cta-button span { + display: inline-block; + padding: 9px 15px; + color: #fff; + font-size: 1.6rem; + font-weight: 600; + letter-spacing: -0.005em; + background: var(--ghost-accent-color); + border-radius: 6px; +} + + +/* 7.4. Read more +/* ---------------------------------------------------------- */ + +.read-more-wrap { + margin-top: 2.4vmin; +} + +.footer-cta + .read-more-wrap { + margin-top: max(12vmin, 72px); +} + +.read-more { + display: grid; + grid-template-columns: repeat(6, 1fr); + grid-gap: 4vmin; +} + +.read-more .post-card-tags { + display: none; +} + +@media (max-width: 1000px) { + .read-more { + grid-template-columns: repeat(4, 1fr); + } + .read-more .post-card:nth-child(3) { + display: none; + } +} + +@media (max-width: 700px) { + .read-more { + grid-template-columns: repeat(2, 1fr); + } + .read-more .post-card:nth-child(2) { + display: none; + } +} + +/* 7.6. Comments +/* ---------------------------------------------------------- */ +.comments { + display: flex; + flex-direction: column; + align-items: center; + margin: 60px 0 44px; +} + + +.comments-head { + display: flex; + align-items: baseline; + justify-content: space-between; + margin-bottom: 32px; + width: 100%; + max-width: 720px; +} + +.comments h2 { + width: 100%; + max-width: 720px; + font-weight: 800; + font-size: 3.4rem; +} + +.comments .comment-count { + color: var(--color-midgrey); + font-weight: 600; + white-space: nowrap; +} + +.comments #ghost-comments-root { + width: 100%; + max-width: 720px; +} + + +/* 8. Author Template +/* ---------------------------------------------------------- */ + +.author-profile-pic { + display: block; + width: 80px; + height: 80px; + object-fit: cover; + margin: 0 0 2rem; + background: color-mod(var(--color-lightgrey) l(+10%)); + border-radius: 50%; +} + +.author-profile-footer { + margin-top: 16px; +} + +.author-profile-location { + font-weight: 700; +} + +.author-profile-meta { + display: flex; + gap: 10px; +} + +.author-profile-social-link { + font-size: 1.3rem; + color: var(--color-secondary-text); +} + +.author-profile-social-link:hover { + color: var(--color-darkgrey); +} + +.author-profile-social-link svg { + width: 16px; + height: 16px; +} + +@media (min-width: 1001px) { + .author-template .post-card-large .post-card-content:only-child { + grid-column: span 2; + max-width: 640px; + } +} + + +/* 8. Tag Template +/* ---------------------------------------------------------- */ + +.tag-template .post-card-large .post-card-image-link { + grid-column: 2 / span 2; + order: 2; +} + +.tag-template .post-card-large .post-card-content { + order: 1; +} + +@media (min-width: 1001px) { + .tag-template .post-card-large .post-card-content:only-child { + grid-column: span 2; + max-width: 640px; + } +} + +/* 9. Error Template +/* ---------------------------------------------------------- */ + +.error-content { + padding: 14vw 4vw 2vw; +} + +.error-message { + padding-bottom: 10vw; + text-align: center; +} + +.error-code { + margin: 0; + font-size: 12vw; + line-height: 1em; + letter-spacing: -5px; +} + +.error-description { + margin: 0; + color: var(--color-secondary-text); + font-size: 3.2rem; + line-height: 1.3em; + letter-spacing: -0.005em; + font-weight: 400; +} + +.error-link { + display: inline-block; + margin-top: 5px; +} + +@media (min-width: 940px) { + .error-content .post-card { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; + } +} + +@media (max-width: 800px) { + .error-content { + padding-top: 24vw; + } + .error-code { + font-size: 11.2rem; + } + .error-message { + padding-bottom: 16vw; + } + .error-description { + margin: 5px 0 0 0; + font-size: 1.8rem; + } +} + +@media (max-width: 500px) { + .error-content { + padding-top: 28vw; + } + .error-message { + padding-bottom: 14vw; + } +} + + +/* 11. Site Footer +/* ---------------------------------------------------------- */ + +.site-footer { + position: relative; + margin: max(12vmin, 64px) 0 0 0; + padding-top: 48px; + padding-bottom: 140px; + color: #fff; + background: color-mod(var(--color-darkgrey) l(-5%)); +} + +.site-footer .inner { + display: grid; + grid-gap: 40px; + grid-template-columns: auto 1fr auto; + color: rgba(255,255,255,0.7); + font-size: 1.3rem; +} + +.site-footer .copyright a { + color: #fff; + letter-spacing: -0.015em; + font-weight: 500; +} + +.site-footer a { + color: rgba(255,255,255,0.7); +} + +.site-footer a:hover { + color: rgba(255,255,255,1); + text-decoration: none; +} + +.site-footer-nav ul { + display: flex; + justify-content: center; + flex-wrap: wrap; + margin: 0 0 20px; + padding: 0; + list-style: none; +} + +.site-footer-nav li { + display: inline-flex; + align-items: center; + padding: 0; + margin: 0; + line-height: 2em; +} + +.site-footer-nav a { + position: relative; + display: inline-flex; + align-items: center; + margin-left: 10px; +} + +.site-footer-nav li:not(:first-child) a:before { + content: ""; + display: block; + width: 2px; + height: 2px; + margin: 0 10px 0 0; + background: #fff; + border-radius: 100%; +} + +@media (max-width: 767px) { + .site-footer .inner { + max-width: 500px; + grid-template-columns: 1fr; + grid-gap: 0; + text-align: center; + } + .site-footer .copyright, + .site-footer .copyright a { + color: #fff; + font-size: 1.5rem; + } + .site-footer .copyright { + margin-bottom: 16px; + } +} + + +/* 12. Dark Mode +/* ---------------------------------------------------------- */ + +html.dark-mode body { + color: rgba(255, 255, 255, 0.75); + background: var(--color-darkmode); +} + +html.dark-mode img { + opacity: 0.9; +} + +html.dark-mode kbd { + background: color-mod(var(--color-darkmode) l(+5%)); +} + +html.dark-mode figcaption a { + color: #fff; +} + +html.dark-mode .gh-head { + background: var(--color-darkmode); + color: #fff; +} + +html.dark-mode .gh-burger-box { + color: #fff; +} + +html.dark-mode .site-header-content { + color: #fff; +} + +html.dark-mode .post-card-image { + background: var(--color-darkmode); +} + +html.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) { + color: color-mod(var(--color-secondary-text) l(-22%)); +} + +html.dark-mode .post-card-featured { + color: #fff; +} + +html.dark-mode .post-card-title { + color: #fff; +} + +html.dark-mode .post-card-excerpt { + color: var(--color-secondary-text); +} + +html.dark-mode .author-profile-location { + color: #fff; +} + +html.dark-mode .author-profile-social-link:hover { + color: #fff; +} + +html.dark-mode .article-title { + color: #fff; +} + +html.dark-mode .article-excerpt { + color: var(--color-secondary-text); +} + +html.dark-mode .post-full-image { + background-color: color-mod(var(--color-darkmode) l(+8%)); +} + +html.dark-mode .author-avatar { + border-color: var(--color-darkmode); + background-color: color-mod(var(--color-darkmode) l(+8%)); +} + +html.dark-mode .author-profile-image { + opacity: 1; +} + +html.dark-mode .author-profile-image path { + fill: var(--color-darkmode); +} + +html.dark-mode .article-byline-meta .author-name a { + color: #fff; +} + +html.dark-mode .no-image .author-social-link a { + color: rgba(255, 255, 255, 0.75); +} + +html.dark-mode .gh-content > [id] { + color: rgba(255, 255, 255, 0.9); +} + +html.dark-mode .gh-content pre { + background: color-mod(var(--color-darkgrey) l(-8%)); +} + +html.dark-mode .gh-content :not(pre) > code { + background: color-mod(var(--color-darkgrey) l(+6%)); + border-color: color-mod(var(--color-darkmode) l(+8%)); + color: var(--color-wash); +} + +:where(html.dark-mode) .gh-content a { + color: #fff; +} + +html.dark-mode .gh-content strong { + color: #fff; +} + +html.dark-mode .gh-content em { + color: #fff; +} + +html.dark-mode .gh-content code { + color: #fff; + background: #000; +} + +html.dark-mode hr { + border-top-color: color-mod(var(--color-darkmode) l(+8%)); +} + +html.dark-mode .gh-content hr:after { + background: color-mod(var(--color-darkmode) l(+8%)); + box-shadow: var(--color-darkmode) 0 0 0 5px; +} + +html.dark-mode figcaption { + color: rgba(255, 255, 255, 0.6); +} + +html.dark-mode .gh-content table:not(.gist table) td:first-child { + background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); +} + +html.dark-mode .gh-content table:not(.gist table) td:last-child { + background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); +} + +html.dark-mode .gh-content table:not(.gist table) th { + color: rgba(255, 255, 255, 0.85); + background-color: color-mod(var(--color-darkmode) l(+8%)); +} + +html.dark-mode .gh-content table:not(.gist table) th, +html.dark-mode .gh-content table:not(.gist table) td { + border: color-mod(var(--color-darkmode) l(+8%)) 1px solid; +} + +html.dark-mode .gh-content input { + color: color-mod(var(--color-midgrey) l(-30%)); +} + +html.dark-mode .site-archive-header .no-image { + color: rgba(255, 255, 255, 0.9); + background: var(--color-darkmode); +} + +html.dark-mode .kg-header-card.kg-style-dark { + background: color-mod(var(--color-darkgrey) l(-5%)); +} + +html.dark-mode .kg-header-card.kg-style-light { + background: color-mod(var(--color-darkgrey) l(+5%)); +} + +html.dark-mode .kg-header-card h2.kg-header-card-header, +html.dark-mode .kg-header-card h3.kg-header-card-subheader { + color: #fff; +} + +html.dark-mode .footer-cta-title { + color: #fff; +} + +@media (prefers-color-scheme: dark) { + html.auto-color body { + color: rgba(255, 255, 255, 0.75); + background: var(--color-darkmode); + } + + html.auto-color img { + opacity: 0.9; + } + + html.auto-color kbd { + background: color-mod(var(--color-darkmode) l(+5%)); + } + + html.auto-color figcaption a { + color: #fff; + } + + html.auto-color .gh-head { + background: var(--color-darkmode); + color: #fff; + } + + html.auto-color .gh-burger-box { + color: #fff; + } + + html.auto-color .site-header-content { + color: #fff; + } + + html.auto-color .post-card-image { + background: var(--color-darkmode); + } + + html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) { + color: color-mod(var(--color-secondary-text) l(-22%)); + } + + html.auto-color .post-card-featured { + color: #fff; + } + + html.auto-color .post-card-title { + color: #fff; + } + + html.auto-color .post-card-excerpt { + color: var(--color-secondary-text); + } + + html.auto-color .author-profile-location { + color: #fff; + } + + html.auto-color .author-profile-social-link:hover { + color: #fff; + } + + html.auto-color .article-title { + color: #fff; + } + + html.auto-color .article-excerpt { + color: var(--color-secondary-text); + } + + html.auto-color .post-full-image { + background-color: color-mod(var(--color-darkmode) l(+8%)); + } + + html.auto-color .author-avatar { + border-color: var(--color-darkmode); + background-color: color-mod(var(--color-darkmode) l(+8%)); + } + + html.auto-color .author-profile-image { + opacity: 1; + } + + html.auto-color .author-profile-image path { + fill: var(--color-darkmode); + } + + html.auto-color .article-byline-meta .author-name a { + color: #fff; + } + + html.auto-color .no-image .author-social-link a { + color: rgba(255, 255, 255, 0.75); + } + + html.auto-color .gh-content > [id] { + color: rgba(255, 255, 255, 0.9); + } + + html.auto-color .gh-content pre { + background: color-mod(var(--color-darkgrey) l(-8%)); + } + + html.auto-color .gh-content :not(pre) > code { + background: color-mod(var(--color-darkgrey) l(+6%)); + border-color: color-mod(var(--color-darkmode) l(+8%)); + color: var(--color-wash); + } + + :where(html.auto-color) .gh-content a { + color: #fff; + } + + html.auto-color .gh-content strong { + color: #fff; + } + + html.auto-color .gh-content em { + color: #fff; + } + + html.auto-color .gh-content code { + color: #fff; + background: #000; + } + + html.auto-color hr { + border-top-color: color-mod(var(--color-darkmode) l(+8%)); + } + + html.auto-color .gh-content hr:after { + background: color-mod(var(--color-darkmode) l(+8%)); + box-shadow: var(--color-darkmode) 0 0 0 5px; + } + + html.auto-color figcaption { + color: rgba(255, 255, 255, 0.6); + } + + html.auto-color .gh-content table:not(.gist table) td:first-child { + background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); + } + + html.auto-color .gh-content table:not(.gist table) td:last-child { + background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%); + } + + html.auto-color .gh-content table:not(.gist table) th { + color: rgba(255, 255, 255, 0.85); + background-color: color-mod(var(--color-darkmode) l(+8%)); + } + + html.auto-color .gh-content table:not(.gist table) th, + html.auto-color .gh-content table:not(.gist table) td { + border: color-mod(var(--color-darkmode) l(+8%)) 1px solid; + } + + html.auto-color .gh-content input { + color: color-mod(var(--color-midgrey) l(-30%)); + } + + html.auto-color .site-archive-header .no-image { + color: rgba(255, 255, 255, 0.9); + background: var(--color-darkmode); + } + + html.auto-color .kg-header-card.kg-style-dark { + background: color-mod(var(--color-darkgrey) l(-5%)); + } + + html.auto-color .kg-header-card.kg-style-light { + background: color-mod(var(--color-darkgrey) l(+5%)); + } + + html.auto-color .kg-header-card h2.kg-header-card-header, + html.auto-color .kg-header-card h3.kg-header-card-subheader { + color: #fff; + } + + html.auto-color .footer-cta-title { + color: #fff; + } +} + +/* + +Hey! You reached the end. + +Hope you enjoyed this CSS file, if you have any suggestions +for improvements that might be useful for everyone who uses +this theme, you can find the open source repository for it +here: https://github.com/tryghost/casper + +Or, if you've just scrolled all the way to the bottom of the +file to add some of your own styles. Well, you've come to +the right place. Onward! + + */ diff --git a/assets/js/dropdown.js b/assets/js/dropdown.js old mode 100644 new mode 100755 index 3be3f63..1189222 --- a/assets/js/dropdown.js +++ b/assets/js/dropdown.js @@ -1,81 +1,81 @@ -(function () { - const mediaQuery = window.matchMedia('(max-width: 991px)'); - - const menu = document.querySelector('.gh-head-menu'); - const nav = menu.querySelector('.nav'); - if (!nav) return; - - const logo = document.querySelector('.gh-head-logo'); - const navHTML = nav.innerHTML; - - if (mediaQuery.matches) { - const items = nav.querySelectorAll('li'); - items.forEach(function (item, index) { - item.style.transitionDelay = 0.03 * (index + 1) + 's'; - }); - } - - const makeDropdown = function () { - if (mediaQuery.matches) return; - const submenuItems = []; - - while ((nav.offsetWidth + 64) > menu.offsetWidth) { - if (nav.lastElementChild) { - submenuItems.unshift(nav.lastElementChild); - nav.lastElementChild.remove(); - } else { - return; - } - } - - if (!submenuItems.length) { - document.body.classList.add('is-dropdown-loaded'); - return; - } - - const toggle = document.createElement('button'); - toggle.setAttribute('class', 'nav-more-toggle'); - toggle.setAttribute('aria-label', 'More'); - toggle.innerHTML = ''; - - const wrapper = document.createElement('div'); - wrapper.setAttribute('class', 'gh-dropdown'); - - if (submenuItems.length >= 10) { - document.body.classList.add('is-dropdown-mega'); - wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)'; - } else { - document.body.classList.remove('is-dropdown-mega'); - } - - submenuItems.forEach(function (child) { - wrapper.appendChild(child); - }); - - toggle.appendChild(wrapper); - nav.appendChild(toggle); - - document.body.classList.add('is-dropdown-loaded'); - - toggle.addEventListener('click', function () { - document.body.classList.toggle('is-dropdown-open'); - }); - - window.addEventListener('click', function (e) { - if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) { - document.body.classList.remove('is-dropdown-open'); - } - }); - } - - imagesLoaded(logo, function () { - makeDropdown(); - }); - - window.addEventListener('resize', function () { - setTimeout(function () { - nav.innerHTML = navHTML; - makeDropdown(); - }, 1); - }); -})(); +(function () { + const mediaQuery = window.matchMedia('(max-width: 991px)'); + + const menu = document.querySelector('.gh-head-menu'); + const nav = menu.querySelector('.nav'); + if (!nav) return; + + const logo = document.querySelector('.gh-head-logo'); + const navHTML = nav.innerHTML; + + if (mediaQuery.matches) { + const items = nav.querySelectorAll('li'); + items.forEach(function (item, index) { + item.style.transitionDelay = 0.03 * (index + 1) + 's'; + }); + } + + const makeDropdown = function () { + if (mediaQuery.matches) return; + const submenuItems = []; + + while ((nav.offsetWidth + 64) > menu.offsetWidth) { + if (nav.lastElementChild) { + submenuItems.unshift(nav.lastElementChild); + nav.lastElementChild.remove(); + } else { + return; + } + } + + if (!submenuItems.length) { + document.body.classList.add('is-dropdown-loaded'); + return; + } + + const toggle = document.createElement('button'); + toggle.setAttribute('class', 'nav-more-toggle'); + toggle.setAttribute('aria-label', 'More'); + toggle.innerHTML = ''; + + const wrapper = document.createElement('div'); + wrapper.setAttribute('class', 'gh-dropdown'); + + if (submenuItems.length >= 10) { + document.body.classList.add('is-dropdown-mega'); + wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)'; + } else { + document.body.classList.remove('is-dropdown-mega'); + } + + submenuItems.forEach(function (child) { + wrapper.appendChild(child); + }); + + toggle.appendChild(wrapper); + nav.appendChild(toggle); + + document.body.classList.add('is-dropdown-loaded'); + + toggle.addEventListener('click', function () { + document.body.classList.toggle('is-dropdown-open'); + }); + + window.addEventListener('click', function (e) { + if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) { + document.body.classList.remove('is-dropdown-open'); + } + }); + } + + imagesLoaded(logo, function () { + makeDropdown(); + }); + + window.addEventListener('resize', function () { + setTimeout(function () { + nav.innerHTML = navHTML; + makeDropdown(); + }, 1); + }); +})(); diff --git a/assets/js/infinite-scroll.js b/assets/js/infinite-scroll.js old mode 100644 new mode 100755 index 3e9bd7a..6792889 --- a/assets/js/infinite-scroll.js +++ b/assets/js/infinite-scroll.js @@ -1,112 +1,114 @@ -/* eslint-env browser */ - -/** - * Infinite Scroll - * Used on all pages where there is a list of posts (homepage, tag index, etc). - * - * When the page is scrolled to 300px from the bottom, the next page of posts - * is fetched by following the the that is output - * by {{ghost_head}}. - * - * The individual post items are extracted from the fetched pages by looking for - * a wrapper element with the class "post-card". Any found elements are appended - * to the element with the class "post-feed" in the currently viewed page. - */ - -(function (window, document) { - // next link element - var nextElement = document.querySelector('link[rel=next]'); - if (!nextElement) { - return; - } - - // post feed element - var feedElement = document.querySelector('.post-feed'); - if (!feedElement) { - return; - } - - var buffer = 300; - - var ticking = false; - var loading = false; - - var lastScrollY = window.scrollY; - var lastWindowHeight = window.innerHeight; - var lastDocumentHeight = document.documentElement.scrollHeight; - - function onPageLoad() { - if (this.status === 404) { - window.removeEventListener('scroll', onScroll); - window.removeEventListener('resize', onResize); - return; - } - - // append contents - var postElements = this.response.querySelectorAll('article.post-card'); - postElements.forEach(function (item) { - // document.importNode is important, without it the item's owner - // document will be different which can break resizing of - // `object-fit: cover` images in Safari - feedElement.appendChild(document.importNode(item, true)); - }); - - // set next link - var resNextElement = this.response.querySelector('link[rel=next]'); - if (resNextElement) { - nextElement.href = resNextElement.href; - } else { - window.removeEventListener('scroll', onScroll); - window.removeEventListener('resize', onResize); - } - - // sync status - lastDocumentHeight = document.documentElement.scrollHeight; - ticking = false; - loading = false; - } - - function onUpdate() { - // return if already loading - if (loading) { - return; - } - - // return if not scroll to the bottom - if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) { - ticking = false; - return; - } - - loading = true; - - var xhr = new window.XMLHttpRequest(); - xhr.responseType = 'document'; - - xhr.addEventListener('load', onPageLoad); - - xhr.open('GET', nextElement.href); - xhr.send(null); - } - - function requestTick() { - ticking || window.requestAnimationFrame(onUpdate); - ticking = true; - } - - function onScroll() { - lastScrollY = window.scrollY; - requestTick(); - } - - function onResize() { - lastWindowHeight = window.innerHeight; - lastDocumentHeight = document.documentElement.scrollHeight; - requestTick(); - } - - window.addEventListener('scroll', onScroll, {passive: true}); - window.addEventListener('resize', onResize); - - requestTick(); -})(window, document); +/* eslint-env browser */ + +/** + * Infinite Scroll + * Used on all pages where there is a list of posts (homepage, tag index, etc). + * + * When the page is scrolled to 300px from the bottom, the next page of posts + * is fetched by following the the that is output + * by {{ghost_head}}. + * + * The individual post items are extracted from the fetched pages by looking for + * a wrapper element with the class "post-card". Any found elements are appended + * to the element with the class "post-feed" in the currently viewed page. + */ + +(function (window, document) { + if (document.documentElement.classList.contains('no-infinite-scroll')) return; + + // next link element + var nextElement = document.querySelector('link[rel=next]'); + if (!nextElement) { + return; + } + + // post feed element + var feedElement = document.querySelector('.post-feed'); + if (!feedElement) { + return; + } + + var buffer = 300; + + var ticking = false; + var loading = false; + + var lastScrollY = window.scrollY; + var lastWindowHeight = window.innerHeight; + var lastDocumentHeight = document.documentElement.scrollHeight; + + function onPageLoad() { + if (this.status === 404) { + window.removeEventListener('scroll', onScroll); + window.removeEventListener('resize', onResize); + return; + } + + // append contents + var postElements = this.response.querySelectorAll('article.post-card'); + postElements.forEach(function (item) { + // document.importNode is important, without it the item's owner + // document will be different which can break resizing of + // `object-fit: cover` images in Safari + feedElement.appendChild(document.importNode(item, true)); + }); + + // set next link + var resNextElement = this.response.querySelector('link[rel=next]'); + if (resNextElement) { + nextElement.href = resNextElement.href; + } else { + window.removeEventListener('scroll', onScroll); + window.removeEventListener('resize', onResize); + } + + // sync status + lastDocumentHeight = document.documentElement.scrollHeight; + ticking = false; + loading = false; + } + + function onUpdate() { + // return if already loading + if (loading) { + return; + } + + // return if not scroll to the bottom + if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) { + ticking = false; + return; + } + + loading = true; + + var xhr = new window.XMLHttpRequest(); + xhr.responseType = 'document'; + + xhr.addEventListener('load', onPageLoad); + + xhr.open('GET', nextElement.href); + xhr.send(null); + } + + function requestTick() { + ticking || window.requestAnimationFrame(onUpdate); + ticking = true; + } + + function onScroll() { + lastScrollY = window.scrollY; + requestTick(); + } + + function onResize() { + lastWindowHeight = window.innerHeight; + lastDocumentHeight = document.documentElement.scrollHeight; + requestTick(); + } + + window.addEventListener('scroll', onScroll, {passive: true}); + window.addEventListener('resize', onResize); + + requestTick(); +})(window, document); diff --git a/assets/js/lib/imagesloaded.pkgd.min.js b/assets/js/lib/imagesloaded.pkgd.min.js old mode 100644 new mode 100755 index e443a77..65a0e86 --- a/assets/js/lib/imagesloaded.pkgd.min.js +++ b/assets/js/lib/imagesloaded.pkgd.min.js @@ -1,7 +1,7 @@ -/*! - * imagesLoaded PACKAGED v4.1.4 - * JavaScript is all like "You images are done yet or what?" - * MIT License - */ - +/*! + * imagesLoaded PACKAGED v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + !function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o'; - head.appendChild(div.childNodes[1]); - } - - if ( options ) { - $.extend( settings, options ); - } - - return this.each(function(){ - var selectors = [ - 'iframe[src*="player.vimeo.com"]', - 'iframe[src*="youtube.com"]', - 'iframe[src*="youtube-nocookie.com"]', - 'iframe[src*="kickstarter.com"][src*="video.html"]', - 'object', - 'embed' - ]; - - if (settings.customSelector) { - selectors.push(settings.customSelector); - } - - var ignoreList = '.fitvidsignore'; - - if(settings.ignore) { - ignoreList = ignoreList + ', ' + settings.ignore; - } - - var $allVideos = $(this).find(selectors.join(',')); - $allVideos = $allVideos.not('object object'); // SwfObj conflict patch - $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. - - $allVideos.each(function(){ - var $this = $(this); - if($this.parents(ignoreList).length > 0) { - return; // Disable FitVids on this video. - } - if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } - if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) - { - $this.attr('height', 9); - $this.attr('width', 16); - } - var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), - width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), - aspectRatio = height / width; - if(!$this.attr('name')){ - var videoName = 'fitvid' + $.fn.fitVids._count; - $this.attr('name', videoName); - $.fn.fitVids._count++; - } - $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); - $this.removeAttr('height').removeAttr('width'); - }); - }); - }; - - // Internal counter for unique video names. - $.fn.fitVids._count = 0; - -// Works with either jQuery or Zepto -})( window.jQuery || window.Zepto ); +/*jshint browser:true */ +/*! +* FitVids 1.3 +* +* +* Copyright 2017, Chris Coyier + Dave Rupert + Ghost Foundation +* This is an unofficial release, ported by John O'Nolan +* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ +* Released under the MIT license +* +*/ + +;(function( $ ){ + + 'use strict'; + + $.fn.fitVids = function( options ) { + var settings = { + customSelector: null, + ignore: null + }; + + if(!document.getElementById('fit-vids-style')) { + // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js + var head = document.head || document.getElementsByTagName('head')[0]; + var css = '.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}'; + var div = document.createElement("div"); + div.innerHTML = '

x

'; + head.appendChild(div.childNodes[1]); + } + + if ( options ) { + $.extend( settings, options ); + } + + return this.each(function(){ + var selectors = [ + 'iframe[src*="player.vimeo.com"]', + 'iframe[src*="youtube.com"]', + 'iframe[src*="youtube-nocookie.com"]', + 'iframe[src*="kickstarter.com"][src*="video.html"]', + 'object', + 'embed' + ]; + + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + + var ignoreList = '.fitvidsignore'; + + if(settings.ignore) { + ignoreList = ignoreList + ', ' + settings.ignore; + } + + var $allVideos = $(this).find(selectors.join(',')); + $allVideos = $allVideos.not('object object'); // SwfObj conflict patch + $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. + + $allVideos.each(function(){ + var $this = $(this); + if($this.parents(ignoreList).length > 0) { + return; // Disable FitVids on this video. + } + if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } + if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) + { + $this.attr('height', 9); + $this.attr('width', 16); + } + var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), + width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), + aspectRatio = height / width; + if(!$this.attr('name')){ + var videoName = 'fitvid' + $.fn.fitVids._count; + $this.attr('name', videoName); + $.fn.fitVids._count++; + } + $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); + $this.removeAttr('height').removeAttr('width'); + }); + }); + }; + + // Internal counter for unique video names. + $.fn.fitVids._count = 0; + +// Works with either jQuery or Zepto +})( window.jQuery || window.Zepto ); diff --git a/assets/screenshot-desktop.jpg b/assets/screenshot-desktop.jpg old mode 100644 new mode 100755 diff --git a/assets/screenshot-mobile.jpg b/assets/screenshot-mobile.jpg old mode 100644 new mode 100755 diff --git a/author.hbs b/author.hbs old mode 100644 new mode 100755 index 4d35ebf..495dad2 --- a/author.hbs +++ b/author.hbs @@ -1,70 +1,76 @@ -{{!< default}} -{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}} - -
-
- - {{#author}} -
- - {{#if feature_image}} -
- {{!-- This is a responsive image, it loads different sizes depending on device - https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}} - {{title}} -
- {{/if}} - -
-
- - {{#if profile_image}} - {{name}} - {{/if}} - -
-

{{name}}

-
- - {{#if bio}} -
{{bio}}
- {{/if}} - - - -
-
- -
- {{/author}} - - {{#foreach posts}} - {{!-- The tag below includes the markup for each post - partials/post-card.hbs --}} - {{> "post-card"}} - {{/foreach}} - -
-
+{{!< default}} +{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}} + +
+
+ +
+ + {{#author}} +
+ + {{#if feature_image}} +
+ {{!-- This is a responsive image, it loads different sizes depending on device + https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}} + {{title}} +
+ {{/if}} + +
+
+ + {{#if profile_image}} + {{name}} + {{/if}} + +
+

{{name}}

+
+ + {{#if bio}} +
{{bio}}
+ {{/if}} + + + +
+
+ +
+ {{/author}} + + {{#foreach posts}} + {{!-- The tag below includes the markup for each post - partials/post-card.hbs --}} + {{> "post-card"}} + {{/foreach}} + +
+ + {{pagination}} + +
+
diff --git a/default.hbs b/default.hbs old mode 100644 new mode 100755 index a54a14c..5732558 --- a/default.hbs +++ b/default.hbs @@ -1,110 +1,110 @@ - - - - - {{!-- Basic meta - advanced meta is output with {ghost_head} below --}} - {{meta_title}} - - - - - - {{!-- Theme assets - use the {asset} helper to reference styles & scripts, - this will take care of caching and cache-busting automatically --}} - - - {{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings, - it should always be the last tag before the closing head tag --}} - {{ghost_head}} - - - -
- -
-
- - - - -
- {{#unless @site.members_enabled}} - {{^match @custom.navigation_layout "Stacked"}} - - {{/match}} - {{else}} - - {{#unless @member}} - {{#unless @site.members_invite_only}} - Subscribe - {{else}} - Login - {{/unless}} - {{else}} - Account - {{/unless}} - {{/unless}} -
-
-
- -
- {{!-- All other templates get inserted here, index.hbs, post.hbs, etc --}} - {{{body}}} -
- - {{!-- The global footer at the very bottom of the screen --}} - - -
-{{!-- /.viewport --}} - - -{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}} - - - - -{{!-- Ghost outputs required functional scripts with this tag - it should always be the last thing before the closing body tag --}} -{{ghost_foot}} - - - + + + + + {{!-- Basic meta - advanced meta is output with {ghost_head} below --}} + {{meta_title}} + + + + + + {{!-- Theme assets - use the {asset} helper to reference styles & scripts, + this will take care of caching and cache-busting automatically --}} + + + {{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings, + it should always be the last tag before the closing head tag --}} + {{ghost_head}} + + + +
+ +
+
+ + + + +
+ {{#unless @site.members_enabled}} + {{^match @custom.navigation_layout "Stacked"}} + + {{/match}} + {{else}} + + {{#unless @member}} + {{#unless @site.members_invite_only}} + Subscribe + {{else}} + Login + {{/unless}} + {{else}} + Account + {{/unless}} + {{/unless}} +
+
+
+ +
+ {{!-- All other templates get inserted here, index.hbs, post.hbs, etc --}} + {{{body}}} +
+ + {{!-- The global footer at the very bottom of the screen --}} + + +
+{{!-- /.viewport --}} + + +{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}} + + + + +{{!-- Ghost outputs required functional scripts with this tag - it should always be the last thing before the closing body tag --}} +{{ghost_foot}} + + + diff --git a/error-404.hbs b/error-404.hbs old mode 100644 new mode 100755 index 2752c11..d8065d7 --- a/error-404.hbs +++ b/error-404.hbs @@ -1,37 +1,37 @@ -{{!< default}} - -{{!-- - -There are two error files in this theme, one for 404s and one for all other errors. -This file is the former, and handles all 404 Page Not Found errors. - -The 404 error is the most common error that a visitor might see, for example when -following a broken link - -Keep this template as lightweight as you can! - ---}} - -
-
-
-

{{statusCode}}

-

{{message}}

- Go to the front page → -
-
-
- -{{!-- Given that people landing on this page didn't find what they -were looking for, let's give them some alternative stuff to read. --}} -