/**
 * SVG Icons
 * https://github.com/feathericons/feather
 * https://github.com/tabler/tabler-icons/find/master
 * https://github.com/twbs/icons
 *
 * https://yqnn.github.io/svg-path-editor/
 * https://jakearchibald.github.io/svgomg/
 * https://codepen.io/yoksel/pen/MWKeKK
 */
/******************************************************************************
 *   FONTS - Abridge by default uses the System Font Stack
 *     https://css-tricks.com/snippets/css/system-font-stack/
 *   However if you need you can load a specific font below,
 *     make sure to have the relevant woff2 fonts in your static/fonts folder
 *   This is for running the theme directly, if using abridge as a theme
 *     use the section at the bottom of your root sass/abridge.scss
 *   I measured the least Cumulative Layout Shift with: Roboto, Lato, Arimo
 *****************************************************************************/
/******************************************************************************
 *   Variables
 *****************************************************************************/
/******************************************************************************
 *   Root element
 *****************************************************************************/
:root {
  --ff: Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", "Noto Sans", Helvetica, Arial, sans-serif;
  --fm: ui-monospace, Menlo, Monaco, Consolas, "SF Mono", "Cascadia Mono", "Segoe UI Mono", "DejaVu Sans Mono", "Liberation Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Ubuntu Mono", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", Courier, monospace;
  color-scheme: var(--cs);
  --s1: .5rem;
  --s2: 1rem;
  --rc: .5rem;
  --br: 0.25rem;
  --bw: 0.0625rem;
  --ow: 0.1875rem;
  --fs: 1rem;
  --lh: 1.5;
  --lhh: 1.2;
  --fw: 400;
  --fh: 700;
}
@media (min-width: 576px) {
  :root {
    --fs: 1rem;
  }
}
@media (min-width: 768px) {
  :root {
    --fs: 1.04rem;
  }
}
@media (min-width: 992px) {
  :root {
    --fs: 1.08rem;
  }
}
@media (min-width: 1200px) {
  :root {
    --fs: 1.12rem;
  }
}

:root:not(.switch) {
  --cs: dark;
  --f1: #ccc;
  --f2: #ddd;
  --c1: #111;
  --c2: #222;
  --c3: #333;
  --c4: #888;
  --a1: #f90;
  --a2: #fb0;
  --a3: #f90;
  --a4: #f90;
  --cg: #593;
  --cr: #e33;
  --h0: #191919;
  --h1: #ddd;
  --h2: #888;
  --h3: #e65;
  --h4: #e83;
  --h5: #eb6;
  --h6: #ac3;
  --h7: #8db;
  --h8: #6ae;
  --h9: #d6e;
  --ha: 160%;
}

:root.switch {
  --cs: light;
  --f1: #333;
  --f2: #222;
  --c1: #fff;
  --c2: #eee;
  --c3: #ddd;
  --c4: #555;
  --a1: #c40;
  --a2: #e60;
  --a3: #f90;
  --a4: #c40;
  --cg: #373;
  --cr: #d33;
  --h0: #f7f7f7;
  --h1: #222;
  --h2: #666;
  --h3: #a21;
  --h4: #930;
  --h5: #a50;
  --h6: #350;
  --h7: #286;
  --h8: #059;
  --h9: #a3c;
  --ha: 92%;
}

/******************************************************************************
 *   Optional SCSS Blocks
 *****************************************************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  text-rendering: optimizeLegibility;
  background-color: var(--c1);
  color: var(--f1);
  font-family: var(--ff);
  font-weight: var(--fw);
  font-size: var(--fs);
  line-height: var(--lh);
}

big,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding-left: 0;
  color: var(--f2);
  margin: var(--s2) 0 var(--s1);
  font-weight: var(--fh);
  font-size: var(--fs);
  line-height: var(--lhh);
}

big, h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.75rem;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1.125rem;
}

header h1 {
  margin: 0;
}

a {
  color: var(--a1);
  text-decoration: none;
  font-weight: 500;
}

a:hover {
  color: var(--a2);
  text-decoration: underline;
}

a:visited {
  color: var(--a4);
}

big a, h1 a, h2 a, main nav a, header li > a {
  color: var(--f2);
  text-decoration: none;
  font-weight: var(--fh);
}
big a:visited, h1 a:visited, h2 a:visited, main nav a:visited, header li > a:visited {
  color: var(--f2);
}
big a:hover, h1 a:hover, h2 a:hover, main nav a:hover, header li > a:hover {
  color: var(--a3);
  text-decoration: none;
}

article {
  padding: 1rem 0rem;
}

abbr[title] {
  border-bottom: var(--bw) dotted;
  text-decoration: none;
  cursor: help;
}

mark {
  background-color: var(--c4);
  color: var(--c1);
  vertical-align: baseline;
  padding: 0.1rem 0.4rem;
}

blockquote {
  margin-left: 0;
  padding: 0.5rem 0 0.5rem 1.5rem;
  border-left: 0.25rem solid var(--c3);
}

blockquote > :last-child {
  margin-bottom: 0;
}

small {
  font-size: 0.875rem;
}

.footnote-definition sup, .footnote-definition p {
  display: inline;
}

sub,
sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

details summary {
  cursor: pointer;
}

address,
blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
  margin: 0.7rem 0;
  color: var(--f1);
  font-style: normal;
  font-weight: var(--fw);
  font-size: var(--fs);
}

ul,
ol {
  padding-right: 0;
  padding-left: var(--s2);
}

li {
  margin-bottom: 0.2rem;
}

ins {
  color: var(--cg);
  text-decoration: none;
}

del {
  color: var(--cr);
}

main {
  display: flex;
}
main article, main div {
  flex: 1 1 0;
  min-width: 0;
}

body {
  width: 100%;
  margin: 0;
}

header,
main,
footer {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: var(--s1);
}
@media (min-width: 1200px) {
  header,
  main,
  footer {
    min-width: 1200px;
    max-width: 70%;
  }
}

header, main {
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
header hr, main hr {
  margin: 0.1rem 0;
}

footer {
  line-height: var(--lhh);
}
footer hr, footer p {
  margin: 0.2rem 0;
}

header > nav > div {
  padding-top: var(--s2);
}

footer > div {
  padding-top: var(--s1);
}

header > nav, header > nav > div:nth-child(3) {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

header > nav ul {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

header > nav > div:nth-child(3) {
  margin-left: auto;
  justify-content: center;
}

header nav {
  margin: var(--s1) auto 0;
  flex-direction: column;
}
header nav div:nth-child(3) {
  margin: auto;
}

nav {
  align-items: center;
  justify-content: center;
  display: flex;
}
nav li {
  display: inline-block;
  margin: 0 var(--s2) 0 0;
}

.dropdown {
  display: inline-block;
  position: relative;
  z-index: 1;
  font-weight: var(--fh);
  font-size: var(--fs);
}

.dropdown-content {
  display: none;
  position: absolute;
  cursor: pointer;
  text-align: center;
  right: -1rem;
  z-index: 1;
  font-weight: var(--fh);
  font-size: var(--fs);
  background: var(--c2);
}
.dropdown-content a, .dropdown-content span {
  margin: 0 var(--s1);
  display: block;
  text-decoration: none;
}

.dropdown:hover .dropdown-content {
  display: block;
}

article nav div:last-child {
  text-align: right;
}

footer nav a {
  margin: 0.2rem;
}
footer nav i {
  margin-bottom: 0.2rem;
}

main nav {
  margin-top: var(--s2);
}
main nav a, main nav span {
  margin: 0.2rem;
}

.on,
.on:visited {
  font-weight: var(--fh);
  border: 0.1rem solid var(--c4);
  border-radius: var(--br);
  padding: 0.1rem var(--s1);
}

.on:hover {
  border-color: var(--a3);
}
.on:hover .svgh {
  background: var(--a3);
  opacity: 1;
}

.outp {
  padding: 0 0.26rem 0.2rem;
}

.dis {
  color: var(--c4);
  font-weight: var(--fh);
}

.off {
  color: var(--c4);
  font-weight: var(--fh);
  border: 0.1rem solid var(--c3);
  border-radius: var(--br);
}
.off .svgh {
  background: var(--c3);
  opacity: 1;
}

.on {
  font-weight: var(--fh);
  border: 0.1rem solid var(--c4);
  border-radius: var(--br);
}

.mode:hover, .cnav {
  background-color: var(--c2);
}

@media (min-width: 768px) {
  header nav, header > nav > div:nth-child(3) {
    flex-direction: row;
    margin: auto 0 0 auto;
  }
  header > nav > div {
    padding-top: var(--s1);
  }
}
.yvi {
  position: absolute;
  top: 0;
  left: 0;
}

.yv {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
}

embed,
iframe,
object {
  max-width: 100%;
}

iframe {
  border-style: none;
  width: 100%;
  height: 100%;
  border: 0;
  overflow: hidden;
}

.fi {
  display: inline-block;
}
.fi img, .fi video {
  vertical-align: top;
}
.fi figcaption {
  padding-bottom: var(--s1);
  text-align: center;
}

table {
  border-collapse: collapse;
  width: 100%;
  text-indent: 0;
}
table caption {
  margin-bottom: 0.5rem;
}

tr {
  border-bottom: var(--bw) solid var(--c3);
}

td,
th {
  padding: var(--s1);
}

th {
  text-align: left;
}

tbody tr:nth-child(even) {
  background-color: var(--c2);
}

thead tr {
  border-top: var(--bw) solid var(--c3);
  background-color: var(--c2);
}

pre,
code,
kbd,
samp,
tt,
var {
  border-radius: var(--br);
  background: var(--c2);
  font-family: var(--fm);
  overflow-x: auto;
  line-height: initial;
  font-size: 0.8rem;
  padding: 0.3rem 0.2rem;
}

pre {
  position: relative;
  padding: 2rem 0.5rem 0.3rem;
  display: block;
  overflow-x: auto;
  -ms-overflow-style: scrollbar;
  white-space: pre;
}
pre > code {
  display: grid;
  background: transparent;
}

kbd {
  background-color: var(--f2);
  color: var(--c1);
  vertical-align: baseline;
  font-size: 1rem;
  padding: 0.2rem;
}

pre code[data-lang]::before {
  content: attr(data-lang);
  padding: 0.3rem;
  display: block;
  background-color: var(--c3);
  color: var(--h1);
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 1rem;
  text-transform: uppercase;
}

code table {
  font-size: 0.8rem;
  margin: 0;
  color: var(--h1);
}
code mark {
  display: block;
  color: unset;
  padding: 0;
  background-color: var(--h0);
  filter: brightness(var(--ha));
}
code td, code th, code tr {
  padding: 0;
  border-bottom: none;
}
code tbody td:first-child {
  text-align: center;
  user-select: none;
  min-width: 60px;
}
code tbody tr:nth-child(even), code thead tr {
  background-color: unset;
}

.cc {
  cursor: pointer;
  z-index: 9;
  position: absolute;
  top: 0.2rem;
  right: 0.5rem;
}

.cc:hover {
  background: var(--a3);
  opacity: 1;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: none;
  border-top: 1px solid var(--f1);
}

header hr, footer hr {
  border-top: 1px solid var(--c4);
}

figure {
  display: block;
  margin: 0;
  padding: 0;
  overflow-x: auto;
}

button,
input,
select,
textarea {
  margin: 0;
  padding: 0.2rem var(--s1);
  max-width: 100%;
  background: var(--c2);
  border: 0;
  border-radius: 0.25rem;
  font: inherit;
  line-height: var(--fs);
  color: var(--f1);
}

button.del {
  color: var(--cr);
}

button,
[type=button i],
[type=submit i],
[type=reset i] {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  color: var(--f1);
  border: 0;
  cursor: pointer;
  transition: opacity 0.25s;
}

button:hover,
[type=button i]:hover,
[type=submit i]:hover,
[type=reset i]:hover {
  opacity: 0.75;
}

button[disabled],
[type=button i][disabled],
[type=submit i][disabled],
[type=reset i][disabled] {
  opacity: 0.5;
}

fieldset {
  padding: 0.5rem 0.75rem;
  border: var(--bw) solid var(--c3);
  border-radius: 0.25rem;
}

legend {
  padding: 0 0.25rem;
}

label {
  cursor: pointer;
  display: block;
  margin-bottom: 0.25rem;
}

[type=color i] {
  min-height: 2.125rem;
}

select:not([multiple]):not([size]) {
  padding-right: 1.5rem;
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

textarea {
  width: 100%;
  resize: vertical;
}

textarea:not([rows]) {
  height: 8rem;
}

.topout {
  position: sticky;
  bottom: 1px;
  padding: 20px;
  place-self: end;
  margin-top: 110vh;
  pointer-events: none;
}

.topleft {
  margin-left: calc(100% - 80px);
}

.top {
  pointer-events: all;
  padding: 9px;
  border-radius: 9px;
  font-weight: 700;
  color: var(--a1);
  background: var(--c2);
}

.top:hover {
  text-decoration: none;
  color: var(--c2);
  background: var(--a1);
}
.top:hover .svgh {
  background: var(--c2);
  opacity: 1;
}

div:empty {
  display: none;
}

#suggestions {
  z-index: 9;
  background: var(--c1);
  border: 2px solid var(--c3);
  position: static;
  left: 0;
  width: 100%;
  margin-top: var(--s1);
  max-height: 500px;
  overflow: auto;
}

#suggestions a, #results a {
  display: block;
  text-decoration: none;
  padding: var(--s1);
  margin: 0 var(--s1);
}

#suggestions a:hover,
#suggestions a:focus,
#results a:hover,
#results a:focus {
  background: var(--c2);
}

#suggestions span, #results span {
  line-height: 1.5;
  display: block;
}

#suggestions span:first-child, #results span:first-child {
  font-weight: var(--fh);
}

#suggestions span:nth-child(3), #results span:nth-child(3) {
  color: var(--f1);
}

.results {
  display: block;
  position: relative;
  width: 100%;
}

.searchd {
  display: flex;
  position: relative;
  align-items: center;
  white-space: nowrap;
}

.searchd > input {
  max-width: 100%;
  flex-grow: 1;
  padding-right: 2rem;
}

.searchd > button {
  position: absolute;
  right: 0.5rem;
}

@media (min-width: 768px) {
  .searchd > input {
    width: 15rem;
    flex-grow: 0;
  }
  #suggestions {
    position: absolute;
    right: 0;
    left: unset;
    width: 500px;
  }
}
.sticky {
  position: sticky;
  top: var(--s2);
}

.block {
  max-width: 30rem;
  margin: var(--s2) auto;
}

.blockdiv {
  border-radius: var(--br);
  border-top: 5px solid var(--a1);
  background-color: var(--c2);
  margin-top: var(--s2);
  padding: 0.2rem 0 var(--s2) var(--s2);
  max-height: 100vh;
  overflow: auto;
  overflow-wrap: break-word;
}
.blockdiv a {
  color: var(--f1);
}
.blockdiv a:hover {
  color: var(--a2);
}
.blockdiv ol {
  margin: 0;
}
.blockdiv .scur {
  font-weight: var(--fh);
  color: var(--a1);
}

.sblock details:not([open]) + .hidden_li {
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.sblock summary {
  filter: brightness(0.7);
}
.sblock ol, .sblock ul {
  font-size: 1em;
}
.sblock {
  width: 15rem;
  max-width: 15rem;
  margin-left: var(--s1);
  display: none;
}

.desc {
  display: none;
}

@media (min-width: 768px) {
  .sblock, .desc {
    display: unset;
  }
  .block {
    display: none;
  }
}
.img-swap-div .img-main {
  display: block;
}
.img-swap-div .img-swap {
  display: none;
}
.img-swap-div:hover .img-swap {
  display: block;
}
.img-swap-div:hover .img-main {
  display: none;
}

[style*="--c:"], section > section {
  flex: var(--c, 1);
  margin: var(--s1);
  color: var(--f2);
  padding: var(--s1);
  text-align: center;
}

section {
  display: flex;
  flex-flow: row wrap;
}
section article div {
  text-align: center;
}
section article h1, section article h2, section article h3 {
  text-align: center;
}
section article {
  padding: 20px 30px;
  min-width: 340px;
}

.adjust {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='none' stroke-width='1' fill='%23000' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C6 0 0 6 0 12s5 12 12 12 12-5 12-12S19 0 12 0Zm0 4c5 0 8 3 8 8s-3 8-8 8V4Z'/%3E%3C/svg%3E");
  background: var(--f2);
}

.angu {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m4 16 8-8 8 8'/%3E%3C/svg%3E");
  background: var(--f2);
}

.world {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a11 11 90 0 0 22 0 11 11 90 0 0-22 0m1-4h20M2 16h20M11 1a21 21 90 0 0 0 22m2-22a21 21 90 0 1 0 22'/%3E%3C/svg%3E");
  background: var(--f2);
}

.copy {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M11 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM7 9H3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E");
  background: var(--f2);
}

.copy.yes {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background: var(--cg);
}

.copy.err {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a1 1 0 0 0 22 0 1 1 0 0 0-22 0m11-7v9m0 5v-2'/%3E%3C/svg%3E");
  background: var(--cr);
}

.search {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='9.5' cy='9.5' r='8'/%3E%3Cpath d='m23 23-9-9'/%3E%3C/svg%3E");
  background: var(--f2);
}

.mail {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23888' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m22 6-10 7L2 6m2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E");
}

.mastodon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2328c' viewBox='0 0 24 24'%3E%3Cpath d='M2 8c0 5.7-.2 12.6 5 14 2 .6 3.7.7 5 .6 2.4-.1 3.8-.9 3.8-.9l-.1-1.8s-1.7.6-3.7.5c-1.9 0-4-.2-4.2-2.6a5 5 90 0 1 0-.7c4 1 7.5.5 8.4.4 2.7-.4 5-2 5.3-3.6.5-2.4.4-5.8.4-5.8C22 3.4 19 2 19 2 15.9.6 8 .6 5.1 2c0 0-3 1.4-3 6zm4.5-2.3c1.2-1.4 3.8-1.5 5 .3l.5.9.6-1c1.1-1.7 3.7-1.6 4.9-.2 1.1 1.3.9 2.5.9 8.4H16V8.6c0-2.4-3-2.5-3 .3v3h-2V9c0-2.8-3-2.7-3-.3V14H5.6c0-5.9-.2-7.1 1-8.4z'/%3E%3C/svg%3E");
}

.pixelfed {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='M0 .11h50v49.78H0z'/%3E%3ClinearGradient x1='100%25' y1='55.81%25' x2='0%25' y2='60.12%25' id='c'%3E%3Cstop stop-color='%23FF5C34' offset='0%25'/%3E%3Cstop stop-color='%23EB0256' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='33.09%25' y1='100%25' x2='68.99%25' y2='15.31%25' id='d'%3E%3Cstop stop-color='%23A63FDB' offset='0%25'/%3E%3Cstop stop-color='%23FF257E' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='14.72%25' y1='50%25' x2='94.32%25' y2='67.53%25' id='e'%3E%3Cstop stop-color='%2300FFF0' offset='0%25'/%3E%3Cstop stop-color='%230087FF' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='81.23%25' y1='10.01%25' x2='20.82%25' y2='74.49%25' id='f'%3E%3Cstop stop-color='%2317C934' offset='0%25'/%3E%3Cstop stop-color='%2303FF6E' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='50%25' y1='111.91%25' x2='30.56%25' y2='0%25' id='g'%3E%3Cstop stop-color='%23FFB000' offset='0%25'/%3E%3Cstop stop-color='%23FF7725' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M25.88 24.66A12.43 12.43 0 0 0 12.76 13 12.39 12.39 0 0 0 .94 25.95l.01.2A24.67 24.67 0 0 1 16 2l.53-.2c6.39-2.56 13.67.5 16.25 6.81s-.5 13.5-6.9 16.05z' id='h'/%3E%3Cpath d='M16.34 1.87l.19-.07c6.39-2.56 13.67.5 16.25 6.81s-.5 13.5-6.9 16.05c-.05-1-.23-1.98-.5-2.9a10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 20.06 1.25c-1.3 0-2.56.22-3.72.63z' id='i'/%3E%3ClinearGradient x1='-81.36%25' y1='59.62%25' x2='121.42%25' y2='72.06%25' id='j'%3E%3Cstop stop-color='%239EE85D' offset='0%25'/%3E%3Cstop stop-color='%230ED061' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M28.38 9.27l.19-.07c6.39-2.56 13.67.5 16.25 6.81s-.5 13.5-6.9 16.05c-.05-1-.23-1.98-.5-2.9a10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 32.1 8.65c-1.3 0-2.56.22-3.72.63z' id='k'/%3E%3ClinearGradient x1='45.51%25' y1='116.82%25' x2='0%25' y2='-4.04%25' id='l'%3E%3Cstop stop-color='%2321EFE3' offset='0%25'/%3E%3Cstop stop-color='%232598FF' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M25.14 22.73l.18-.07c6.4-2.55 13.67.5 16.25 6.81 2.59 6.32-.5 13.5-6.9 16.06a11.97 11.97 0 0 0-.5-2.9 10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 28.86 22.1c-1.3 0-2.56.22-3.72.63z' id='m'/%3E%3ClinearGradient x1='100%25' y1='58.21%25' x2='-89.65%25' y2='74.32%25' id='n'%3E%3Cstop stop-color='%23A63FDB' offset='0%25'/%3E%3Cstop stop-color='%23FF257E' offset='100%25'/%3E%3C/linearGradient%3E%3Cpath d='M10.65 23.76l.2-.07c6.38-2.55 13.66.5 16.24 6.81 2.59 6.32-.5 13.5-6.9 16.06-.05-1-.22-1.98-.5-2.9a10.9 10.9 0 0 0 5.75-9.6 11 11 0 0 0-11.06-10.93c-1.31 0-2.56.22-3.73.63z' id='o'/%3E%3Cpath d='M5.55 10.7l.18-.08c6.4-2.55 13.67.5 16.26 6.82a12.28 12.28 0 0 1-6.9 16.05c-.06-1-.23-1.98-.51-2.9a10.9 10.9 0 0 0 5.75-9.6A11 11 0 0 0 9.27 10.06c-1.3 0-2.56.23-3.72.64z' id='p'/%3E%3Cpath d='M35.63 42.37h4.55a7.64 7.64 0 0 0 7.75-7.51 7.64 7.64 0 0 0-7.75-7.51h-6.56a4.4 4.4 0 0 0-4.48 4.33v16.87l6.5-6.18z' id='r'/%3E%3Cfilter x='-26.6%25' y='-18.9%25' width='153.2%25' height='147.2%25' filterUnits='objectBoundingBox' id='q'%3E%3CfeOffset dy='1' in='SourceAlpha' result='shadowOffsetOuter1'/%3E%3CfeGaussianBlur stdDeviation='1.5' in='shadowOffsetOuter1' result='shadowBlurOuter1'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.298686594 0' in='shadowBlurOuter1'/%3E%3C/filter%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cg mask='url(%23b)'%3E%3Cpath d='M25.88 24.66a12.5 12.5 0 0 0-15.13 8.99 12.32 12.32 0 0 0 9.09 14.94l.5.13A24.77 24.77 0 0 1 .96 26.15v-.2A12.39 12.39 0 0 1 12.74 13a12.43 12.43 0 0 1 13.13 11.67z' fill='url(%23c)' transform='rotate(40 25.03 23.6)'/%3E%3Cpath d='M25.88 24.66a12.25 12.25 0 0 0 4.27 16.93 12.57 12.57 0 0 0 17.13-4.22l.24-.39a25.02 25.02 0 0 1-21.64 12.35c-1.9 0-3.75-.21-5.53-.61l-.51-.13a12.32 12.32 0 0 1-9.1-14.94 12.5 12.5 0 0 1 15.14-8.99z' fill='url(%23d)' transform='rotate(40 25.03 23.6)'/%3E%3Cpath d='M25.88 24.66a12.6 12.6 0 0 0 17.59 1.52A12.23 12.23 0 0 0 45 8.81l-.1-.12a24.39 24.39 0 0 1 2.6 28.29l-.23.39a12.57 12.57 0 0 1-17.13 4.22 12.25 12.25 0 0 1-4.27-16.93z' fill='url(%23e)' transform='rotate(40 25.03 23.6)'/%3E%3Cpath d='M25.88 24.66a12.28 12.28 0 0 0 6.9-16.05A12.54 12.54 0 0 0 16.53 1.8L16 2c3.03-1.29 6.37-2 9.88-2 7.62 0 14.45 3.37 19.03 8.7l.1.11c4.43 5.22 3.74 13-1.54 17.37a12.6 12.6 0 0 1-17.59-1.52z' fill='url(%23f)' transform='rotate(40 25.03 23.6)'/%3E%3Cg fill='url(%23g)' transform='rotate(40 25.03 23.6)'%3E%3Cuse xlink:href='%23h'/%3E%3Cuse fill-opacity='.1' style='mix-blend-mode:multiply' xlink:href='%23h'/%3E%3C/g%3E%3Cg opacity='.5' transform='rotate(40 25.03 23.6)'%3E%3Cuse fill='url(%23g)' xlink:href='%23i'/%3E%3Cuse fill-opacity='.5' fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23i'/%3E%3C/g%3E%3Cg opacity='.54' transform='rotate(112 33.87 24.23)'%3E%3Cuse fill='url(%23j)' xlink:href='%23k'/%3E%3Cuse fill-opacity='.5' fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23k'/%3E%3C/g%3E%3Cg opacity='.56' transform='rotate(-177 29.6 35.4)'%3E%3Cuse fill='url(%23l)' xlink:href='%23m'/%3E%3Cuse fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23m'/%3E%3C/g%3E%3Cg opacity='.58' transform='rotate(-103 13.95 33.85)'%3E%3Cuse fill='url(%23n)' xlink:href='%23o'/%3E%3Cuse fill-opacity='.5' fill='%23000' style='mix-blend-mode:overlay' xlink:href='%23o'/%3E%3C/g%3E%3Cg opacity='.18' transform='rotate(-31 4.44 11.5)'%3E%3Cuse fill='url(%23c)' xlink:href='%23p'/%3E%3Cuse fill-opacity='.77' fill='%23000' style='mix-blend-mode:multiply' xlink:href='%23p'/%3E%3C/g%3E%3Cg fill-rule='nonzero' transform='translate(-12.6 -12.1)'%3E%3Cuse fill='%23000' filter='url(%23q)' xlink:href='%23r'/%3E%3Cuse fill='%23FFF' xlink:href='%23r'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.rss {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23e94' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16'/%3E%3Ccircle cx='5' cy='19' r='1'/%3E%3C/svg%3E");
}

.x {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23f00' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M21 3 3 21M3 3l18 18'/%3E%3C/svg%3E");
}

.svg {
  width: 1.8rem;
  height: 1.8rem;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
}

.svgs {
  width: var(--fs);
  height: var(--fs);
  display: inline-block;
  text-align: center;
  vertical-align: middle;
}

.svgm {
  min-width: 24px;
  min-height: 24px;
}

.fa-a:hover {
  color: var(--a3);
  opacity: 1;
}

.sum, .sum p {
  margin: 0.2rem 0;
}

.s150 {
  font-size: 1.5em;
}

.s140 {
  font-size: 1.4em;
}

.s130 {
  font-size: 1.3em;
}

.s120 {
  font-size: 1.2em;
}

.s110 {
  font-size: 1.1em;
}

.s95 {
  font-size: 0.95em;
}

.s90 {
  font-size: 0.9em;
}

.s85 {
  font-size: 0.85em;
}

.s80 {
  font-size: 0.8em;
}

.s75 {
  font-size: 0.75em;
}

.s70 {
  font-size: 0.7em;
}

.hpad {
  padding: 0 var(--s1);
}

.rpad {
  padding-right: var(--s1);
}

.vpad {
  padding: var(--s1) 0;
}

.tpad {
  padding-top: var(--s1);
}

.b {
  font-weight: var(--fh);
}

.b1 video, .b1 audio, .b1 picture, .b1 img {
  border: 1px solid var(--c4);
}

.c {
  text-align: center;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.ci {
  display: block;
  margin: 0 auto;
}

.z-code {
  color: var(--h1);
  background-color: var(--h0);
}

.z-comment {
  color: var(--h2);
  font-style: italic;
}

.z-variable {
  color: var(--h1);
}

.z-string {
  color: var(--h6);
}

.z-constant.z-numeric {
  color: var(--h4);
}

.z-constant.z-character.z-escape {
  color: var(--h7);
}

.z-constant.z-language {
  color: var(--h4);
}

.z-constant.z-other {
  color: var(--h4);
}

.z-keyword {
  color: var(--h8);
}

.z-keyword.z-operator {
  color: var(--h9);
}

.z-punctuation.z-separator, .z-punctuation.z-terminator {
  color: var(--h1);
}

.z-punctuation.z-section {
  color: var(--h1);
}

.z-punctuation.z-accessor {
  color: var(--h4);
}

.z-punctuation.z-definition.z-annotation {
  color: var(--h1);
}

.z-storage {
  color: var(--h8);
}

.z-storage.z-type {
  color: var(--h8);
}

.z-entity.z-name.z-function {
  color: var(--h5);
}

.z-entity.z-name {
  color: var(--h5);
}

.z-variable.z-parameter {
  color: var(--h4);
}

.z-variable.z-language {
  color: var(--h5);
  font-style: italic;
}

.z-entity.z-name.z-tag {
  color: var(--h8);
}

.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag {
  color: var(--h8);
}

.z-entity.z-other.z-attribute-name {
  color: var(--h5);
}

.z-variable.z-function, .z-variable.z-annotation {
  color: var(--h5);
}

.z-support.z-function, .z-support.z-macro {
  color: var(--h3);
}

.z-support.z-type, .z-support.z-class {
  color: var(--h8);
  font-style: italic;
}

.z-support.z-type.z-property-name {
  color: var(--h8);
}

.z-key.z-json {
  color: var(--h4);
}

/******************************************************************************
 *   Extra - Put your extra SASS/CSS here, it will get bundled with abridge.css
 *****************************************************************************/
.site-tagline {
  margin: 0 0 0 1rem;
}

header {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

header > nav > div {
  margin-top: auto;
}

/******************************************************************************
 *   FONTS - Abridge by default uses the System Font Stack
 *     https://css-tricks.com/snippets/css/system-font-stack/
 *   However if you need you can load a specific font below,
 *     make sure to have the relevant woff2 fonts in your static/fonts folder
 *   I measured the least Cumulative Layout Shift with: Roboto, Lato, Arimo
 *****************************************************************************/