
/*!
 *  __  __                __                                     __
 * /\ \/\ \              /\ \             __                    /\ \
 * \ \ \_\ \   __  __    \_\ \      __   /\_\      __       ___ \ \ \/'\
 *  \ \  _  \ /\ \/\ \   /'_` \   /'__`\ \/\ \   /'__`\    /'___\\ \ , <
 *   \ \ \ \ \\ \ \_\ \ /\ \L\ \ /\  __/  \ \ \ /\ \L\.\_ /\ \__/ \ \ \\`\
 *    \ \_\ \_\\/`____ \\ \___,_\\ \____\ _\ \ \\ \__/.\_\\ \____\ \ \_\ \_\
 *     \/_/\/_/ `/___/> \\/__,_ / \/____//\ \_\ \\/__/\/_/ \/____/  \/_/\/_/
 *                 /\___/                \ \____/
 *                 \/__/                  \/___/
 *
 * Powered by Hydejack v6.6.1 <https://qwtel.com/hydejack/>
 */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }

@media print {
  a::after {
    content: " (" attr(href) ") ";
    font-size: smaller; } }
h1 + h2, .h1 + .h2, h1 + .h2, .h1 + h2,
h2 + h3, .h2 + .h3, h2 + .h3, .h2 + h3,
h3 + h4, .h3 + .h4, h3 + .h4, .h3 + h4,
h4 + h5, .h4 + .h5, h4 + .h5, .h4 + h5,
h5 + h6, .h5 + .h6, h5 + .h6, .h5 + h6 {
  margin-top: 0; }

dt {
  font-weight: bold; }

dd {
  margin-bottom: .5rem; }

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

blockquote {
  padding: .5rem 1rem;
  margin: .8rem 0;
  color: #7a7a7a;
  border-left: 0.25rem solid #e5e5e5; }
  blockquote.lead {
    font-size: 1.25rem;
    font-weight: 300;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    border-left-width: 0.4rem; }
  blockquote p:last-child {
    margin-bottom: 0; }

.faded, .read-more {
  color: #9a9a9a; }

.read-more {
  margin-top: 2rem; }
  .read-more::after {
    content: " \2192"; }

table.scroll-table {
  display: block;
  vertical-align: top;
  overflow-x: auto;
  white-space: nowrap;
  border: none;
  -webkit-overflow-scrolling: touch; }

table.flip-table {
  display: flex;
  overflow: hidden;
  background: none;
  border: none;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5; }
  table.flip-table thead {
    display: flex;
    flex-shrink: 0;
    min-width: min-content;
    margin-right: 1px; }
    table.flip-table thead th {
      padding-left: 1rem; }
  table.flip-table tbody {
    display: flex;
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border-top: none; }
  table.flip-table tr {
    display: flex;
    flex-direction: column;
    min-width: min-content;
    flex-shrink: 0; }
    table.flip-table tr td {
      border-left: none; }
    table.flip-table tr:first-child td {
      border-left: 1px solid #e5e5e5; }
    table.flip-table tr:last-child td {
      padding-right: 1rem;
      border-right: 1px solid #e5e5e5; }
  table.flip-table td, table.flip-table th {
    display: block;
    border-bottom: none; }
    table.flip-table td:first-child, table.flip-table th:first-child {
      padding-left: .5rem;
      border-top: none; }
    table.flip-table td:last-child, table.flip-table th:last-child {
      padding-right: .5rem; }

@media screen and (max-width: 72em) {
  table.scroll-table-small {
    display: block;
    vertical-align: top;
    overflow-x: auto;
    white-space: nowrap;
    border: none;
    -webkit-overflow-scrolling: touch; }

  table.flip-table-small {
    display: flex;
    overflow: hidden;
    background: none;
    border: none;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5; }
    table.flip-table-small thead {
      display: flex;
      flex-shrink: 0;
      min-width: min-content;
      margin-right: 1px; }
      table.flip-table-small thead th {
        padding-left: 1rem; }
    table.flip-table-small tbody {
      display: flex;
      position: relative;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      border-top: none; }
    table.flip-table-small tr {
      display: flex;
      flex-direction: column;
      min-width: min-content;
      flex-shrink: 0; }
      table.flip-table-small tr td {
        border-left: none; }
      table.flip-table-small tr:first-child td {
        border-left: 1px solid #e5e5e5; }
      table.flip-table-small tr:last-child td {
        padding-right: 1rem;
        border-right: 1px solid #e5e5e5; }
    table.flip-table-small td, table.flip-table-small th {
      display: block;
      border-bottom: none; }
      table.flip-table-small td:first-child, table.flip-table-small th:first-child {
        padding-left: .5rem;
        border-top: none; }
      table.flip-table-small td:last-child, table.flip-table-small th:last-child {
        padding-right: .5rem; } }
a[href^="#fn:"],
a[href^="#fnref:"] {
  margin-left: .1rem;
  font-weight: bold; }

sup {
  line-height: 1; }

.footnotes {
  margin-top: 3rem; }
  .footnotes > ol {
    color: #7a7a7a; }
  .footnotes::before {
    content: "";
    display: block;
    margin: 1.5rem 0;
    border: 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #fff; }

code, pre {
  font-family: Menlo, Monaco, Consolas, monospace; }

code {
  padding: .25em .5em;
  font-size: .85em;
  background-color: rgba(0, 0, 0, 0.03); }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  display: block;
  line-height: 1.1;
  /* Prevent code linebreaks and allow side-scrolling (much better readability on mobile) */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* Make code same width as regular text, and scroll the full page width on mobile */
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 1rem;
  background-color: #f9f9f9;
  backface-visibility: hidden; }

pre code {
  padding: 0;
  color: inherit;
  background-color: transparent; }

figure, .figure {
  margin-left: 0;
  margin-right: 0; }
  figure > *:first-child, .figure > *:first-child {
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.05); }
  figure > figcaption, figure > .figcaption, .figure > figcaption, .figure > .figcaption {
    font-size: smaller;
    color: #9a9a9a;
    text-align: center;
    font-style: italic;
    margin-top: 0.5rem;
    padding: 0 1rem; }

.highlight {
  margin-bottom: 1rem; }

hr.dingbat {
  border: 0; }

hr.dingbat::after {
  content: "\2756";
  display: block;
  text-align: center;
  font-size: 1.5rem;
  color: #ddd; }

.pagination {
  margin: 0 -1.5rem 1rem;
  color: #ccc;
  text-align: center;
  margin-left: -1rem;
  margin-right: -1rem; }
  .pagination > ul {
    list-style: none;
    padding: 0; }

.pagination-item > * {
  display: block;
  padding: .25rem 1rem;
  border: solid #eee;
  border-width: 1px 0; }
.pagination-item > a, .pagination-item > a:hover, .pagination-item > a:focus {
  border-color: #eee !important; }
.pagination-item:first-child > * {
  margin-bottom: -1px; }
.pagination-item > a:hover, .pagination-item a:focus {
  background-color: #f5f5f5;
  border-bottom: 1px solid #eee; }

@media (min-width: 23.5em) {
  .pagination {
    margin: 3rem 0; }

  .pagination-item > * {
    float: left;
    width: 50%;
    border-width: 1px; }
  .pagination-item:first-child > * {
    margin-bottom: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .pagination-item:last-child > * {
    margin-left: -1px;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem; } }
/*
 * Global resets
 *
 * Update the foundational and global aspects of the page.
 */
body, main {
  /* Prevent side-scrolling on mobile */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

@media print {
  html {
    font-size: 16px; } }
.sr-only {
  display: unset;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

a, .a {
  transition: color 500ms, border-color 250ms; }
  a:hover, a:focus, .a:hover, .a:focus {
    text-decoration: none;
    transition: color 500ms, border-color 50ms; }
  a.no-hover, .a.no-hover {
    border-bottom: none;
    padding-bottom: none;
    transition: none; }
    a.no-hover:hover, a.no-hover:focus, .a.no-hover:hover, .a.no-hover:focus {
      transition: none; }

.img {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTYwIiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTYwIDkwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMDQ4ODI4LCAwLCAwLCAwLjA0Nzk5MSwgNTQuOTk5OTczLCAyMC40MjgxNDgpIj4KICAgIDxwYXRoIGQ9Ik05NTkuODg0IDEyOGMwLjA0MCAwLjAzNCAwLjA4MiAwLjA3NiAwLjExNiAwLjExNnY3NjcuNzdjLTAuMDM0IDAuMDQwLTAuMDc2IDAuMDgyLTAuMTE2IDAuMTE2aC04OTUuNzdjLTAuMDQwLTAuMDM0LTAuMDgyLTAuMDc2LTAuMTE0LTAuMTE2di03NjcuNzcyYzAuMDM0LTAuMDQwIDAuMDc2LTAuMDgyIDAuMTE0LTAuMTE0aDg5NS43N3pNOTYwIDY0aC04OTZjLTM1LjIgMC02NCAyOC44LTY0IDY0djc2OGMwIDM1LjIgMjguOCA2NCA2NCA2NGg4OTZjMzUuMiAwIDY0LTI4LjggNjQtNjR2LTc2OGMwLTM1LjItMjguOC02NC02NC02NHYweiIgc3R5bGU9ImZpbGw6IHJnYigyMjEsIDIyMSwgMjIxKTsiLz4KICAgIDxwYXRoIGQ9Ik04MzIgMjg4YzAgNTMuMDIwLTQyLjk4IDk2LTk2IDk2cy05Ni00Mi45OC05Ni05NiA0Mi45OC05NiA5Ni05NiA5NiA0Mi45OCA5NiA5NnoiIHN0eWxlPSJmaWxsOiByZ2IoMjIxLCAyMjEsIDIyMSk7Ii8+CiAgICA8cGF0aCBkPSJNODk2IDgzMmgtNzY4di0xMjhsMjI0LTM4NCAyNTYgMzIwaDY0bDIyNC0xOTJ6IiBzdHlsZT0iZmlsbDogcmdiKDIyMSwgMjIxLCAyMjEpOyIvPgogIDwvZz4KPC9zdmc+"); }
  .img > img {
    object-fit: cover;
    object-position: center; }

.author {
  margin-top: 3rem; }

.sidebar {
  /* Sidebar links */ }
  .sidebar::before {
    /* make sidebar slightly darker to increase text readability (when using a background image) */
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#202020+0,202020+100&0+0,0.5+100 */
    background: -moz-linear-gradient(top, rgba(32, 32, 32, 0) 0%, rgba(32, 32, 32, 0.5) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(32, 32, 32, 0) 0%, rgba(32, 32, 32, 0.5) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(32, 32, 32, 0) 0%, rgba(32, 32, 32, 0.5) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00202020', endColorstr='#80202020',GradientType=0 );
    /* IE6-9 */ }
  .sidebar a:hover, .sidebar a:focus {
    border-bottom-color: #fff; }

@media print {
  .sidebar {
    page-break-inside: avoid; }

  .sidebar-nav, .sidebar-social {
    display: none; } }
@media screen {
  header, body::before {
    backface-visibility: hidden; } }
.sidebar-social > ul > li > a::after {
  display: none; }

article .katex-display, article div.MathJax_Preview {
  /* Prevent code linebreaks and allow side-scrolling (much better readability on mobile) */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 1rem;
  background-color: #f9f9f9;
  backface-visibility: hidden; }
article div.MathJax_Preview {
  font-family: Menlo, Monaco, Consolas, monospace;
  font-size: .75em;
  line-height: 1.45;
  white-space: pre;
  margin-bottom: 1rem; }
article span.MathJax_Preview {
  font-family: Menlo, Monaco, Consolas, monospace;
  padding: .25em .5em;
  font-size: .85em;
  background-color: rgba(0, 0, 0, 0.03); }

.MathJax_Preview:empty {
  display: none;
  visibility: hidden; }

/*
 * GitHub style for Pygments syntax highlighter, for use with Jekyll
 * Courtesy of GitHub.com
 */
.highlight .c {
  color: #999988;
  font-style: italic; }

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

.highlight .k {
  font-weight: bold; }

.highlight .o {
  font-weight: bold; }

.highlight .cm {
  color: #999988;
  font-style: italic; }

.highlight .cp {
  color: #999999;
  font-weight: bold; }

.highlight .c1 {
  color: #999988;
  font-style: italic; }

.highlight .cs {
  color: #999999;
  font-weight: bold;
  font-style: italic; }

.highlight .gd {
  color: #000000;
  background-color: #ffdddd; }

.highlight .gd .x {
  color: #000000;
  background-color: #ffaaaa; }

.highlight .ge {
  font-style: italic; }

.highlight .gr {
  color: #aa0000; }

.highlight .gh {
  color: #999999; }

.highlight .gi {
  color: #000000;
  background-color: #ddffdd; }

.highlight .gi .x {
  color: #000000;
  background-color: #aaffaa; }

.highlight .go {
  color: #888888; }

.highlight .gp {
  color: #555555; }

.highlight .gs {
  font-weight: bold; }

.highlight .gu {
  color: #800080;
  font-weight: bold; }

.highlight .gt {
  color: #aa0000; }

.highlight .kc {
  font-weight: bold; }

.highlight .kd {
  font-weight: bold; }

.highlight .kn {
  font-weight: bold; }

.highlight .kp {
  font-weight: bold; }

.highlight .kr {
  font-weight: bold; }

.highlight .kt {
  color: #445588;
  font-weight: bold; }

.highlight .m {
  color: #009999; }

.highlight .s {
  color: #dd1144; }

.highlight .n {
  color: #333333; }

.highlight .na {
  color: teal; }

.highlight .nb {
  color: #0086b3; }

.highlight .nc {
  color: #445588;
  font-weight: bold; }

.highlight .no {
  color: teal; }

.highlight .ni {
  color: purple; }

.highlight .ne {
  color: #990000;
  font-weight: bold; }

.highlight .nf {
  color: #990000;
  font-weight: bold; }

.highlight .nn {
  color: #555555; }

.highlight .nt {
  color: navy; }

.highlight .nv {
  color: teal; }

.highlight .ow {
  font-weight: bold; }

.highlight .w {
  color: #bbbbbb; }

.highlight .mf {
  color: #009999; }

.highlight .mh {
  color: #009999; }

.highlight .mi {
  color: #009999; }

.highlight .mo {
  color: #009999; }

.highlight .sb {
  color: #dd1144; }

.highlight .sc {
  color: #dd1144; }

.highlight .sd {
  color: #dd1144; }

.highlight .s2 {
  color: #dd1144; }

.highlight .se {
  color: #dd1144; }

.highlight .sh {
  color: #dd1144; }

.highlight .si {
  color: #dd1144; }

.highlight .sx {
  color: #dd1144; }

.highlight .sr {
  color: #009926; }

.highlight .s1 {
  color: #dd1144; }

.highlight .ss {
  color: #990073; }

.highlight .bp {
  color: #999999; }

.highlight .vc {
  color: teal; }

.highlight .vg {
  color: teal; }

.highlight .vi {
  color: teal; }

.highlight .il {
  color: #009999; }

.highlight .gc {
  color: #999;
  background-color: #EAF2F5; }

.sk-folding-cube {
  margin: 20px auto;
  width: 40px;
  height: 40px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg); }

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1); }

.sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #9a9a9a;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
  animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }

.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
  transform: scale(1.1) rotateZ(90deg); }

.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
  transform: scale(1.1) rotateZ(180deg); }

.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
  transform: scale(1.1) rotateZ(270deg); }

.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s; }

.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s; }

.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s; }

@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0; }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1; }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0; } }
@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0; }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1; }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0; } }
.wf-active {
  font-family: 'Noto Sans', Helvetica, Arial, sans-serif; }
  .wf-active h1, .wf-active h2, .wf-active h3, .wf-active h4, .wf-active h5, .wf-active h6, .wf-active .h1, .wf-active .h2, .wf-active .h3, .wf-active .h4, .wf-active .h5, .wf-active .h6, .wf-active .heading {
    font-family: 'Roboto Slab', Helvetica, Arial, sans-serif; }

@media screen {
  a[href*="//"]::after, a.no-push-state::after {
    content: "\00A0\ea7e";
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: smaller;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    opacity: 0.5; } }

