body {
    --body-half-width: 45vw;
    background: #fff;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #535353;
    margin: 0 auto;
    max-width: 90vw;
    padding: 0;
}
body.bp-body {
    color: #ddd;
    /*background: #666; */
    background: #222;
    margin: 0 auto;
    max-width: 5000px;
    padding: 0;
}

/* layout styles */
#center-and-right {
    position: relative;
}

#centercontent {
    background: #fff;
    line-height: 1.45;
}

#rightcontent {
    font-size: 0.95em;
    line-height: 1.45;
    margin: 0;
    padding-bottom: 0;
    padding-top: 0;
    top: 0; right: 0;
    width: 212px;
}
@media screen and (min-width: 560px) {
    #centercontent {
        margin-right: 240px;
        padding-left: 8px;
    }
    #rightcontent {
        border-left: 1px solid #040;
        padding-left: 10px;
        position: absolute;
    }
}

@media screen and (min-width: 888px) {
    body {
        --body-half-width: 400px;
        max-width: 800px;
    }
    img.norm {
        width: initial;
    }
    #centercontent .os {
        /* text-align: justify; */
    }
    #centercontent p {
        /* text-align: justify; */
        font-size: 110%;
    }
}

@supports (display: grid) {
    @media screen and (min-width: 560px) {
        #center-and-right {
            --grid-gap: 17px;
            --main-col: calc(90vw - (var(--side-col) + var(--grid-gap)));
            --side-col: 223px;
            display: grid;
            grid-gap: var(--grid-gap);
            grid-template-columns: var(--main-col) var(--side-col);
            width: 100%;
        }
        #centercontent {
            margin-right: 0;
            position: relative;
        }
        #rightcontent {
            align-self: start;
            margin-top: 1em;
            position: relative;
        }
    }
    @media screen and (min-width: 888px) {
        #center-and-right {
            --main-col: 560px;
        }
    }
}

a {
    text-decoration: none;
}
.bp-text a {
    color: #ddd;
    font-weight: bold;
}
#centercontent a {
    color: #933;
}
.el a,
.ot a {
    font-weight: bold;
}
#rightcontent a {
    color: #535353;
    font-weight: bold;
}

#cats a {
    color: #535353;
    font-weight: bold;
}
#cats a.leaf {
    font-weight: bold;
}

#banner {
    background-color: #333;
    /* Replace background here */
    background-image: url("Toronto60.jpg");
    background-repeat: repeat-x;
    color: #fff;
    height: 60px;
    margin: 0;
    position: relative;
}
#bp-banner {
    color: white;
    height: 60px;
    margin: 0 auto;
}
html>body #banner, html>body #bp-banner {
    height: 60px;
}

.big { font-size: 0.875rem; }

.big-pic {
    border: 2px solid #ddd;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 20px);
}

.bp-narrative {
    text-align: center;
}

.bp-narrative p {
    /* hyphens: auto; */
    color: #aaa;
}

.bp-background {
    margin-top: 8px;
    padding-bottom: 20px;
    padding-top: 20px;
}

.bp-text {
    margin: 0 auto;
    max-width: 40em;
    text-align: center;
}

#cats {
    margin-bottom: 30px;
}


code {
    font-family: monospace;
    font-size: 1.0em;
    font-weight: bold;
}

#centercontent code { color: #080; }

.comment {
    background: #eee;
}

.comment-a,
.comment-b {
    padding: 1px 10px;
}
.comment-a {
    background: #eee;
}
.comment-b {
    background: #ddd;
}
.comment-a a,
.comment-b a{
    word-break: break-all;
}

span.dashes { white-space: nowrap; }

dfn { font-style: italic; }

.el { font-weight: bold; }

.employ {
    color: black;
    font-size: 75%;
    text-align: left;
}

#feed {
    margin: 5px 20px 0 0;
    text-align: left;
}
#feedfp {
    margin: 10px 20px 0 0;
    text-align: left;
}

#search > form {
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

h1 {
    font-size: 1rem;
    font-weight: normal;
    left: 8px;
    margin: 2px 1px 0 2px;
    position: absolute;
    top: 4px;
}
@media screen and (min-width: 560px) {
    h1 {
        font-size: 1.5rem;
    }
}
@media screen and (min-width: 800px) {
    h1 {
        font-size: 1.875rem;
    }
}
.h2 {
    color: #444;
    font-family: Verdana, sans-serif;
    font-size: 1.125rem;
    font-weight: bold;
}
.h3 {
    font-family: Verdana, sans-serif;
    font-size: 1rem;
    font-weight: bold;
}

.hide { display: none; }

#potd img {
    border: 0;
    margin-left: -4px;
}

#rightcontent img { border: 0; }

img.inline {
    box-shadow: 3px 3px 8px #222;
    float: right;
    margin-bottom: 15px;
    margin-left: 15px;
    margin-top: 10px;
}

#centercontent li {
    margin: 0.5em 0 0.5em 0;
}

#rightcontent li { margin-bottom: 0; }

li { margin-bottom: 10px; }

.loser {
    color: red;
    margin-left: 10px;
}

.main-image {
    float: right;
    margin-bottom: 10px;
}
.main-image img {
    max-width: 100%;
}
@media screen and (min-width: 560px) {
    .main-image img {
        --gutter: 5vw ; /* space between the image and the left edge of the viewport */
        /* 100vw / 2 = The centerline of the viewport
         * var(--body-half-width) - (var(--side-col) + var(--grid-gap)) = how far the main column extends past the centerline
         */
        max-width: calc(((100vw / 2) + (var(--body-half-width) - (var(--side-col, 0) + var(--grid-gap, 0)))) - var(--gutter));
        width: initial;
    }
}
@media screen and (min-width: 888px) {
    .main-image img {
        --gutter: 44px ; /* space between the image and the left edge of the viewport */
    }
}
img.norm {
    box-shadow: 3px 3px 8px #222;
}

img.norm,
.main-image img,
.misc img {
    margin-top: 1em;
}

#rightcontent .misc {
    margin-bottom: 4px;
    text-align: center;
}

.misc { text-align: center; }

.more {
    font-size: 85%;
}

.o { font-style: italic; }

.ofp {
    line-height: 1.2;
}

ol { margin-right: 40px; }

.oo {
    font-size: 110%;
    margin-bottom: 4px;
}

#centercontent .os {
    padding-top: 10px;
    text-indent: -5px;
}
#rightcontent .os {
    padding-bottom: 8px;
    text-indent: -5px;
}

.ot {
    font-family: Verdana, sans-serif;
    font-size: 1.0em;
    font-weight: bold;
}

.caption p {
    /* hyphens: auto; */
    margin-bottom: 20px;
    margin-left: 40px;
    margin-right: 15px;
    margin-top: 0;
    text-align: right;
}

#centercontent > p {
    /* color: #444444;
    color: #425663; */
    color: #535353;
    /* hyphens: auto; */
    margin: 0.5em 0 0.5em 0;
}

.comment-a p,
.comment-b p {
    /* hyphens: auto; */
    text-align: left;
}

#commentHere p {
    font-style: italic;
    /* hyphens: auto; */
    text-align: center;
}

#footer p {
    font-size: 80%;
    /* hyphens: auto; */
    text-align: center;
}

.p1 { text-indent: -5px; }

#payload {
    margin: 10px 0 10px 0;
    position: relative;
}

#centercontent p a.plink {
    color: #fff; /* the page background colour */
}

#centercontent p:hover a.plink, p a:hover.plink {
    color: #c8a8ff;
}

#plusone {
    text-align: center;
}

.pn {
    color: #C8A8FF;
}

#potd {
    margin: 8px 0 3px 0;
}

.principles {
    margin-bottom: 4px;
    margin-top: 3px;
}

.principlesFront {
    margin-bottom: 4px;
    margin-top: 5px;
}

.score {
    margin-right: 5px;
    text-align: right;
}
.scoreTH {
    margin-left: 3px;
    margin-right: 3px;
}

#search {
    bottom: 6.5px;
    font-size: 0.5rem;
    /* font-weight: bold; */
    position: absolute;
    right: 5px;
}
@media (min-width: 560px) {
    #search {
        bottom: unset;
        font-size: 0.75rem;
        top: 31px;
    }
}
@media (min-width: 800px) {
    #search {
        font-size: 1rem;
    }
}
#search input {
    font-size: inherit;
}

.show { display: inline; }

td { background: #eee; }
td.etd { background: #fff }
td.name { text-align: left }
td.time { text-align: right }
td.notes { text-align: left }
td.empty { background: #fff }

th { background: #ccc; }
th.empty { background: #eee; }

#tnI {
    box-shadow: 3px 3px 8px #222;
}

#rightcontent ul
{
    margin-top: 0;
    padding-top: 0;
}

.winner { margin-left: 5px; }

.wltable {
    font-size: 120%;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}

/* for code, from mvim */
pre {
    background-color: #ffffff;
    color: #000000;
    font-family: monospace;
    white-space: pre-wrap;
}
.js-String { color: #4a708b; }
.js-Special { color: #8a2be2; }
.js-Identifier { color: #458b74; }

/* for code, from github */
.json .pl-ent { color: #116611; }
.json .pl-c1 { color: #222288; }
.json .pl-k { color: #cf222e; }
.json .pl-smi { color: #0550ae; }
.json .pl-en { color: #8250df; }
.json .pl-c { color: ##6e7781; }
.json pre {
    background-color: #eee;
    height: auto;
    margin-inline-end: -35em;
    overflow:auto;
    padding: 10px;
    width: auto;
}
