@charset "UTF-8";

@font-face {
  font-family: 'Source Serif Pro';
  src: url('../fonts/source-serif-pro/source-serif-pro-regular.eot');
  src: local('Source Serif Pro'),
       url('../fonts/source-serif-pro/source-serif-pro-regular.eot?#iefix') format('embedded-opentype'),
       url('../fonts/source-serif-pro/source-serif-pro-regular.woff2') format('woff2'),
       url('../fonts/source-serif-pro/source-serif-pro-regular.woff') format('woff'),
       url('../fonts/source-serif-pro/source-serif-pro-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif Pro';
  src: url('../fonts/source-serif-pro/source-serif-pro-italic.eot');
  src: local('Source Serif Pro Italic'),
       url('../fonts/source-serif-pro/source-serif-pro-italic.eot?#iefix') format('embedded-opentype'),
       url('../fonts/source-serif-pro/source-serif-pro-italic.woff2') format('woff2'),
       url('../fonts/source-serif-pro/source-serif-pro-italic.woff') format('woff'),
       url('../fonts/source-serif-pro/source-serif-pro-italic.ttf') format('truetype');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif Pro';
  src: url('../fonts/source-serif-pro/source-serif-pro-semibold.eot');
  src: local('Source Serif Pro Semibold'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold.eot?#iefix') format('embedded-opentype'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold.woff2') format('woff2'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold.woff') format('woff'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold.ttf') format('truetype');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif Pro';
  src: url('../fonts/source-serif-pro/source-serif-pro-semibold-italic.eot');
  src: local('Source Serif Pro Semibold Italic'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold-italic.eot?#iefix') format('embedded-opentype'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold-italic.woff2') format('woff2'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold-italic.woff') format('woff'),
       url('../fonts/source-serif-pro/source-serif-pro-semibold-italic.ttf') format('truetype');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif Pro';
  src: url('../fonts/source-serif-pro/source-serif-pro-bold.eot');
  src: local('Source Serif Pro Bold'),
       url('../fonts/source-serif-pro/source-serif-pro-bold.eot?#iefix') format('embedded-opentype'),
       url('../fonts/source-serif-pro/source-serif-pro-bold.woff2') format('woff2'),
       url('../fonts/source-serif-pro/source-serif-pro-bold.woff') format('woff'),
       url('../fonts/source-serif-pro/source-serif-pro-bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Source Serif Pro';
  src: url('../fonts/source-serif-pro/source-serif-pro-bold-italic.eot');
  src: local('Source Serif Pro Bold Italic'),
       url('../fonts/source-serif-pro/source-serif-pro-bold-italic.eot?#iefix') format('embedded-opentype'),
       url('../fonts/source-serif-pro/source-serif-pro-bold-italic.woff2') format('woff2'),
       url('../fonts/source-serif-pro/source-serif-pro-bold-italic.woff') format('woff'),
       url('../fonts/source-serif-pro/source-serif-pro-bold-italic.ttf') format('truetype');
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/fira-sans/fira-sans-regular.eot');
  src: local('Fira Sans Regular'),
       url('../fonts/fira-sans/fira-sans-regular.eot?#iefix') format('embedded-opentype'),
       url('../fonts/fira-sans/fira-sans-regular.woff2') format('woff2'),
       url('../fonts/fira-sans/fira-sans-regular.woff') format('woff'),
       url('../fonts/fira-sans/fira-sans-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/fira-sans/fira-sans-500.eot');
  src: url('../fonts/fira-sans/fira-sans-500.eot?#iefix') format('embedded-opentype'),
       url('../fonts/fira-sans/fira-sans-500.woff2') format('woff2'),
       url('../fonts/fira-sans/fira-sans-500.woff') format('woff'),
       url('../fonts/fira-sans/fira-sans-500.ttf') format('truetype');
  font-style: normal;
  font-weight: 600; /* deliberate, as 500 is too thin for all fallback fonts */
  font-display: swap;
}
@font-face {
  font-family: 'Fira Sans';
  src: url('../fonts/fira-sans/fira-sans-600.eot');
  src: url('../fonts/fira-sans/fira-sans-600.eot?#iefix') format('embedded-opentype'),
       url('../fonts/fira-sans/fira-sans-600.woff2') format('woff2'),
       url('../fonts/fira-sans/fira-sans-600.woff') format('woff'),
       url('../fonts/fira-sans/fira-sans-600.ttf') format('truetype');
  font-style: normal;
  font-weight: 700; /* deliberate, see above */
  font-display: swap;
}

@font-face {
  font-family: 'Fira Mono';
  src: url('../fonts/fira-mono/fira-mono-regular.eot');
  src: local('Fira Mono Regular'), local('FiraMono-Regular'),
       url('../fonts/fira-mono/fira-mono-regular.eot?#iefix') format('embedded-opentype'),
       url('../fonts/fira-mono/fira-mono-regular.woff2') format('woff2'),
       url('../fonts/fira-mono/fira-mono-regular.woff') format('woff'),
       url('../fonts/fira-mono/fira-mono-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Fira Mono';
  src: url('../fonts/fira-mono/fira-mono-500.eot');
  src: local('Fira Mono Medium'), local('FiraMono-Medium'),
       url('../fonts/fira-mono/fira-mono-500.eot?#iefix') format('embedded-opentype'),
       url('../fonts/fira-mono/fira-mono-500.woff2') format('woff2'),
       url('../fonts/fira-mono/fira-mono-500.woff') format('woff'),
       url('../fonts/fira-mono/fira-mono-500.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Fira Mono';
  src: url('../fonts/fira-mono/fira-mono-700.eot');
  src: local('Fira Mono Bold'), local('FiraMono-Bold'),
       url('../fonts/fira-mono/fira-mono-700.eot?#iefix') format('embedded-opentype'),
       url('../fonts/fira-mono/fira-mono-700.woff2') format('woff2'),
       url('../fonts/fira-mono/fira-mono-700.woff') format('woff'),
       url('../fonts/fira-mono/fira-mono-700.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* try this bg color: f7f6f2 */
/*#eeece7;*/
/* when small-caps not supported */
/* #ffe9ab; */
/* #af5a28; */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

article, aside, div, main, figcaption, figure, nav, section {
  display: block; }

html {
  font-size: 17px;
  /* Keep font-size here so rem can be used as a reset/base unit. */
  height: 100%; }

body {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-kerning: normal;
  color: #282828;
  background-color: #f8f8f8;
  font-style: normal;
  line-height: 1.6;
  overflow-y: scroll;
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%; }

#mainheader {
  width: 100%; }

#navbar {
  position: sticky;
  top: 100%; }

@supports (display: flex) or (display: -webkit-box) or (display: -webkit-flex) or (display: -ms-flexbox) or (display: -moz-box) {
  body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  #mainheader {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }
  .maincontent {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -moz-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto; }
  #navbar {
    position: relative;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; } }

#stripe-top {
  position: relative;
  width: 100%; }

#stripe-bottom {
  clear: both;
  position: relative;
  width: 100%; }

#stripe-top,
#stripe-bottom {
  height: 7px;
  background-color: #2156a5;
  /* fallback */
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #c0d4f2), color-stop(0.5, #1a4483), color-stop(1, #c0d4f2));
  background-image: -webkit-gradient(linear, left top, right top, from(#c0d4f2), color-stop(#1a4483), to(#c0d4f2));
  background-image: -webkit-linear-gradient(90deg, #c0d4f2, #1a4483, #c0d4f2);
  background-image: -moz-linear-gradient(90deg, #c0d4f2, #1a4483, #c0d4f2);
  background-image: -ms-linear-gradient(90deg, #c0d4f2, #1a4483, #c0d4f2);
  background-image: linear-gradient(90deg, #c0d4f2, #1a4483, #c0d4f2); }

.maincontent {
  min-width: 0;
  width: 100%;
  /* MIN() in uppercase to not conflict with scss' min() -- css is case insensitive so it works. */
  max-width: MIN(-webkit-calc(100%), 39rem);
  max-width: MIN(-moz-calc(100%), 39rem);
  max-width: MIN(-o-calc(100%), 39rem);
  max-width: MIN(calc(100%), 39rem);
  margin-right: auto;
  margin-left: auto;
  padding: 1.6rem 1rem 3.2rem 1rem;
  height: 100%; }

#mainheader {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  background-color: #eaeaea;
  line-height: 100%;
  text-align: center;
  border-bottom: 1px solid #c0c0c0;
  -webkit-border-image: -webkit-gradient(linear, left top, right top, from(#dcdcdc), color-stop(#999), to(#dcdcdc)) 0 0 100% 0;
  -webkit-border-image: linear-gradient(to right, #dcdcdc, #999, #dcdcdc) 0 0 100% 0;
  -o-border-image: -o-linear-gradient(left, #dcdcdc, #999, #dcdcdc) 0 0 100% 0;
  border-image: -webkit-gradient(linear, left top, right top, from(#dcdcdc), color-stop(#999), to(#dcdcdc)) 0 0 100% 0;
  border-image: linear-gradient(to right, #dcdcdc, #999, #dcdcdc) 0 0 100% 0; }

#mainheader-title {
  font-size: 1.2rem;
  font-family: "Source Serif Pro", "Georgia", serif;
  font-weight: 600;
  letter-spacing: normal;
  padding-top: .5rem; }

#mainheader-subtitle {
  font-size: 1.01rem;
  font-style: italic;
  margin-top: .3rem;
  font-family: "Source Serif Pro", "Georgia", serif;
  color: #666; }

#mainheader nav {
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  padding: .8rem 0 .25rem 0; }

#mainheader ul {
  line-height: 1.6;
  margin: 0;
  padding: 0; }

#mainheader li {
  display: inline-block;
  padding: 0 1.2em; }

#mainheader-title a {
  color: #333; }

#mainheader a:hover,
#mainheader a:active {
  border-bottom: 2px solid; }

#mainheader-title a:hover,
#mainheader-title a:active {
  color: #2156a5;
  border-bottom: 0px; }

#navbar {
  text-align: center;
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-size: 0.95rem;
  background-color: #eaeaea;
  width: 100%;
  margin-right: auto;
  margin-left: auto; }

.navbar-unit {
  display: inline-block;
  vertical-align: top;
  margin: .75rem 0;
  padding: 0 2.5rem; }

.navbar-list {
  padding: 0;
  list-style: none;
  line-height: 1.72; }

.navbar-title {
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  margin: 0;
  padding: 0 0 .2em 0;
  color: #444; }

#navbar-footer {
  padding: .5em 0;
  background-color: #eaeaea;
  font-size: 0.85rem;
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  color: #555;
  line-height: 1.4em;
  text-align: center; }

#navbar,
#navbar-footer {
  border-top: 1px solid #c0c0c0;
  -webkit-border-image: -webkit-gradient(linear, left top, right top, from(#dcdcdc), color-stop(#999), to(#dcdcdc)) 100% 0 100% 0;
  -webkit-border-image: linear-gradient(to right, #dcdcdc, #999, #dcdcdc) 100% 0 100% 0;
  -o-border-image: -o-linear-gradient(left, #dcdcdc, #999, #dcdcdc) 100% 0 100% 0;
  border-image: -webkit-gradient(linear, left top, right top, from(#dcdcdc), color-stop(#999), to(#dcdcdc)) 100% 0 100% 0;
  border-image: linear-gradient(to right, #dcdcdc, #999, #dcdcdc) 100% 0 100% 0; }

#navbar-footer:first-child {
  border-top: 0; }

.navbar-list-subitem {
  padding-left: 1.5em; }

.navbar-list-subitem::before {
  content: "\2514\2002"; }

/* ==== Media queries ==== */
@media only screen and (min-width: 768px) {
  html {
    font-size: 19.25px; } }

@media only screen and (min-width: 1020px) {
  #mainheader nav,
  #mainheader h1 {
    font-size: 0.975rem; }
  #navbar {
    font-size: 0.9rem; }
  .navbar-title {
    font-size: 0.9rem; }
  #navbar-footer {
    font-size: 0.775rem; } }

@media only screen and (min-width: 1600px) {
  html {
    font-size: 19px; }
  #navbar {
    font-size: 0.85rem; }
  .navbar-title {
    font-size: 0.85rem; }
  #navbar-footer {
    font-size: 0.8rem; } }

@media only screen and (min-width: 1920px) {
  html {
    font-size: 20px; } }

@media only screen and (min-width: 2620px) {
  html {
    font-size: 22px;
    font-size: .925vw;
    font-size: clamp(20px, 0.825vw, 1vw); } }
@charset "UTF-8";
/* try this bg color: f7f6f2 */
/*#eeece7;*/
/* when small-caps not supported */
/* footnotes click highlight color */
a {
  color: #2156a5;
  text-decoration: none; }

a:hover,
a:active {
  border-bottom: 1px solid; }

h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  color: #222;
  margin: 0;
  line-height: 1.2;
  -moz-font-feature-settings: "liga=1", "clig=1", "lnum=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  font-variant: common-ligatures lining-nums; }

h1 {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-size: 1.9em;
  font-weight: 600;
  letter-spacing: -0.01em;
  font-style: normal; }

h2 {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: normal; }

h3 {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-size: 1.125em;
  font-weight: 600;
  color: #000;
  letter-spacing: normal; }

h4 {
  font-size: 1.1em; }

h5, h6 {
  font-size: 1.1em; }

p {
  margin: 0; }

strong {
  color: #111;
  font-weight: 600; }

ul, ol, dl {
  margin-top: 0;
  margin-bottom: 0; }

dt {
  margin-top: 1.6rem; }

dd {
  margin-left: 1.45em; }

pre {
  font-family: "Fira Mono", "Roboto Mono", "Droid Sans Mono", "Consolas", monospace;
  margin: 0;
  font-size: .78rem;
  word-wrap: break-word;
  white-space: pre-wrap;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -moz-font-feature-settings: "liga=1", "clig=1", "liga 1=1", "clig 1=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  font-variant: normal;
  margin-right: auto;
  margin-left: auto;
  max-width: 93vw;
  /* in case calc() or vw isnt supported */
  max-width: -moz-calc(100vw - (2 * 1rem));
  max-width: -webkit-calc(100vw - (2 * 1rem));
  max-width: -o-calc(100vw - (2 * 1rem));
  max-width: calc(100vw - (2 * 1rem)); }

kbd {
  display: inline-block;
  font-family: "Fira Mono", "Roboto Mono", "Droid Sans Mono", "Consolas", monospace;
  font-size: 0.725em;
  color: #333;
  background: #f2f2f2;
  border: 1px solid #c0c0c0;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset;
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em #fff inset;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em #fff inset;
  margin: 0 .15em;
  padding: .05em .4em;
  vertical-align: middle;
  position: relative;
  top: -.1em;
  white-space: nowrap; }

code {
  font-family: "Fira Mono", "Roboto Mono", "Droid Sans Mono", "Consolas", monospace;
  font-size: 0.75rem;
  word-wrap: break-word;
  background-color: #f2f2f2;
  padding: .1rem;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px; }

pre code,
.literalblock pre {
  display: block;
  font-size: 0.75rem;
  margin: 0;
  padding: 0.4rem;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  border: 1px solid #ebebeb;
  overflow: auto;
  white-space: pre;
  line-height: 1.6; }

/* Let's never forget the `alt` attribute */
img:not([alt]) {
  border: 10px solid red; }

blockquote {
  padding-left: .5rem;
  margin: 1.6rem 0 0 2px;
  color: #555;
  border-left: 6px solid #e4e4e4; }

/* fix sub, superscript (footnotes) causing uneven line heights */
sup, sub {
  vertical-align: baseline;
  position: relative;
  top: -0.4em; }

sub {
  top: 0.4em; }

.maincontent h1 {
  margin-bottom: .5rem;
  line-height: 1.25; }

.maincontent h2 {
  margin: 3.2rem 0 0.8rem 0; }

.maincontent h3 {
  margin: 2rem 0 0.4rem 0; }

/* Never use these EVER! */
.maincontent h4,
.maincontent h5,
.maincontent h6 {
  margin: 1rem 0 .5rem 0; }

.display-inl-block {
  display: inline-block; }

.rtl {
  unicode-bidi: bidi-override;
  direction: rtl; }

/* Used by 404 page */
.sitenotfound {
  font-style: italic;
  font-size: 1.05rem; }

/* `toc` class name and `toctitle` id is generated by Asciidoctor, `inseries` by me. */
.inseries,
.toc {
  padding: .5em 1em 0.1em 1em;
  border-left: 4px solid #ccc;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  margin: 1rem 0 1rem 2rem; }

.toc-float-right {
  float: right; }

.inseries h1,
#toctitle {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-weight: normal;
  color: #111;
  font-size: 1.25em; }

.inseries ul,
.toc ul {
  list-style-type: none;
  padding-left: 0; }

.inseries ul > li:first-child,
.toc ul > li:first-child {
  margin-top: 0; }

.inseries ul > li:last-child,
.toc ul > li:last-child {
  margin-bottom: 0; }

details > summary:first-of-type {
  cursor: pointer;
  display: list-item;
  outline: none;
  margin-bottom: .75em; }

.read-more {
  margin-top: 0.4rem;
  font-size: .85rem;
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif; }

.read-more a,
.inseries a,
.toc a,
.pagination a,
.post-list a,
.hoverlink a {
  text-decoration: none;
  border-bottom: 0px; }

.read-more a:hover,
.read-more a:active,
.inseries a:hover,
.inseries a:active,
.toc a:hover,
.toc a:active,
.pagination a:hover,
.pagination a:active,
.post-list a:hover,
.post-list a:active,
.hoverlink a:hover,
.hoverlink a:active {
  border-bottom: 1px solid; }

/* lead para */
.lead {
  font-size: 1.1em;
  font-weight: 600; }

/* in taxonomy pages */
.post-list {
  list-style: none;
  margin-top: 1.6rem;
  padding-left: 0;
  font-family: "Source Serif Pro", "Georgia", serif;
  font-size: 1.05em; }

/* Post is post-summary (and software-summary). Page is dedicated page content. */
.post,
p + article.post,
article.post:first-child {
  margin-top: 2.4rem; }

/* Good luck making sense of this nonsense.
   Asciidoc wraps <p> inside <div class="paragraph">. Le Biggest Sigh.
   Maybe HTML5s (semantic backend) will fix the need for such workarounds some day. */
.maincontent h1 + .post,
.maincontent header + .paragraph,
.maincontent #preamble {
  margin-top: 1.6rem; }

.maincontent h1 + .paragraph,
.post header + .paragraph,
.page header .paragraph {
  margin-top: 0; }

.page h2 a, .page h3 a {
  color: #222;
  text-decoration: none;
  transition: all 0.3s ease;
  /* Smooth transition */ }

.page h2 a:hover, .page h3 a:hover {
  color: #2156a5;
  border-bottom: 1px solid #2156a5; }

.page h2 a:hover::before, .page h3 a:hover::before {
  content: '§ ';
  margin-left: -0.74em;
  display: inline; }

.page,
.post {
  -moz-font-feature-settings: "liga=1", "clig=1", "onum=1", "pnum=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  font-variant: common-ligatures oldstyle-nums proportional-nums; }

.page {
  margin-bottom: 0; }

.post p {
  margin: 0; }

.post h2 {
  margin: 0 0 0.4rem 0; }

.post-title,
.sw-title {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-size: 1.2em;
  letter-spacing: normal;
  font-weight: 600;
  line-height: 1.4;
  border-bottom: 0px;
  padding-bottom: 0; }

.post-title a,
.sw-title a {
  text-decoration: none;
  border-bottom: 0px; }

.post-title a:hover,
.post-title a:active,
.sw-title a:hover,
.sw-title a:active {
  border-bottom: 2px solid;
  padding-bottom: 1px; }

.post-meta,
.page-meta,
.sw-meta {
  color: #737373;
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-size: 0.9rem;
  -moz-font-feature-settings: "liga=1", "clig=1", "lnum=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  font-feature-settings: "liga" 1, "clig" 1, "lnum" 1;
  font-variant: common-ligatures lining-nums; }

@media only screen and (min-width: 1020px) {
  .post-meta,
  .page-meta,
  .sw-meta {
    font-size: 0.825rem; } }

#footnotes + .page-meta-footer {
  font-size: 0.9rem;
  padding: .6rem 0 0 .25rem;
  margin-top: 3.2rem;
  margin-top: 0;
  border-top: 1px solid #c0c0c0; }

.post-meta,
.sw-meta {
  list-style-type: none;
  margin: .25rem 0;
  padding: 0; }

.page-meta ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.post-meta li,
.page-meta li,
.sw-meta li {
  display: inline-block;
  padding-right: 1.1em; }

.share-links {
  margin-top: 1.6rem;
  text-align: right; }

.share-links li {
  display: inline;
  padding: 0 .25rem; }

@media only screen and (min-width: 680px) {
  .post-meta li,
  .page-meta li {
    padding-right: 2em; } }

.compact-list {
  display: inline; }

.compact-list li {
  padding-right: 0; }

.post-meta a,
.page-meta a {
  color: #737373;
  text-decoration: none;
  border-bottom: 0px; }

.post-meta a:hover,
.post-meta a:active,
.page-meta a:hover,
.page-meta a:active {
  color: #2156a5;
  border-bottom: 1px solid; }

.share-links a:hover,
.share-links a:active {
  text-decoration: none;
  border-bottom: 0px; }

/* Must come after post-meta */
.post-list-time {
  margin: 0 0 1rem 0; }

.post-list-indent {
  padding-left: 1.7em; }

.pagination {
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2; }

/* Pagination items can be `span` or `a`. */
.pagination-next {
  text-align: right; }

.pagination-prev {
  text-align: left; }

.pagination table {
  width: 100%;
  border-collapse: separate; }

@media only screen and (min-width: 1020px) {
  .pagination {
    border-top: 1px solid #c0c0c0;
    padding: 1rem .5rem 0 .5rem; } }

/*
 1. font-feature-settings is newer than font-variant.
 2. font-variant overrides font-feature-settings if both are specified (regardless of order).
 Old browsers that don't implement OpenType small-caps when using font-variant would fake
 small-caps and override font-feature-settings. To support old browsers that have BAD font-variant
 behavior, we set "font-variant: normal" and use font-feature-settings. Newer browsers tend
 to implement font-feature-settings properly.
*/
.abbrev {
  font-style: normal;
  font-variant: common-ligatures all-small-caps; }

h3 {
  font-variant: common-ligatures small-caps; }

@supports (font-feature-settings: "c2sc") {
  .abbrev {
    font-variant: normal;
    -moz-font-feature-settings: "liga=1", "clig=1", "c2sc=1", "smcp=1";
    -moz-font-feature-settings: "liga" 1, "clig" 1, "c2sc" 1, "smcp" 1;
    -ms-font-feature-settings: "liga" 1, "clig" 1, "c2sc" 1, "smcp" 1;
    -o-font-feature-settings: "liga" 1, "clig" 1, "c2sc" 1, "smcp" 1;
    -webkit-font-feature-settings: "liga" 1, "clig" 1, "c2sc" 1, "smcp" 1;
    font-feature-settings: "liga" 1, "clig" 1, "c2sc" 1, "smcp" 1; } }

@supports (font-feature-settings: "smcp") {
  h3 {
    font-size: 1.15em;
    font-variant: normal;
    -moz-font-feature-settings: "liga=1", "clig=1", "smcp=1";
    -moz-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
    -ms-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
    -o-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
    -webkit-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
    font-feature-settings: "liga" 1, "clig" 1, "smcp" 1; } }

/*
Activate this if browsers stupidly stop supporting font-feature-settings for setting all-small-caps.
@supports (font-variant-caps: all-small-caps) {
  .abbrev {
    font-variant: normal;
    font-variant-caps: all-small-caps;
  }
}
write same for h3.
*/
/* A partial list of class names generated by asciidoctor. */
.paragraph + .paragraph,
.exampleblock + .paragraph,
.listingblock + .paragraph,
.quoteblock + .paragraph,
.imageblock + .paragraph,
.olist + .paragraph,
.ulist + .paragraph,
.dlist + .paragraph,
blockquote + .paragraph {
  margin-top: 1.6rem; }

.stretch {
  width: 100%; }

/*
.sect1 {
}
.sect1:last-child {
}
.sect1+.sect1 {
}
*/
.text-center {
  text-align: center; }

.quoteblock {
  margin: 0.95rem 0 0 0.8rem;
  display: table; }

.quoteblock .paragraph {
  margin-bottom: 0; }

.quoteblock:not(.excerpt) > .title {
  margin-left: -1.5rem;
  margin-bottom: .75rem; }

/* See also chrome font fix above */
.quoteblock blockquote, .quoteblock p {
  color: #111;
  font-style: italic; }

@media only screen and (min-width: 768px) {
  blockquote {
    padding-left: 1rem; }
  .quoteblock {
    margin-left: 1.4rem;
    margin-right: 1.4rem; }
  .quoteblock blockquote, .quoteblock p {
    font-size: 102%;
    letter-spacing: .0075em; } }

.quoteblock blockquote {
  margin: 0 .7rem;
  border: 0;
  padding: 0; }

.quoteblock blockquote::before {
  content: "\201c";
  float: left;
  font-size: 2.25em;
  font-weight: bold;
  line-height: .6;
  padding-top: .24rem;
  margin-left: -0.72em;
  color: #373737;
  text-shadow: 0 1px 2px #aaa; }

.quoteblock blockquote > .paragraph:last-child p {
  margin-bottom: 0; }

blockquote .attribution,
.quoteblock .attribution {
  font-size: .95em;
  text-align: right;
  -moz-font-feature-settings: "liga=1", "clig=1", "smcp=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
  font-feature-settings: "liga" 1, "clig" 1, "smcp" 1;
  font-variant: common-ligatures small-caps; }

blockquote .attribution {
  margin: 0 .8rem 0 .2rem;
  font-style: normal;
  -moz-font-feature-settings: "liga=1", "clig=1", "onum=1", "pnum=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  font-feature-settings: "liga" 1, "clig" 1, "onum" 1, "pnum" 1;
  font-variant: common-ligatures oldstyle-nums proportional-nums; }

.quoteblock .attribution {
  margin: 0 .8rem 0 .2rem; }

.verseblock pre {
  font-family: "Source Serif Pro", "Georgia", serif;
  font-size: .9em;
  border-left: 2px solid #c0c0c0;
  padding-left: .5rem;
  margin-left: 1rem;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem; }

.verseblock .attribution {
  margin-top: .2rem;
  margin-left: 1.5rem;
  font-size: 1em;
  font-style: italic;
  line-height: 1.4; }

blockquote .attribution br,
.quoteblock .attribution br,
.verseblock .attribution br {
  display: none; }

blockquote .attribution cite,
.quoteblock .attribution cite,
.verseblock .attribution cite {
  display: block;
  letter-spacing: -.025em;
  color: #666;
  line-height: 1.4;
  margin-top: 0;
  -moz-font-feature-settings: "liga=1", "clig=1", "liga 1=1", "clig 1=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  font-feature-settings: "liga" 1, "clig" 1, "liga 1" 1, "clig 1" 1;
  font-variant: common-ligatures lining-nums; }

blockquote .attribution cite {
  font-style: normal; }

.quoteblock.abstract blockquote::before,
.quoteblock.excerpt blockquote::before,
.quoteblock .quoteblock blockquote::before {
  display: none; }

.quoteblock.abstract blockquote,
.quoteblock.abstract p,
.quoteblock.excerpt blockquote,
.quoteblock.excerpt p,
.quoteblock .quoteblock blockquote,
.quoteblock .quoteblock p {
  line-height: 1.75; }

.quoteblock.abstract {
  margin: 0 1rem 1.25rem;
  display: block; }

.quoteblock.abstract > .title {
  margin: 0 0 .375rem;
  font-size: 1.15em;
  text-align: center; }

.quoteblock.excerpt > blockquote,
.quoteblock .quoteblock {
  padding: 0 0 .25rem 1rem;
  border-left: .25em solid #dddddf; }

.quoteblock.excerpt,
.quoteblock .quoteblock {
  margin-left: 0; }

.quoteblock.excerpt blockquote,
.quoteblock.excerpt p,
.quoteblock .quoteblock blockquote,
.quoteblock .quoteblock p {
  color: inherit;
  font-size: 1.0625rem; }

.quoteblock.excerpt .attribution,
.quoteblock .quoteblock .attribution {
  color: inherit;
  text-align: left;
  margin-right: 0; }

.tableblock {
  margin-top: 1.6rem; }

/*
table.tableblock.fit-content>caption.title {
 white-space:nowrap;
 width:0
}*/
table.tableblock > .title,
.olist > .title,
.ulist > .title,
.listingblock > .title,
.exampleblock > .title,
.imageblock > .title,
.literalblock > .title,
.verseblock > .title,
.paragraph > .title {
  color: #7a2518;
  font-size: 1.05rem;
  font-style: italic; }

/* Titles appear ABOVE its relevant content */
table.tableblock > .title,
.olist > .title,
.ulist > .title,
.listingblock > .title {
  margin-top: 1.6rem;
  margin-bottom: 0.4rem; }

/* Titles appear BELOW its relevant content */
.imageblock > .title {
  margin-top: 0.4rem; }

/*
The hover is not working yet. Try to see what's wrong later.
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#000}
.listingblock:hover code[data-lang]::before{display:block}
put in print css 
.listingblock code[data-lang]::before{display:block}
*/
.listingblock,
.exampleblock {
  margin-top: 1.6rem; }

.paragraph > .title {
  margin-bottom: 0.4rem; }

.imageblock {
  margin-top: 2.4rem; }

.ulist ul,
.olist ol {
  padding-left: 1.05em; }

.ulist ul {
  list-style-type: none; }

.ulist li {
  position: relative;
  /* needed for setting position to absolute in li:before */ }

.ulist li::before {
  content: "\2022";
  position: absolute;
  display: block;
  color: #282828;
  left: -18px;
  top: -4px;
  font-size: 1.25rem; }

.ulist ul:first-child,
.olist ol:first-child {
  margin-top: 0.8rem; }

.olist li::marker {
  -moz-font-feature-settings: "liga=1", "clig=1", "tnum=1", "lnum=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  font-variant: common-ligatures tabular-nums lining-nums; }

.olist p,
.ulist p {
  margin-top: 0.4rem;
  padding-left: 0.4em; }

.olist div.paragraph,
.ulist div.paragraph {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem; }

.ulist > ul > li:first-child > :first-child,
.olist > ol > li:first-child > :first-child {
  margin-top: 0; }

.ulist > ul > li:last-child > :last-child,
.olist > ol > li:last-child > :last-child {
  margin-bottom: 0; }

.paragraph + .ulist,
.paragraph + .olist {
  margin-top: 1.6rem; }

.dlist {
  margin-top: 1.6rem; }

.dlist div.paragraph {
  margin-top: 1.6rem; }

#footnotes :target {
  background-color: #e0e6ed;
  -webkit-transition: all 2s;
  -moz-transition: all 2s;
  -o-transition: all 2s;
  transition: all 2s; }

#footnotes hr:before {
  content: "\2022\a0\a0\a0\a0\a0\a0\2022\a0\a0\a0\a0\a0\a0\2022"; }

#footnotes hr {
  position: relative;
  border-width: 0px;
  text-align: center;
  font-size: .8rem;
  line-height: 1;
  color: #333;
  margin: 2.4rem 0; }

#footnotes {
  margin-top: 2.4rem; }

#footnotes .footnote {
  padding: .01em 0;
  margin: 0 0 .8em 1.5em;
  line-height: 1.5;
  font-size: 0.875rem; }

@media only screen and (min-width: 768px) {
  #footnotes .footnote {
    padding: .02em .25em;
    margin: 0 0 .6em 3em; }
  /*#footnotes + .page-meta-footer {
    padding: .6rem 0 0 .75rem;
  }*/ }

#footnotes .footnote a:first-of-type {
  margin-left: -1em;
  -moz-font-feature-settings: "liga=1", "clig=1", "tnum=1", "lnum=1";
  -moz-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  -ms-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  -o-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  -webkit-font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  font-feature-settings: "liga" 1, "clig" 1, "tnum" 1, "lnum" 1;
  font-variant: common-ligatures tabular-nums lining-nums; }

/*#footnotes .footnote a:first-of-type:hover {
}
*/
#footnotes .footnote:last-of-type {
  margin-bottom: 0; }

.admonitionblock > table {
  border-collapse: separate;
  border: 0;
  background: none;
  margin: 1.6rem 0; }

.admonitionblock > table td.icon {
  text-align: center;
  width: 3em; }

@media only screen and (min-width: 768px) {
  .admonitionblock > table td.icon {
    width: 4em; } }

.admonitionblock > table td.icon img {
  max-width: none; }

.admonitionblock > table td.icon .title {
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: .9em;
  padding-right: .5em; }

.admonitionblock > table td.content {
  padding: 0 .5em;
  border-left: 1px solid #c0c0c0;
  color: #555; }

@media only screen and (min-width: 600px) {
  .admonitionblock > table td.icon .title {
    padding-right: 1em; }
  .admonitionblock > table td.content {
    padding: 0 1em; } }

.admonitionblock > table td.content > :last-child > :last-child {
  margin-bottom: 0; }

/* Icons */
.admonitionblock td.icon [class^="fa icon-"] {
  font-size: 1.8em;
  text-shadow: 1px 1px 2px #aaa;
  cursor: default;
  font-style: normal; }

@media only screen and (min-width: 768px) {
  .admonitionblock td.icon [class^="fa icon-"] {
    font-size: 2em; } }

.admonitionblock td.icon .icon-note::before {
  content: "\f05a";
  color: #19407c; }

.admonitionblock td.icon .icon-tip::before {
  content: "\f0eb";
  text-shadow: 1px 1px 2px #bbb;
  color: #333; }

.admonitionblock td.icon .icon-warning::before {
  content: "\f071";
  color: #b20000; }

.admonitionblock td.icon .icon-caution::before {
  content: "\f06d";
  color: #bf3400; }

.admonitionblock td.icon .icon-important::before {
  content: "\f06a";
  color: #c56d00; }

.conum[data-value] {
  display: inline-block;
  color: #fff;
  background: #474747;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  text-align: center;
  vertical-align: center;
  font-size: .75em;
  width: 1.67em;
  height: 1.67em;
  line-height: 1.55;
  font-style: normal;
  font-weight: bold;
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif; }

.conum[data-value] * {
  color: #fff; }

.conum[data-value] + b {
  display: none; }

.conum[data-value]::after {
  content: attr(data-value); }

pre .conum[data-value] {
  position: relative;
  top: -.125em; }

b.conum * {
  color: inherit; }

.conum:not([data-value]):empty {
  display: none; }

.colist > table {
  border: 0;
  background: none;
  font-size: 1em; }

.colist > table > tbody > tr {
  background: none; }

.listingblock + .colist {
  margin-top: -0.8rem;
  margin-bottom: 1.6rem; }

.colist td:not([class]):first-child {
  padding: .3em .5em 0 1em;
  line-height: 1;
  vertical-align: top; }

.colist td:not([class]):first-child img {
  max-width: none; }

.colist td:not([class]):last-child {
  padding-bottom: 0.8rem; }

.colist {
  padding-top: 1.6rem; }

table.tableblock,
th.tableblock,
td.tableblock {
  border: 0 solid #ccc;
  /* combines with frame-all to 1 when needed */
  border-spacing: 0; }

.tableblock table {
  max-width: 100%;
  margin-bottom: 1.25em;
  border-collapse: collapse;
  display: table-header-group; }

.tableblock thead,
.tableblock tfoot {
  background: #efefef; }

.tableblock tr th,
.tableblock tr td {
  padding: .5em;
  font-size: inherit;
  color: #333; }

/*Body.*/
.tableblock tbody tr td,
.tableblock tr td {
  display: table-cell;
  color: #333; }

/*Header/footer.*/
.tableblock thead tr th,
.tableblock thead tr td,
.tableblock tfoot tr th,
.tableblock tfoot tr td {
  display: table-cell;
  font-size: inherit;
  color: #333;
  text-align: left; }

p.tableblock:last-child {
  margin: 0; }

td.tableblock > .content > :last-child {
  margin-bottom: -1.25em; }

td.tableblock > .content > :last-child.sidebarblock {
  margin-bottom: 0; }

table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock {
  border-width: 0 1px 1px 0; }

table.grid-all > tfoot > tr > .tableblock {
  border-width: 1px 1px 0 0; }

table.grid-cols > * > tr > .tableblock {
  border-width: 0 1px 0 0; }

table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock {
  border-width: 0 0 1px; }

table.grid-rows > tfoot > tr > .tableblock {
  border-width: 1px 0 0; }

table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child {
  border-right-width: 0; }

table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock {
  border-bottom-width: 0; }

table.frame-all {
  border-width: 1px; }

table.frame-sides {
  border-width: 0 1px; }

table.frame-topbot, table.frame-ends {
  border-width: 1px 0; }

table.stripes-all tr,
table.stripes-odd tr:nth-of-type(odd),
table.stripes-even tr:nth-of-type(even),
table.stripes-hover tbody tr:hover {
  background: #f3f3f3; }

th.halign-left, td.halign-left {
  text-align: left; }

th.halign-right, td.halign-right {
  text-align: right; }

th.halign-center, td.halign-center {
  text-align: center; }

th.valign-top, td.valign-top {
  vertical-align: top; }

th.valign-bottom, td.valign-bottom {
  vertical-align: bottom; }

th.valign-middle, td.valign-middl e {
  vertical-align: middle; }

.sidebarblock {
  margin: 1.6rem 0;
  padding: 0.64rem 1rem 0.8rem 1rem;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  border: 1px solid #eaeaea;
  background-color: #edf0f6; }

@media only screen and (min-width: 768px) {
  .sidebarblock {
    margin: 1.6rem 1rem; } }

.sidebarblock > :first-child {
  margin-top: 0; }

.sidebarblock > :last-child {
  margin-bottom: 0; }

/* See also chrome font fix above */
.sidebarblock > .content > .title {
  font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Asap", sans-serif;
  font-size: 1.25em;
  color: #111;
  font-weight: normal;
  margin-bottom: .2em;
  text-align: center; }

.keyseq {
  color: #333; }

.keyseq kbd:first-child {
  margin-left: 0; }

.keyseq kbd:last-child {
  margin-right: 0; }

/* Class names I inject into asciidoc for more control. */
/*.emp {
Use this to style emphasize text if needed, but not affect other italics like title names.
}*/
.imgborder-light img {
  border: 2px solid #bbb; }

.imgborder img {
  border: 2px solid #666; }

.imgborder-thin img {
  border: 1px solid #c0c0c0; }

.img-center img {
  margin: auto; }

.img-border-radius-10 img {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

.img-border-radius-5 img {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px; }

.img-min-width-300 img {
  min-width: 300px; }

.imgscale-100 img,
.imgscale-90 img,
.imgscale-80 img,
.imgscale-70 img {
  display: block;
  height: auto;
  max-width: 100%;
  max-width: MIN(37rem, calc(100vw - (2 * 1rem)));
  /* MIN in uppercase to not conflict with scss' min(). */ }

@media only screen and (min-width: 540px) {
  .imgscale-90 img {
    max-width: 90%; }
  .imgscale-80 img {
    max-width: 80%; }
  .imgscale-70 img {
    max-width: 70%; } }

code.nodecor-tt {
  background-color: transparent;
  padding: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0; }

/* Chrome font rendering is terribly light. */
@supports (-webkit-appearance: none) and (not (overflow: -webkit-marquee)) and (not (-ms-ime-align: auto)) and (not (-moz-appearance: none)) {
  body, h1, h2, h3, h4, h5, h6,
  .quoteblock blockquote, .quoteblock p,
  .sidebarblock > .content > .title {
    /* It's safer to play with color than -webkit-text-stroke-width: .1px */
    color: #000; } }
/* try this bg color: f7f6f2 */
/*#eeece7;*/
/* when small-caps not supported */
/* Ramshankar's syntax highlighting theme inspired by BeIDE/Codewarrior. */
.highlight > code {
  background-color: #f2f2f2; }

.highlight .hll {
  background-color: #ffffcc; }

/* Highlight line? */
.highlight .o {
  color: #111; }

/* Operator */
.highlight .err {
  color: #a61717;
  background-color: #e3d2d2; }

/* Error */
.highlight .c {
  color: #007700; }

/* Comment */
.highlight .cm {
  color: #007700; }

/* Comment.Multiline */
.highlight .cp {
  color: #007700; }

/* Comment.Preproc */
.highlight .c1 {
  color: #007700; }

/* Comment.Single */
.highlight .cs {
  color: #007700; }

/* Comment.Special */
.highlight .gd {
  background-color: #ffcccc;
  border: 1px solid #cc0000; }

/* Generic.Deleted */
.highlight .ge {
  font-style: italic; }

/* Generic.Emph */
.highlight .gr {
  color: #dd0111; }

/* Generic.Error */
.highlight .gh {
  color: #003300; }

/* Generic.Heading */
.highlight .gi {
  background-color: #ccffcc;
  border: 1px solid #00cc00; }

/* Generic.Inserted */
.highlight .go {
  color: #111; }

/* Generic.Output */
.highlight .gp {
  color: #111; }

/* Generic.Prompt */
/* Generic.Strong */
.highlight .gu {
  color: #003300; }

/* Generic.Subheading */
.highlight .gt {
  color: #99cc66; }

/* Generic.Traceback */
.highlight .k {
  color: #0040d7; }

/* Keyword */
.highlight .kc {
  color: #0040d7; }

/* Keyword.Constant */
.highlight .kd {
  color: #0040d7; }

/* Keyword.Declaration */
.highlight .kn {
  color: #0040d7; }

/* Keyword.Namespace */
.highlight .kp {
  color: #0040d7; }

/* Keyword.Pseudo */
.highlight .kr {
  color: #0040d7; }

/* Keyword.Reserved */
.highlight .kt {
  color: #2b91af; }

/* Keyword.Type */
.highlight .m {
  color: #b75d00; }

/* Literal.Number */
.highlight .s {
  color: #9a0111; }

/* Literal.String */
.highlight .n {
  color: #111; }

/* Name.Generic */
.highlight .na {
  color: #4f9fcf; }

/* Name.Attribute */
.highlight .nb {
  color: #111; }

/* Name.Builtin */
.highlight .nc {
  color: #00aa88; }

/* Name.Class */
.highlight .no {
  color: #336600; }

/* Name.Constant */
.highlight .nd {
  color: #7676ff; }

/* Name.Decorator */
.highlight .ni {
  color: #999999; }

/* Name.Entity */
.highlight .ne {
  color: #cc0111; }

/* Name.Exception */
.highlight .nf {
  color: #111; }

/* Name.Function */
.highlight .nl {
  color: #905eff; }

/* Name.Label */
.highlight .nn {
  color: #2588ba; }

/* Name.Namespace */
.highlight .nt {
  color: #102eef; }

/* Name.Tag */
.highlight .nv {
  color: #111; }

/* Name.Variable */
.highlight .ow {
  color: #111; }

/* Operator.Word */
.highlight .w {
  color: #bbbbbb; }

/* Text.Whitespace */
.highlight .mf {
  color: #c86600; }

/* Literal.Number.Float */
.highlight .mh {
  color: #c86600; }

/* Literal.Number.Hex */
.highlight .mi {
  color: #c86600; }

/* Literal.Number.Integer */
.highlight .mo {
  color: #c86600; }

/* Literal.Number.Oct */
.highlight .il {
  color: #c86600; }

/* Literal.Number.Integer.Long */
.highlight .sb {
  color: #9a0111; }

/* Literal.String.Backtick */
.highlight .sc {
  color: #c86600; }

/* Literal.String.Char */
.highlight .sd {
  color: #9a0111; }

/* Literal.String.Doc */
.highlight .s2 {
  color: #9a0111; }

/* Literal.String.Double */
.highlight .se {
  color: #9a0111; }

/* Literal.String.Escape */
.highlight .sh {
  color: #9a0111; }

/* Literal.String.Heredoc */
.highlight .si {
  color: #9a0111; }

/* Literal.String.Interpol */
.highlight .sx {
  color: #9a0111; }

/* Literal.String.Other */
.highlight .sr {
  color: #9a0111; }

/* Literal.String.Regex */
.highlight .s1 {
  color: #9a0111; }

/* Literal.String.Single */
.highlight .ss {
  color: #9a0111; }

/* Literal.String.Symbol */
.highlight .bp {
  color: #336666; }

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #003333; }

/* Name.Variable.Class */
.highlight .vg {
  color: #003333; }

/* Name.Variable.Global */
.highlight .vi {
  color: #003333; }

/* Name.Variable.Instance */
.highlight .css .o,
.highlight .css .o + .nt,
.highlight .css .nt + .nt {
  color: #111; }
@media only print {
  .mainheader {
    display: none !important;
  }
  .maincontent {
    display: initial;
    width: 100%;
    margin: 0 auto;
    float: none;
  }
  .maincontainer {
    display: initial;
    width: 100%;
    padding-left:  2rem;
    padding-right: 2rem;
    margin: 0 auto;
    float: none;
  }
  .sidebar {
    display: none !important;
  }
  a[href]:after {
    content: " (" attr(href) ") ";
  }
}

﻿/*!
 * Font Awesome Free 5.12.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * For all icons refer: https://github.com/FortAwesome/Font-Awesome/blob/master/css/all.css
 */
.fa, .fas, .far, .fal, .fad, .fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
.faicon {
  padding: 0 .6em 0 0;
  font-size: .95em;
}
.faicon-small {
  padding: 0 .6em 0 0;
  font-size: .9em;
}
.faicon-large {
  font-size: 1.65em;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-calendar-alt:before {
  content: "\f073"; }
.fa-user:before {
  content: "\f007"; }
.fa-folder:before {
  content: "\f07b"; }
.fa-folder-open:before {
  content: "\f07c"; }
.fa-tags:before {
  content: "\f02c"; }
.fa-twitter:before {
  content: "\f099"; }
.fa-facebook:before {
  content: "\f09a"; }
.fa-reddit:before {
  content: "\f1a1"; }
.fa-envelope:before {
  content: "\f0e0"; }
.fa-linkedin:before {
  content: "\f08c"; }
.fa-pinterest:before {
  content: "\f0d2"; }
.fa-bug:before {
  content: "\f188"; }
/* NOTE */
.fa-info-circle:before {
  content: "\f05a"; }
/* IMPORTANT*/
.fa-exclamation-circle:before {
  content: "\f06a"; }
/* CAUTION */
.fa-fire:before {
  content: "\f06d"; }
/* WARNING */
.fa-exclamation-triangle:before {
  content: "\f071"; }
/* TIP */
.fa-lightbulb:before {
  content: "\f0eb"; }
.fa-bitbucket:before {
  content: "\f171";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-file:before {
  content: "\f15b";
}
.fa-copyright:before {
  content: "\f1f9";
}

@font-face {
  font-family: 'Font Awesome 5 Brands';
  src: url("../fonts/fa/fa-brands-400.eot");
  src: url("../fonts/fa/fa-brands-400.eot?#iefix") format("embedded-opentype"),
       url("../fonts/fa/fa-brands-400.woff2") format("woff2"),
       url("../fonts/fa/fa-brands-400.woff") format("woff"),
       url("../fonts/fa/fa-brands-400.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}
.fab {
  font-family: 'Font Awesome 5 Brands';
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  src: url("../fonts/fa/fa-regular-400.eot");
  src: url("../fonts/fa/fa-regular-400.eot?#iefix") format("embedded-opentype"),
       url("../fonts/fa/fa-regular-400.woff2") format("woff2"),
       url("../fonts/fa/fa-regular-400.woff") format("woff"),
       url("../fonts/fa/fa-regular-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  src: url("../fonts/fa/fa-solid-900.eot");
  src: url("../fonts/fa/fa-solid-900.eot?#iefix") format("embedded-opentype"),
       url("../fonts/fa/fa-solid-900.woff2") format("woff2"),
       url("../fonts/fa/fa-solid-900.woff") format("woff"),
       url("../fonts/fa/fa-solid-900.ttf") format("truetype");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}
.fa,
.fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

