/*
* Designed, built, and released under MIT license by @mdo. Learn more at
 * https://github.com/poole/poole.
 */

/*
 * Body resets
 *
 * Update the foundational and global aspects of the page.
 */

:root{
    --emphasize-color: #b22501;
}

.emphasize {
    color: var( --emphasize-color);
}

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  color: #202020;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-variant-numeric: lining-nums;
}

/* No `:visited` state is required by default (browsers will use `a`) */
a {
  color: #268bd2;
  text-decoration: none;
}
a strong {
  color: inherit;
}
/* `:focus` is linked to `:hover` for basic accessibility */
a:hover,
a:focus {
  text-decoration: underline;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  margin-bottom: .5rem;
  font-weight: normal;
  line-height: 1.25;
  line-break: loose;
}
h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
  margin-top: 2rem;
  font-style: normal;
  font-weight: bold;
  letter-spacing: -1px;
}
h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  letter-spacing: -1px;
  font-style: italic;
}
h3 {
  margin-top: 1.5rem;
  margin-bottom: 1.0rem;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: bold;
}
h4, h5, h6 {
  margin-top: 1rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: bold;
}

/* Body text */
p {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Lists */
/*ul, ol, dl {
  margin-top: 0;
  margin-bottom: 1rem;
}*/

dt {
  font-weight: bold;
}
dd {
  margin-bottom: .5rem;
}

/* Misc */
hr {
  position: relative;
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #fff;
}

abbr {
  font-size: 85%;
  font-weight: bold;
  color: #555;
  text-transform: uppercase;
}
abbr[title] {
  cursor: help;
  border-bottom: 1px dotted #e5e5e5;
}

/* Code */
code,
pre,
tt {
    font-family: "Ubuntu Mono", monospace;
    font-size: 0.9;
}
code {
  /*padding: .25em .5em;*/
}
pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem;
  white-space: pre;
  white-space: pre-wrap;
  word-break: break-all;
  word-wrap: break-word;
}
pre code {
  padding: 0;
  font-size: 100%;
}

.toc-entry {
    font-size: 18px;
}

/* Gist via GitHub Pages */
.gist .gist-file {
  font-family: "Ubuntu Mono", monospace !important;
}
.gist .markdown-body {
  padding: 15px;
}
.gist pre {
  padding: 0;
  background-color: transparent;
}
.gist .gist-file .gist-data {
  font-size: .8rem !important;
  line-height: 1.4;
}
.gist code {
  padding: 0;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
}

/* Quotes */
blockquote {
    display: block;
    border-width: 2px 0;
    border-style: solid;
    border-color: #eee;
    padding: 1.0em 1em 0em;
    margin: 1.5em 2em;
    position: relative;
}

img {
  display: block;
  max-width: 100%;
  margin: 0 0 1rem;
  border-radius: 5px;
}

/* Tables */
table {
  margin-bottom: 1rem;
  width: 100%;
  border: 1px solid #e5e5e5;
  border-collapse: collapse;
}
td,
th {
  padding: .25rem .5rem;
  border: 1px solid #e5e5e5;
}
tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
  background-color: #f9f9f9;
}


/*
 * Custom type
 *
 * Extend paragraphs with `.lead` for larger introductory text.
 */

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}


/*
 * Messages
 *
 * Show alert messages to users. You may add it to single elements like a `<p>`,
 * or to a parent if there are multiple elements to show.
 */

.message {
  margin-bottom: 1rem;
  padding: 1rem;
  color: #717171;
  background-color: #f9f9f9;
}


/*
 * Container
 *
 * Center the page content.
 */

.container {
  max-width: 34rem;
  padding-left:  1rem;
  padding-right: 1rem;
  margin-left:  auto;
  margin-right: auto;
}


/*
 * Masthead
 *
 * Super small header above the content for site name and short description.
 */

.masthead {
  padding-top:    1rem;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
}
.masthead-title {
  margin-top: 0;
  margin-bottom: 0;
  color: #505050;
}
.masthead-title a {
  color: #505050;
}
.masthead-title small {
  font-size: 75%;
  font-weight: 400;
  color: #c0c0c0;
  letter-spacing: 0;
}


/*
 * Posts and pages
 *
 * Each post is wrapped in `.post` and is used on default and post layouts. Each
 * page is wrapped in `.page` and is only used on the page layout.
 */

.page,
.post {
  margin-top: 0em;
}

/* Blog post or page title */
.page-title,
.post-title,
.post-title a {
  color: #303030;
}

/* Meta data line below post title */
.post-date-and-author {
  display: block;
  margin-top: -.5rem;
  margin-bottom: 1rem;
  color: #9a9a9a;
}

.post-date-and-author a {
    color: #5a8fb5;
}

/* Related posts */
.related {
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #eee;
}
.related-posts {
  padding-left: 0;
  list-style: none;
}
.related-posts h3 {
  margin-top: 0;
}
.related-posts li small {
  font-size: 75%;
  color: #999;
}
.related-posts li a:hover {
  color: #268bd2;
  text-decoration: none;
}
.related-posts li a:hover small {
  color: inherit;
}


/*
 * Pagination
 *
 * Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
 * there are no more previous or next posts to show.
 */

.pagination {
  overflow: hidden; /* clearfix */
  margin-left: -1rem;
  margin-right: -1rem;
  color: #ccc;
  text-align: center;
}

/* Pagination items can be `span`s or `a`s */
.pagination-item {
  display: block;
  padding: 1rem;
  border: 1px solid #eee;
}
.pagination-item:first-child {
  margin-bottom: -1px;
}

/* Only provide a hover state for linked pagination items */
a.pagination-item:hover {
  background-color: #f5f5f5;
}

@media (min-width: 30em) {
  .pagination {
    margin: 3rem 0;
  }
  .pagination-item {
    float: left;
    width: 50%;
  }
  .pagination-item:first-child {
    margin-bottom: 0;
    border-top-left-radius:    4px;
    border-bottom-left-radius: 4px;
  }
  .pagination-item:last-child {
    margin-left: -1px;
    border-top-right-radius:    4px;
    border-bottom-right-radius: 4px;
  }
}


/*
 * Global resets
 *
 * Update the foundational and global aspects of the page.
 */

html {
    font-family: sans-serif;
    font-size: 20px;
    height: 100%;
}

.fonts-loaded-1 {
  font-family: "RosarioInitial", sans-serif;
  line-height: 1.4;
}

.fonts-loaded-2 {
    font-family: "Rosario", sans-serif;
    line-height: 1.4;
}

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.main {
    flex: 1 0 auto;
}


/*
 * Topbar.
 *
 */

.topbar, .bottombar {
    width: 100%;
    color: rgba(255,255,255,.5);
    background-color: #303030;
    font-size: 18px;
}

.topbar {
    width: 100%;
    text-align: left;
    padding: 0.5rem 1rem;
}

.bottombar {
    padding: 0.5rem 1rem;
    flex-shrink: 0;
}

.bottombar ul {
    column-count: 2;
    column-gap: 2rem;
}

.topbar a,
.bottombar a
{
    color: #fff;
    text-shadow: 1px 1px #000;
}

.cta {
    background-color: #f4f5fa;
    padding: 1em 2em;
    border-radius: 10px;
    border-color: #000;
    border-width: 1px;
    border-style: solid;
    box-shadow: 2px 2px #888;
}

.cta h3 {
    margin-top: 0em;
    margin-bottom: 1em;
    font-style: normal;
    font-weight: bold;
}

/* Container
 */

.graphviz svg {
    width: 100%;
}

.content {
    float: center;
    max-width: 34rem;
    margin-bottom: 4rem;
}

/* local styles */
  ul.share-buttons{
    list-style: none;
    padding: 0;
    text-align: center;
  }

  ul.share-buttons li{
      display: inline;
      list-style-type: none;
  }

  .PageNavigation {
    display: block;
    width: auto;
    overflow: hidden;
  }

  .PageNavigation span {
    display: block;
    width: 50%;
    float: left;
    margin: 1em 0;
  }

  .PageNavigation .next {
    text-align: right;
  }

  div.right-sidebar ul.share-buttons li {
      display: list-item;
      text-align: left;
  }

  @media(max-width: 64em) {
      div.right-sidebar {
          display: none;
      }
  }


/* ICONS */
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?w14wys');
  src: url('../fonts/icomoon.woff?w14wys') format('woff'),
      url('../fonts/icomoon.eot?w14wys#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?w14wys') format('truetype'),
    url('../fonts/icomoon.svg?w14wys#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

.icons-loaded {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-twitter-square:before {
  content: "\f081";
}
.icon-facebook-square:before {
  content: "\f082";
}
.icon-linkedin-square:before {
  content: "\f08c";
}
.icon-rss-square:before {
  content: "\f143";
}
.icon-reddit-square:before {
  content: "\f1a2";
}
.icon-hacker-news:before {
  content: "\f1d4";
}
.icon-y-combinator-square:before {
  content: "\f1d4";
}
.icon-yc-square:before {
  content: "\f1d4";
}

ul li {
    list-style-type: "➢  ";
}

/** Load the fonts **/

/* rosario-regular - latin */
@font-face {
  font-family: 'Rosario';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/rosario-v13-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Rosario'), local('Rosario-Regular'),
       url('../fonts/rosario-v13-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/rosario-v13-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/rosario-v13-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/rosario-v13-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/rosario-v13-latin-regular.svg#Rosario') format('svg'); /* Legacy iOS */
}

/* rosario-italic - latin */
@font-face {
  font-family: 'Rosario';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/rosario-v13-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Rosario Italic'), local('Rosario-Italic'),
       url('../fonts/rosario-v13-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/rosario-v13-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/rosario-v13-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/rosario-v13-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/rosario-v13-latin-italic.svg#Rosario') format('svg'); /* Legacy iOS */
}

/* Loaded initially, for flash of faux text. */
@font-face {
    font-family: 'RosarioInitial';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/rosario-v13-latin-regular.woff2') format('woff2');
}

/* rosario-700 - latin */
@font-face {
  font-family: 'Rosario';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/rosario-v13-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Rosario Bold'), local('Rosario-Bold'),
       url('../fonts/rosario-v13-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/rosario-v13-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/rosario-v13-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/rosario-v13-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/rosario-v13-latin-700.svg#Rosario') format('svg'); /* Legacy iOS */
}

/* ubuntu-mono-regular - latin */
@font-face {
    font-family: 'Ubuntu Mono';
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src: local('Ubuntu Mono'), local('UbuntuMono-Regular'),
         url('../fonts/ubuntu-mono-v8-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
         url('../fonts/ubuntu-mono-v8-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ubuntu-mono-700 - latin */
@font-face {
    font-family: 'Ubuntu Mono';
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src: local('Ubuntu Mono Bold'), local('UbuntuMono-Bold'),
         url('../fonts/ubuntu-mono-v8-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
         url('../fonts/ubuntu-mono-v8-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/** Syntax highlighting for code snippets **/
.highlight, .highlight pre, .highlight table { background: #1d1f21; color: #c5c8c6; }
.highlight .hll { background-color: #373b41; }
.highlight .c { color: #969896; } /* Comment */
.highlight .err { color: #cc6666; } /* Error */
.highlight .k { color: #b294bb; } /* Keyword */
.highlight .l { color: #de935f; } /* Literal */
.highlight .n, .highlight .h { color: #c5c8c6; } /* Name */
.highlight .o { color: #8abeb7; } /* Operator */
.highlight .p { color: #c5c8c6; } /* Punctuation */
.highlight .cm { color: #969896; } /* Comment.Multiline */
.highlight .cp { color: #969896; } /* Comment.Preproc */
.highlight .c1 { color: #969896; } /* Comment.Single */
.highlight .cs { color: #969896; } /* Comment.Special */
.highlight .gd { color: #cc6666; } /* Generic.Deleted */
.highlight .ge { font-style: italic; } /* Generic.Emph */
.highlight .gh { color: #c5c8c6; font-weight: bold; } /* Generic.Heading */
.highlight .gi { color: #b5bd68; } /* Generic.Inserted */
.highlight .gp { color: #969896; font-weight: bold; } /* Generic.Prompt */
.highlight .gs { font-weight: bold; } /* Generic.Strong */
.highlight .gu { color: #8abeb7; font-weight: bold; } /* Generic.Subheading */
.highlight .kc { color: #b294bb; } /* Keyword.Constant */
.highlight .kd { color: #b294bb; } /* Keyword.Declaration */
.highlight .kn { color: #8abeb7; } /* Keyword.Namespace */
.highlight .kp { color: #b294bb; } /* Keyword.Pseudo */
.highlight .kr { color: #b294bb; } /* Keyword.Reserved */
.highlight .kt { color: #f0c674; } /* Keyword.Type */
.highlight .ld { color: #b5bd68; } /* Literal.Date */
.highlight .m { color: #de935f; } /* Literal.Number */
.highlight .s { color: #b5bd68; } /* Literal.String */
.highlight .na { color: #81a2be; } /* Name.Attribute */
.highlight .nb { color: #c5c8c6; } /* Name.Builtin */
.highlight .nc { color: #f0c674; } /* Name.Class */
.highlight .no { color: #cc6666; } /* Name.Constant */
.highlight .nd { color: #8abeb7; } /* Name.Decorator */
.highlight .ni { color: #c5c8c6; } /* Name.Entity */
.highlight .ne { color: #cc6666; } /* Name.Exception */
.highlight .nf { color: #81a2be; } /* Name.Function */
.highlight .nl { color: #c5c8c6; } /* Name.Label */
.highlight .nn { color: #f0c674; } /* Name.Namespace */
.highlight .nx { color: #81a2be; } /* Name.Other */
.highlight .py { color: #c5c8c6; } /* Name.Property */
.highlight .nt { color: #8abeb7; } /* Name.Tag */
.highlight .nv { color: #cc6666; } /* Name.Variable */
.highlight .ow { color: #8abeb7; } /* Operator.Word */
.highlight .w { color: #c5c8c6; } /* Text.Whitespace */
.highlight .mf { color: #de935f; } /* Literal.Number.Float */
.highlight .mh { color: #de935f; } /* Literal.Number.Hex */
.highlight .mi { color: #de935f; } /* Literal.Number.Integer */
.highlight .mo { color: #de935f; } /* Literal.Number.Oct */
.highlight .sb { color: #b5bd68; } /* Literal.String.Backtick */
.highlight .sc { color: #c5c8c6; } /* Literal.String.Char */
.highlight .sd { color: #969896; } /* Literal.String.Doc */
.highlight .s2 { color: #b5bd68; } /* Literal.String.Double */
.highlight .se { color: #de935f; } /* Literal.String.Escape */
.highlight .sh { color: #b5bd68; } /* Literal.String.Heredoc */
.highlight .si { color: #de935f; } /* Literal.String.Interpol */
.highlight .sx { color: #b5bd68; } /* Literal.String.Other */
.highlight .sr { color: #b5bd68; } /* Literal.String.Regex */
.highlight .s1 { color: #b5bd68; } /* Literal.String.Single */
.highlight .ss { color: #b5bd68; } /* Literal.String.Symbol */
.highlight .bp { color: #c5c8c6; } /* Name.Builtin.Pseudo */
.highlight .vc { color: #cc6666; } /* Name.Variable.Class */
.highlight .vg { color: #cc6666; } /* Name.Variable.Global */
.highlight .vi { color: #cc6666; } /* Name.Variable.Instance */
.highlight .il { color: #de935f; } /* Literal.Number.Integer.Long */

.email-button {
    border-radius: 8px;
    background-color: #26d28b;
    color: black;
    padding: 1em 1.25em;
    text-decoration: none;
    font-weight: bold;
    font-variant-numeric: tabular-nums;
    box-shadow: 2px 2px;
}

.email-button:hover {
    background-color: #268bd2;
    cursor: pointer;
    text-decoration: none;
}

.email-button:active {
    box-shadow: none;
}

#mce-error-response, #mce-success-response {
    font-size: 1.25em;
    font-weight: bold;
    padding: 1em;
}

del {
    text-decoration: line-through double;
}

.buy-button-inline {
    display: block;
    border-radius: 8px;
    background-color: #eeeeee;
    padding: 0.5em 1.25em;
    margin: 1em 3em;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.3em;
    box-shadow: 4px 4px #bbbbbb;
}

.buy-button {
    display: block;
    border-radius: 8px;
    background-color: #eeeeee;
    padding: 1em 1.25em;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.3em;
    box-shadow: 4px 4px #bbbbbb;
}

.buy-button:hover, .buy-button-inline:hover {
    /*background-color: #b6ffdb; */
    cursor: pointer;
    /*text-decoration: none; */
}

.buy-button:active, .buy-button-inline:active {
    box-shadow: none;
}
