:root {
  --color-text1: light-dark(#404040, #eaeaea);
  --color-text2: light-dark(#999999, #fff);
  --color-text3: light-dark(#fff, #aeaeae);
  --color-text4: light-dark(#fff, #000);
  --color-text5: light-dark(#a3a3a3, #bcbcbc);
  --color-text6: light-dark(#586e75, #eeffff);
  --color-text7: light-dark(#404040, #404040);
  --color-text8: light-dark(#666666, #666666);
  --color-text9: light-dark(#2e353e, #2d3a3a);
  --color-text10: light-dark(#495562, #485c5d);
  --color-text11: light-dark(#403c2d, #403d2e);
  --color-text12: light-dark(#666048, #666149);
  --color-text13: light-dark(#313c33, #303c33);
  --color-text14: light-dark(#4e5f52, #4d6052);
  --color-text15: light-dark(#403130, #403231);
  --color-text16: light-dark(#664e4d, #66504e);
  --color-text17: light-dark(#343c40, #343d40);
  --color-text18: light-dark(#526066, #546166);
  --color-background1: light-dark(#fff, #252a34);
  --color-background2: light-dark(#e7f1fc, #213741);
  --color-background3: light-dark(#fafafa, #263238);
  --color-background4: light-dark(#b6d4f6, #b3e6e9);
  --color-background5: light-dark(#fff0b3, #fff3b6);
  --color-background6: light-dark(#c2eecd, #c1f1cd);
  --color-background7: light-dark(#ffc4c1, #ffc7c4);
  --color-background8: light-dark(#ceeffe, #d1f2ff);
  --color-border1: light-dark(#626262, #1a1d24);
  --color-border2: light-dark(#d9d9d9, #fbfbfb);
  --color-border3: light-dark(#e3e3e3, #fcfcfc);
  --color-shadowbox1: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-shadowbox2: light-dark(rgba(182, 212, 246, 0.25), rgba(179, 230, 233, 0.25));
  --color-shadowbox3: light-dark(rgba(255, 240, 179, 0.25), rgba(255, 243, 182, 0.25));
  --color-shadowbox4: light-dark(rgba(194, 238, 205, 0.25), rgba(193, 241, 205, 0.25));
  --color-shadowbox5: light-dark(rgba(255, 196, 193, 0.25), rgba(255, 199, 196, 0.25));
  --color-shadowbox6: light-dark(rgba(206, 239, 254, 0.25), rgba(209, 242, 255, 0.25));
  --color-link: light-dark(#0a71e2, #00adb5);
  --color-link-hover: light-dark(#0855aa, #008288);

	--banner-background-color: light-dark(#626262, #1a1d24);
	--banner-color: light-dark(#000, #aeaeae);
	--banner-link-color: light-dark(#fff, #aeaeae);
	--banner-hover-color: light-dark(#fff, #aeaeae);
}

:root.bandw {
  --color-text1: light-dark(#000, #fff);
  --color-text2: light-dark(#000, #fff);
  --color-text3: light-dark(#000, #fff);
  --color-text4: light-dark(#000, #fff);
  --color-text5: light-dark(#000, #fff);
  --color-text6: light-dark(#000, #fff);
  --color-text7: light-dark(#000, #fff);
  --color-text8: light-dark(#000, #fff);
  --color-text9: light-dark(#000, #fff);
  --color-text10: light-dark(#000, #fff);
  --color-text11: light-dark(#000, #fff);
  --color-text12: light-dark(#000, #fff);
  --color-text13: light-dark(#000, #fff);
  --color-text14: light-dark(#000, #fff);
  --color-text15: light-dark(#000, #fff);
  --color-text16: light-dark(#000, #fff);
  --color-text17: light-dark(#000, #fff);
  --color-text18: light-dark(#000, #fff);
  --color-background1: light-dark(#fff, #000);
  --color-background2: light-dark(#fff, #000);
  --color-background3: light-dark(#fff, #000);
  --color-background4: light-dark(#fff, #000);
  --color-background5: light-dark(#fff, #000);
  --color-background6: light-dark(#fff, #000);
  --color-background7: light-dark(#fff, #000);
  --color-background8: light-dark(#fff, #000);
  --color-border1: light-dark(#fff, #000);
  --color-border2: light-dark(#000, #fff);
  --color-border3: light-dark(#000, #fff);
  --color-shadowbox1: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-shadowbox2: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-shadowbox3: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-shadowbox4: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-shadowbox5: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-shadowbox6: light-dark(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.25));
  --color-link: light-dark(#fff, #000);
  --color-link-hover: light-dark(#ddd, #222);

	--banner-background-color: light-dark(#fff, #000);
	--banner-color: light-dark(#000, #fff);
	--banner-link-color: light-dark(#000, #fff);
	--banner-hover-color: light-dark(#222, #ddd);
}

body { color: var(--color-text1); background: var(--color-background1); border-top-color: var(--color-border1); }

a { color: var(--color-link); }
a:hover { color: var(--color-link-hover); }

blockquote { background-color: var(--color-background2); border-left-color: var(--color-link); }

/* ========================================================================== Site-wide ========================================================================== */
.site-title a { color: var(--color-text1); }

.copyright { color: var(--color-text2); }
.copyright a { color: var(--color-text2); }

.taxonomy-title { color: var(--color-text2); }

.taxonomy-count { color: var(--color-text2); }

.taxonomy-index a { border-bottom-color: var(--color-border2); }
.taxonomy-index a:hover { color: var(--color-link); }

.taxonomy-section:not(:last-child) { border-bottom-color: var(--color-border2); }

.back-to-top { color: var(--color-text2); }

.site-nav ul { color: var(--color-text3); background-color: var(--color-border1); }
.site-nav a { color: var(--color-text3); border-color: var(--color-border1); }
.site-nav a:hover { border-color: var(--color-text3); }

.site-footer { border-top-color: var(--color-border2); }

.footnotes { border-top-color: var(--color-border2); }

.site-logo-img { border-color: var(--color-background1); }

.toc-wrapper { border-color: var(--color-border3); }
.toc-wrapper h2 { color: var(--color-text6); background-color: var(--color-background3); }
.toc-wrapper li ol { background-color: var(--color-background1); }
.toc-wrapper li a:hover, .toc-wrapper li a:focus { border-bottom: 1px dotted var(--color-border2); }

#menu-toggle { color: var(--color-text3); }

#menu-toggle { background-color: var(--color-border1); }

#markdown-toc { color: var(--color-text6); }

.pagination li a { color: var(--color-text5); border-color: var(--color-border2); }
.pagination li a.current, .pagination li a.current.disabled { background-color: var(--color-text5); color: var(--color-text4); }
.pagination li a.disabled { color: var(--color-border2); }

.search-input { border-color: var(--color-border2); }

/* ========================================================================== Page ========================================================================== */
.page-previous, .page-next { color: var(--color-text1); }

/* ========================================================================== Entries (Posts, collection documents, etc.) ========================================================================== */
.entry a:hover { color: var(--color-link); }

/* ========================================================================== Tables ========================================================================== */
th, td { border-bottom-color: var(--color-border2); }

/* ========================================================================== NOTICE TEXT BLOCKS ========================================================================== */
/* Default notice */
.notice { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-text2); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox1); box-shadow: 0 1px 1px var(--color-shadowbox1); }
.notice h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice a { color: var(--color-text7); }
.notice a:hover { color: var(--color-text8); }
.notice ul:last-child { margin-bottom: 0; /* override*/ }

/* Accent notice */
.notice--accent { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-background4); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox2); box-shadow: 0 1px 1px var(--color-shadowbox2); }
.notice--accent h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice--accent h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice--accent p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice--accent h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice--accent a { color: var(--color-text9); }
.notice--accent a:hover { color: var(--color-text10); }
.notice--accent ul:last-child { margin-bottom: 0; /* override*/ }

/* Primary notice */
.notice--primary { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-text2); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox1); box-shadow: 0 1px 1px var(--color-shadowbox1); }
.notice--primary h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice--primary h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice--primary p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice--primary h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice--primary a { color: var(--color-text7); }
.notice--primary a:hover { color: var(--color-text8); }
.notice--primary ul:last-child { margin-bottom: 0; /* override*/ }

/* Warning notice */
.notice--warning { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-background5); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox3); box-shadow: 0 1px 1px var(--color-shadowbox3); }
.notice--warning h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice--warning h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice--warning p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice--warning h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice--warning a { color: var(--color-text11); }
.notice--warning a:hover { color: var(--color-text12); }
.notice--warning ul:last-child { margin-bottom: 0; /* override*/ }

/* Success notice */
.notice--success { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-background6); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox4); box-shadow: 0 1px 1px var(--color-shadowbox4); }
.notice--success h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice--success h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice--success p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice--success h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice--success a { color: var(--color-text13); }
.notice--success a:hover { color: var(--color-text14); }
.notice--success ul:last-child { margin-bottom: 0; /* override*/ }

/* Danger notice */
.notice--danger { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-background7); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox5); box-shadow: 0 1px 1px var(--color-shadowbox5); }
.notice--danger h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice--danger h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice--danger p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice--danger h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice--danger a { color: var(--color-text15); }
.notice--danger a:hover { color: var(--color-text16); }
.notice--danger ul:last-child { margin-bottom: 0; /* override*/ }

/* Info notice */
.notice--info { margin: 2em 0 !important; /* override*/ padding: 1em; background-color: var(--color-background8); color: #000; border-radius: 0.25rem; -webkit-box-shadow: 0 1px 1px var(--color-shadowbox6); box-shadow: 0 1px 1px var(--color-shadowbox6); }
.notice--info h4 { margin-top: 0 !important; /* override*/ margin-bottom: 0.75em; }
.page__content .notice--info h4 { /* using at-root to override .page-content h4 font size*/ margin-bottom: 0; font-size: 1em; }
.notice--info p:last-child { margin-bottom: 0 !important; /* override*/ }
.notice--info h4 + p { /* remove space above paragraphs that appear directly after notice headline*/ margin-top: 0; padding-top: 0; }
.notice--info a { color: var(--color-text17); }
.notice--info a:hover { color: var(--color-text18); }
.notice--info ul:last-child { margin-bottom: 0; /* override*/ }

/* ========================================================================== Accessibility Modules ========================================================================== */
/* Text meant only for screen readers */
.screen-reader-text, .screen-reader-text span, .screen-reader-shortcut { background-color: var(--color-text1); }

/* ========================================================================== BUTTONS ========================================================================== */
/* ========================================================================== BUTTONS ========================================================================== */
.btn { /* button colors */ }
.btn--primary { background-color: white; color: #000; }
.btn--primary:hover { background-color: #cccccc; color: #000; }
.btn--primary:visited { background-color: white; color: #000; }
.btn--accent { background-color: #00adb5; color: #fff; }
.btn--accent:hover { background-color: #008a91; color: #fff; }
.btn--accent:visited { background-color: #00adb5; color: #fff; }
.btn--inverse { background-color: #fff; color: #000; border: 1px solid #fbfbfb; }
.btn--inverse:hover { background-color: #cccccc; color: #000; }
.btn--inverse:visited { background-color: #fff; color: #000; }
.btn--light-outline { background-color: transparent; color: #fff; border: 1px solid #fff; }
.btn--light-outline:hover { background-color: rgba(0, 0, 0, 0.2); color: #fff; }
.btn--light-outline:visited { background-color: transparent; color: #fff; }
.btn--success { background-color: #30d158; color: #fff; }
.btn--success:hover { background-color: #26a746; color: #fff; }
.btn--success:visited { background-color: #30d158; color: #fff; }
.btn--warning { background-color: #ffd60a; color: #000; }
.btn--warning:hover { background-color: #ccab08; color: #fff; }
.btn--warning:visited { background-color: #ffd60a; color: #000; }
.btn--danger { background-color: #ff453a; color: #fff; }
.btn--danger:hover { background-color: #cc372e; color: #fff; }
.btn--danger:visited { background-color: #ff453a; color: #fff; }
.btn--info { background-color: #64d2ff; color: #000; }
.btn--info:hover { background-color: #50a8cc; color: #fff; }
.btn--info:visited { background-color: #64d2ff; color: #000; }
.btn--facebook { background-color: #3b5998; color: #fff; }
.btn--facebook:hover { background-color: #2f477a; color: #fff; }
.btn--facebook:visited { background-color: #3b5998; color: #fff; }
.btn--twitter { background-color: #55acee; color: #fff; }
.btn--twitter:hover { background-color: #448abe; color: #fff; }
.btn--twitter:visited { background-color: #55acee; color: #fff; }
.btn--google-plus { background-color: #dd4b39; color: #fff; }
.btn--google-plus:hover { background-color: #b13c2e; color: #fff; }
.btn--google-plus:visited { background-color: #dd4b39; color: #fff; }
.btn--linkedin { background-color: #007bb6; color: #fff; }
.btn--linkedin:hover { background-color: #006292; color: #fff; }
.btn--linkedin:visited { background-color: #007bb6; color: #fff; }
.btn--reddit { background-color: #ff4500; color: #fff; }
.btn--reddit:hover { background-color: #cc3700; color: #fff; }
.btn--reddit:visited { background-color: #ff4500; color: #fff; }

/* ========================================================================== Syntax highlighting ========================================================================== */
code.highlighter-rouge { color: #eeffff; background-color: #263238; }

div.highlighter-rouge, figure.highlight { color: #eeffff; background-color: #263238; }

.highlight table td.gutter { color: #b2ccd6; border-right-color: #b2ccd6; }

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

.highlight .c { /* Comment */ color: #b2ccd6; }
.highlight .err { /* Error */ color: #f07178; }
.highlight .k { /* Keyword */ color: #c792ea; }
.highlight .l { /* Literal */ color: #f78c6c; }
.highlight .n { /* Name */ color: #eeffff; }
.highlight .o { /* Operator */ color: #89ddff; }
.highlight .p { /* Punctuation */ color: #eeffff; }
.highlight .cm { /* Comment.Multiline */ color: #b2ccd6; }
.highlight .cp { /* Comment.Preproc */ color: #b2ccd6; }
.highlight .c1 { /* Comment.Single */ color: #b2ccd6; }
.highlight .cs { /* Comment.Special */ color: #b2ccd6; }
.highlight .gd { /* Generic.Deleted */ color: #f07178; }
.highlight .ge { /* Generic.Emph */ font-style: italic; }
.highlight .gh { /* Generic.Heading */ color: #eeffff; font-weight: bold; }
.highlight .gi { /* Generic.Inserted */ color: #c3e88d; }
.highlight .gp { /* Generic.Prompt */ color: #b2ccd6; font-weight: bold; }
.highlight .gs { /* Generic.Strong */ font-weight: bold; }
.highlight .gu { /* Generic.Subheading */ color: #89ddff; font-weight: bold; }
.highlight .kc { /* Keyword.Constant */ color: #c792ea; }
.highlight .kd { /* Keyword.Declaration */ color: #c792ea; }
.highlight .kn { /* Keyword.Namespace */ color: #89ddff; }
.highlight .kp { /* Keyword.Pseudo */ color: #c792ea; }
.highlight .kr { /* Keyword.Reserved */ color: #c792ea; }
.highlight .kt { /* Keyword.Type */ color: #ffcb6b; }
.highlight .ld { /* Literal.Date */ color: #c3e88d; }
.highlight .m { /* Literal.Number */ color: #f78c6c; }
.highlight .s { /* Literal.String */ color: #c3e88d; }
.highlight .na { /* Name.Attribute */ color: #82aaff; }
.highlight .nb { /* Name.Builtin */ color: #eeffff; }
.highlight .nc { /* Name.Class */ color: #ffcb6b; }
.highlight .no { /* Name.Constant */ color: #f07178; }
.highlight .nd { /* Name.Decorator */ color: #89ddff; }
.highlight .ni { /* Name.Entity */ color: #eeffff; }
.highlight .ne { /* Name.Exception */ color: #f07178; }
.highlight .nf { /* Name.Function */ color: #82aaff; }
.highlight .nl { /* Name.Label */ color: #eeffff; }
.highlight .nn { /* Name.Namespace */ color: #ffcb6b; }
.highlight .nx { /* Name.Other */ color: #82aaff; }
.highlight .py { /* Name.Property */ color: #eeffff; }
.highlight .nt { /* Name.Tag */ color: #89ddff; }
.highlight .nv { /* Name.Variable */ color: #f07178; }
.highlight .ow { /* Operator.Word */ color: #89ddff; }
.highlight .w { /* Text.Whitespace */ color: #eeffff; }
.highlight .mf { /* Literal.Number.Float */ color: #f78c6c; }
.highlight .mh { /* Literal.Number.Hex */ color: #f78c6c; }
.highlight .mi { /* Literal.Number.Integer */ color: #f78c6c; }
.highlight .mo { /* Literal.Number.Oct */ color: #f78c6c; }
.highlight .sb { /* Literal.String.Backtick */ color: #c3e88d; }
.highlight .sc { /* Literal.String.Char */ color: #eeffff; }
.highlight .sd { /* Literal.String.Doc */ color: #b2ccd6; }
.highlight .s2 { /* Literal.String.Double */ color: #c3e88d; }
.highlight .se { /* Literal.String.Escape */ color: #f78c6c; }
.highlight .sh { /* Literal.String.Heredoc */ color: #c3e88d; }
.highlight .si { /* Literal.String.Interpol */ color: #f78c6c; }
.highlight .sx { /* Literal.String.Other */ color: #c3e88d; }
.highlight .sr { /* Literal.String.Regex */ color: #c3e88d; }
.highlight .s1 { /* Literal.String.Single */ color: #c3e88d; }
.highlight .ss { /* Literal.String.Symbol */ color: #c3e88d; }
.highlight .bp { /* Name.Builtin.Pseudo */ color: #eeffff; }
.highlight .vc { /* Name.Variable.Class */ color: #f07178; }
.highlight .vg { /* Name.Variable.Global */ color: #f07178; }
.highlight .vi { /* Name.Variable.Instance */ color: #f07178; }
.highlight .il { /* Literal.Number.Integer.Long */ color: #f78c6c; }
