/* this is refusing to load for reasons beyond my patience
   to resolve:
   @import url(highlightjs/hybrid.min.css)
   so its contents are pasted in below.
*/

/* Style tweaks which are independent of the current site skin being
   used by the repository. This file should not attempt any major
   style surgery, as it may backfire with any given site skin. */

/**start default highlightjs theme **************************/
pre code.hljs {display: block;overflow-x: auto;padding: 1em;}
code.hljs {padding: 3px 5px;}
.hljs {background: #1d1f21; color: #c5c8c6;}
.hljs span::selection,.hljs::selection {background: #373b41;}
/*.hljs span::-moz-selection,.hljs::-moz-selection {background: #373b41;}*/
.hljs-name,.hljs-title {color: #f0c674;}
.hljs-comment,.hljs-meta,.hljs-meta .hljs-keyword {color: #707880;}
.hljs-deletion,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol {color: #c66;}
.hljs-addition,.hljs-doctag,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string {color: #b5bd68;}
.hljs-attribute,.hljs-code,.hljs-selector-id {color: #b294bb;}
.hljs-bullet,.hljs-keyword,.hljs-selector-tag,.hljs-tag {color: #81a2be;}
.hljs-subst,.hljs-template-tag,.hljs-template-variable,.hljs-variable {color: #8abeb7;}
.hljs-built_in,.hljs-quote,.hljs-section,.hljs-selector-class,.hljs-type {color: #de935f;}
.hljs-emphasis {font-style: italic;}
.hljs-strong {font-weight: 700;}
/**end default hilightjs theme ****************************************/
/* Local customizations... */
.hljs-comment {color: orangered}
.hljs-built_in {color: #81a2be}
.hljs-number {color: #81a2be}
.hljs-literal {color: #c66}
.hljs-string {color: #de935f}

/** start light-themed syntax highlighting... ********************/
/************************************
body:not(.fossil-dark-style) .hljs {color: #24292e;background: #fff;}
body:not(.fossil-dark-style) .hljs-doctag,
body:not(.fossil-dark-style) .hljs-keyword,
body:not(.fossil-dark-style) .hljs-meta .hljs-keyword,
body:not(.fossil-dark-style) .hljs-template-tag,
body:not(.fossil-dark-style) .hljs-template-variable,
body:not(.fossil-dark-style) .hljs-type,
body:not(.fossil-dark-style) .hljs-variable.language_ {color: #d73a49;}
body:not(.fossil-dark-style) .hljs-title,
body:not(.fossil-dark-style) .hljs-title.class_,
body:not(.fossil-dark-style) .hljs-title.class_.inherited__,
body:not(.fossil-dark-style) .hljs-title.function_ {color: #6f42c1;}
body:not(.fossil-dark-style) .hljs-attr,
body:not(.fossil-dark-style) .hljs-attribute,
body:not(.fossil-dark-style) .hljs-literal,
body:not(.fossil-dark-style) .hljs-meta,
body:not(.fossil-dark-style) .hljs-number,
body:not(.fossil-dark-style) .hljs-operator,
body:not(.fossil-dark-style) .hljs-selector-attr,
body:not(.fossil-dark-style) .hljs-selector-class,
body:not(.fossil-dark-style) .hljs-selector-id,
body:not(.fossil-dark-style) .hljs-variable {color: #005cc5;}
body:not(.fossil-dark-style) .hljs-meta .hljs-string,
body:not(.fossil-dark-style) .hljs-regexp,
body:not(.fossil-dark-style) .hljs-string {color: #032f62;}
body:not(.fossil-dark-style) .hljs-built_in,
body:not(.fossil-dark-style) .hljs-symbol {color: #e36209;}
body:not(.fossil-dark-style) .hljs-code,
body:not(.fossil-dark-style) .hljs-comment,
body:not(.fossil-dark-style) .hljs-formula {color: #6a737d;}
body:not(.fossil-dark-style) .hljs-name,
body:not(.fossil-dark-style) .hljs-quote,
body:not(.fossil-dark-style) .hljs-selector-pseudo,
body:not(.fossil-dark-style) .hljs-selector-tag {color: #22863a;}
body:not(.fossil-dark-style) .hljs-subst {color: #24292e;}
body:not(.fossil-dark-style) .hljs-section {color: #005cc5;font-weight: 700;}
body:not(.fossil-dark-style) .hljs-bullet {color: #735c0f;}
body:not(.fossil-dark-style) .hljs-emphasis {color: #24292e;font-style: italic;}
body:not(.fossil-dark-style) .hljs-strong {color: #24292e;font-weight: 700;}
body:not(.fossil-dark-style) .hljs-addition {color: #22863a;background-color: #f0fff4;}
body:not(.fossil-dark-style) .hljs-deletion {color: #b31d28;background-color: #ffeef0;}
************************************/

/*body:not(.fossil-dark-style) .hljs {background: #fbebd4;color: #84613d;}*/
/************************************
body:not(.fossil-dark-style) .hljs-comment,
body:not(.fossil-dark-style) .hljs-quote {color: #a57a4c;}
body:not(.fossil-dark-style) .hljs-meta,
body:not(.fossil-dark-style) .hljs-name,
body:not(.fossil-dark-style) .hljs-regexp,
body:not(.fossil-dark-style) .hljs-selector-class,
body:not(.fossil-dark-style) .hljs-selector-id,
body:not(.fossil-dark-style) .hljs-tag,
body:not(.fossil-dark-style) .hljs-template-variable,
body:not(.fossil-dark-style) .hljs-variable {color: #dc3958;}
body:not(.fossil-dark-style) .hljs-built_in,
body:not(.fossil-dark-style) .hljs-deletion,
body:not(.fossil-dark-style) .hljs-link,
body:not(.fossil-dark-style) .hljs-literal,
body:not(.fossil-dark-style) .hljs-number,
body:not(.fossil-dark-style) .hljs-params,
body:not(.fossil-dark-style) .hljs-type {color: #f79a32;}
body:not(.fossil-dark-style) .hljs-addition,
body:not(.fossil-dark-style) .hljs-bullet,
body:not(.fossil-dark-style) .hljs-string,
body:not(.fossil-dark-style) .hljs-symbol {color: #889b4a;}
body:not(.fossil-dark-style) .hljs-function,
body:not(.fossil-dark-style) .hljs-keyword,
body:not(.fossil-dark-style) .hljs-selector-tag {color: #98676a;}
body:not(.fossil-dark-style) .hljs-attribute,
body:not(.fossil-dark-style) .hljs-section,
body:not(.fossil-dark-style) .hljs-title {color: #f06431;}
body:not(.fossil-dark-style) .hljs-emphasis {font-style: italic;}
body:not(.fossil-dark-style) .hljs-strong {font-weight: 700;}
************************************/
/* Local customization: */
/*body:not(.fossil-dark-style) .hljs {
    background-color: #fbebd4;
    filter: invert(1);
}*/
/** end light-themed syntax highlighting. **********************/
/************************************************************************/

/**local customization for all hilightjs modes****************/
pre > code.hljs {
    padding: 0.5em 0.75em;
    border-radius: 0.25em;
}

code {
    border: 1px solid #77777755;
    border-radius: 0.2em;
    padding: 0.15em 0.25em;
}
pre > code {
    border: initial;
}

/************************************************************************
General /doc style tweaks to try to bring some sanity to the wildly
disparate skin styles.
 ************************************************************************/
.markdown blockquote {
    margin-left: 2em;
    margin-right: 2em;
}
.markdown pre {
    margin-left: 2em;
    margin-right: 2em;
    /*border: 1px inset rgba(200,200,200,0.5);*/
    /*border: 1px inset;*/
    padding: 0;
    border-style: solid;
    border-width: 1px;
    border-color: #77777760;
    border-radius: 0.30em;
}
.markdown pre > code:not(.hljs) {
    padding: 0;
    display: block;
    margin: 0.25em 0.5em;
}

.markdown blockquote > p {
    font-size: 0.9em;
    margin-left: 0;
    margin-right: 0;
}
/*.markdown h1, .markdown h2, .markdown h3, .markdown h4 {
    border-bottom: 1px solid;
    border-radius: 0.15em;
    padding-left: 0.25em;
    padding-right: 0.25em;
}*/

.markdown h5 { /* link at the top of each page to the central index. */
    font-size: 1em;
    /*border-left: 1px solid;
    border-right: 1px solid;
    border-radius: 0.15em;*/
}

code {
    padding: 0.1em 0.125em;
}

.mainmenu { /* overrides from main CSS */
  background: revert;
  border: revert;
  border-radius: revert;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  font-size: inherit;
}

#nav-links {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: stretch;
    background: #044a64;
    border-radius: 0.25em;
    border-style: none;
}

#nav-links > * {
    margin: 0.25em;
    border-radius: 0.25em;
    padding: 0.25em;
    text-align: center;
    flex: 1 1 auto;
    color: white;
}
#nav-links a {
  border: revert;
}
#nav-links a:hover {
  border: revert;
}
html.dark-mode #nav-links a,
html.dark-mode #nav-links a:hover,
html.dark-mode #nav-links a:visited,
html.dark-mode #nav-links a:visited:hover,
#nav-links > a:visited,
#nav-links > a:hover,
#nav-links > a:visited:hover{
  color: white;
  background-color: revert;
  text-decoration: none;
}
header > a.nav-logo {
  border: none;
  padding: 0.25em;
  text-align: center;
  flex: 0 1 auto;
}
header > a.nav-logo + span {
  font-weight: bold;
  font-size: 150%;
  padding-left: 0.5em;
}

#nav-links {
  position: sticky; top: 0;
  /* z-index must be high or else elements further down
     the page may scroll _over_ this one. */
  z-index: 1000;
}

header#header-logo {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header#header-logo img {
  border-radius: 0.25em;
}

body {
  margin-bottom: 2em
  /* Without this, reaching footnotes which contain hyperlinks
     can be tedious due to the browser popping a tooltip up over
     then */;
  font-size: 12pt;
}
body.doc > .content {
    padding-top: initial;
    font-size: inherit /* so that our headers inside and outside of
                          div.content have consistent sizes */;
}


body.doc h1 {font-size: 2em}
body.doc h2 {font-size: 1.75em}
body.doc h3 {font-size: 1.5em}
body.doc h4 {font-size: 1.25em}
body.doc h1 {margin-top: 1em;}
body.doc h2, body.doc h3, body.doc h4 { margin-top: 1.25em;}
body.doc > .content h1, body.doc > .content h2,
body.doc > .content h3, body.doc > .content h4 {
  font-size: revert;
  border-bottom: 1px dotted #707070cc;
  padding-bottom: 0.1em;
}
body.doc > h1:first-of-type {  /* top-most header on the page */
  margin-top: 0.25em;
}

*:not(pre) > code {
    padding: 0 0.2em;
}

/* Apply section numbers when rendering /doc pages using CSS counters,
   but only to pieces under ELEM.content. The site's header JS will
   add the disable-section-numbers CSS class to the BODY element
   in some cases to disable automatic section numbering. */
body.doc {
    counter-reset: h1 0;
}
body.doc h1, body.doc h2, body.doc h3, body.doc h4 {}
body.doc > .content {}


body.doc h1::before,
body.doc h2::before,
body.doc h3::before,
body.doc h4::before {
    background-color: #a5a5a570;
    margin-right: 0.5em;
    border-radius: 0.25em;
}
body.doc h1 {counter-reset: h2}
body.doc h1::before { counter-increment: h1; padding: 0 0.5em }
body.doc:not(.disable-section-numbers) h1::before {
    content: counter(h1);
}

body.doc h2 { counter-increment: h2; counter-reset: h3 }
body.doc h2::before { padding: 0 0.5em 0 1.75em; border-radius: 0.25em }
body.doc:not(.disable-section-numbers) h2::before {
    content: counter(h1) "." counter(h2);
}

body.doc h3 {
  counter-increment: h3;
  border-left-width: 2.5em;
  counter-reset: h4;
}
body.doc h3::before { padding: 0 0.5em 0 2.5em }
body.doc:not(.disable-section-numbers) h3::before {
    content: counter(h1) "." counter(h2) "." counter(h3);
}

body.doc h4::before { counter-increment: h4; padding: 0 0.5em 0 3.5em }
body.doc:not(.disable-section-numbers) h4::before {
    content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4);
}

body.doc ul > li {
    padding: 0.1em 0;
}
body.doc ul > li > p {
    padding: initial;
    margin: initial;
}

a.external {
  /*display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;*/
}

a:not(.nav-logo).external::after {
  content: "";
  display: inline-block;
  margin-left: 0.25em;
  font-size: 85%;
  min-width: 1em;
  max-width: 1em;
  min-height: 1em;
  max-height: 1em;
  background-image: url("data:image/svg+xml,%3Csvg \
viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath \
d='M1.5 3.5V14.5H12.5V10H14V15C14 15.5523 13.5523 16 13 16H1C0.447716 16 0 \
15.5523 0 15V3C0 2.44772 0.447715 2 1 2H6V3.5H1.5Z' \
fill='%234183C4'/%3E%3Cpath d='M15.9217 1.17828L7.01473 10.0853L5.95407 \
9.02462L14.8611 0.117624L15.9217 1.17828Z' \
fill='%234183C4'/%3E%3Cpath d='M7.5 0H16V1.5H7.5V0Z' \
fill='%234183C4'/%3E%3Cpath d='M16 0L16 8.5L14.5 8.5L14.5 -6.55671e-08L16 0Z' \
fill='%234183C4'/%3E%3C/svg%3E");  
}

a.external:hover:after {
  /* has no visible effect :( */
  text-decoration: underline;
}

.deprecated {
  border: 1px dotted orangered;
  padding: 0.25em;
}
