:root {
    color-scheme: light dark;
}
body {
    /* font-size: 1.7em; *\ /* currently ems cause chrome bug misinterpreting rems on body element */
    font-size: 1.7em; /* currently ems cause chrome bug misinterpreting rems on body element */
    font-size: 1.8em;
    line-height: 1.5;
    /* font-weight: 400; */
    font-weight: 400;
    /* font-family: "Open Sans", "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    /* font-family: "Roboto Regular", sans-serif; */
    /* font-family: "Trispace", sans-serif; */
    font-family: "Noto Sans Display", sans-serif;
    /* font-family: Helvetica, Arial, sans-serif; */
    color: #222;
    color: #333230;
    background-color: #fffcf5;
    background-color: #fffaeb;
    background-color: #fffbf0;
    background-color: #faf6eb;
    background-color: #fffbf0;
}
@media screen and (prefers-color-scheme: dark) {
    body {
        color: #e0e0e0;
        color: #e1e9eb;
        color: #dfe4e6;
        color: #d2d8d9;
        color: #c3c9bf;
        background-color: #282828;
        background-color: #052830;
    }
}




/*********/
/* Basic */
/*********/

.container {
    /* max-width: 800px; */
    max-width: 70rem;
}

/**********/
/* Header */
/**********/

.header {
    /* margin-top: 2.5rem; */
    margin-top: 3rem;
    text-align: left;
    border-bottom: 1px solid #e1e1e1;
    border-bottom: 1px solid #333230;
}
@media screen and (prefers-color-scheme: dark) {
    .header {
        border-bottom: 1px solid #aab0a7;
    }
}

@media (min-width: 550px) {
    .header {
        margin-top: 4rem;
    }
}

.header-img {
    width: 70px;
    border-radius: 50%;
    float: left;
    margin-right: 1rem;
    margin-left: -1rem;
    margin-top: -1rem;
}

.header-link {
    /* font-weight: 600; */
    letter-spacing: .2rem;
    text-decoration: none;
    line-height: 6.5rem;
    line-height: 35px;
    color: #222;
    color: #333230;
}
@media screen and (prefers-color-scheme: dark) {
.header-link {
        color: #ccc;
}
}

.header-link.active {
    color: #33C3F0;
}

/**********/
/* Navbar */
/**********/

.navbar {
    /* border-top-width: 0; */
    /* text-align: center; */
    text-align: left;
    /* display: inline-block; */
    width: auto;
    vertical-align: bottom;
    overflow: hidden;
}

@media (min-width: 550px) {
    .navbar {
        /* border-top-width: 0; */
        /* text-align: left; */
    }
}

/* .navbar, */
.extras,
.navbar-spacer {
    display: block;
    width: 100%;
    /* height: 6.5rem; */
    /* background: #fff; */
    z-index: 99;
    border-top: 1px solid #eee;
    border-top: 1px solid #333230;
    border-bottom: 1px solid #eee;
    border-bottom: 1px solid #333230;
}
@media screen and (prefers-color-scheme: dark) {
    .extras,
    .navbar-spacer {
        background: initial;
        border-top: 1px solid #aab0a7;
        border-bottom: 1px solid #aab0a7;
    }
}

.navbar-spacer {
    display: none;
}

.navbar > .container {
    width: 100%;
    overflow: auto;
}
.navbar > .container::after {
    content: "";
    clear: both;
    display: table;
}

.navbar-list {
    display: inline-block;
    list-style: none;
    margin-bottom: 0;
}

.navbar-item {
    position: relative;
    float: left;
    margin-bottom: 0;
    overflow: hidden;
    white-space: nowrap;
}

.navbar-link {
    text-transform: uppercase;
    font-size: 0.65em;
    font-size: 0.7em;
    font-weight: 600;
    letter-spacing: .11rem;
    /* margin-right: 1rem; */
    text-decoration: none;
    line-height: 2.5rem;
    color: #222;
    color: #333230;
    padding: 0.45em;
    text-decoration: none !important;
}
@media screen and (prefers-color-scheme: dark) {
    .navbar-link {
        color: #ccc;
    }
}
@media (min-width: 550px) {
    .navbar-link {
        font-size: 0.7em;
        letter-spacing: .12rem;
        padding: 0.6em;
    }
}

.navbar-link.active {
    background-color: #eee;
}
@media screen and (prefers-color-scheme: dark) {
    .navbar-link.active {
        background-color: #222;
    }
}

.navbar-link.hl {
    background-color: #f2eee4;
    color: #008;
}
@media screen and (prefers-color-scheme: dark) {
    .navbar-link.hl {
        background-color: #073c47;
        color: #6ac6de;
    }
}
.navbar-icon {
    margin-right: 0.2rem;
}
.navbar-char {
    font-size: 1.35em;
}

/**********/
/* Search */
/**********/

.button {
    display: inline-block;
    margin: 4px 2px;
    background-color: white;
    font-size: 14px;
    padding-left: 32px;
    padding-right: 32px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    color: #ccc;
    text-decoration: none;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 0;
    background-color: #fffbf0;
    background-color: #faf6eb;
}
@media screen and (prefers-color-scheme: dark) {
    .button {
        background-color: #282828;
        background-color: #052830;
        color: #444;
        color: #525450;
    }
}

.button:hover {
    transition-duration: 0.4s;
    -moz-transition-duration: 0.4s;
    -webkit-transition-duration: 0.4s;
    -o-transition-duration: 0.4s;
    background-color: white;
    background-color: #fffbf0;
    background-color: #faf6eb;
    color: black;
}
@media screen and (prefers-color-scheme: dark) {
    .button:hover {
        background-color: #282828;
        background-color: #052830;
        color: white;
    }
}

.search-container {
    /* padding-top: 2rem; */
    position: relative;
    display: inline-block;
    margin: 4px 2px;
    height: 30px;
    width: 30px;
    vertical-align: middle;
}

.mglass {
    display: inline-block;
    pointer-events: none;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
}

.searchbutton {
    position: absolute;
    font-size: 22px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.search:focus+.searchbutton {
    transition-duration: 0.4s;
    -moz-transition-duration: 0.4s;
    -webkit-transition-duration: 0.4s;
    -o-transition-duration: 0.4s;
    background-color: white;
    background-color: #fffbf0;
    background-color: #faf6eb;
    color: black;
}
@media screen and (prefers-color-scheme: dark) {
    .search:focus+.searchbutton {
        background-color: #282828;
        background-color: #052830;
        color: white;
    }
}

.search {
    position: absolute;
    left: 29px;
    top: -4px;
    /* Button width-1px (Not 50px/100% because that will sometimes show a 1px line between the search box and button) */
    background-color: white;
    outline: none;
    border: none !important;
    padding: 0;
    width: 0;
    height: 100%;
    z-index: -1;
    transition-duration: 0.4s;
    -moz-transition-duration: 0.4s;
    -webkit-transition-duration: 0.4s;
    -o-transition-duration: 0.4s;
    background-color: #fffbf0;
    background-color: #faf6eb;
}
input.search {
    background-color: #fffbf0;
    background-color: #faf6eb;
}
@media screen and (prefers-color-scheme: dark) {
    input.search {
        background-color: #282828;
        background-color: #052830;
    }
}

.search:focus {
    width: 210px;
    /* Bar width+1px */
    padding: 0 16px 0 0;
    z-index: 10;
    border: 1px solid #33C3F0 !important;
}

.expandright {
    left: auto;
    right: 29px;
    top: -4px;
    /* Button width-1px */
}

.expandright:focus {
    padding: 0 0 0 16px;
}
/***********/
/* Content */
/***********/

.content {
    padding: 0;
    margin-top: -3rem;
}

.post-entry, .page-entry {
    padding: 0 0 3rem 0;
    border-bottom: 1px dotted #eee;
}

.post-title, .page-title {
}

.post-info {
    padding-bottom: 1rem;
    font-size: 0.9em;
    font-weight: 300;
    color: #555;
    margin-left: 1rem;
}
@media screen and (prefers-color-scheme: dark) {
    .post-info {
        color: #bbb;
        color: #aab0a7;
    }
}

article.post-link .post-info {
    padding-bottom: 0.5rem;
}

.entry-content .post-info {
    /*
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    */
    padding-top: 0.5rem;
    padding-bottom: 3rem;
    /* text-align: center; */
}
@media (min-width: 550px) {
    .entry-content .post-info {
        padding-top: 1rem;
        /*
        margin-left: 5rem;
        margin-right: 15rem;
        */
        padding-bottom: 5rem;
    }
}

#content {
    margin-top: 4rem;
}
@media (min-width: 550px) {
    #content {
        margin-top: 8rem;
    }
}
.post-summary {
    margin-bottom: 0;
}

.first.last {
    margin-bottom: 0rem;
}

/****************/
/*  Pagination  */
/****************/

.pagination {
    padding: 2rem 0;
    text-align: center;
}

.prev-page {
    float: left;
}

.next-page {
    float: right;
}

/***********/
/* Footer  */
/***********/

.footer-pelican {
    padding: 3rem 0;
    display: inline-block;
}

/***********/
/* Images  */
/***********/

img.align-left {
    float: left;
    padding-right: 1rem;
}

img.align-right {
    float: right;
    padding-left: 1rem;
}

/* scale up and down */
.responsive {
    width: 100%;
    height: auto;
}

.circle {
    border-radius: 50%;
}

.rounded {
    border-radius: 1em;
}

/***********/
/*  Links  */
/***********/

a {
    color: #04a;
    color: #375cbf;
    text-decoration: #aaf underline;
    text-decoration: none;
}
@media screen and (prefers-color-scheme: dark) {
    a {
        color: #6ac6de;
        text-decoration: #6ac6de underline;
        text-decoration: none;
    }
}
h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #444;
}
@media screen and (prefers-color-scheme: dark) {
    h2 a, h3 a, h4 a, h5 a, h6 a {
        color: #e0e0e0;
        color: #d2d8d9;
        color: #c3c9bf;
    }
}

a:hover {
    color: #00b;
    color: #4878fa;
    text-decoration: #aaf underline;
    text-decoration: #4878fa underline;
}
@media screen and (prefers-color-scheme: dark) {
    a:hover {
        color: #77ddf7;
        text-decoration: #77ddf7 underline;
    }
}

h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: #555;
    text-decoration: none;
}
@media screen and (prefers-color-scheme: dark) {
    h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
        color: #ebebeb;
        text-decoration: none;
    }
}

/**************/
/*  Headings  */
/**************/

.entry-title > a,
.post-title > a {
    text-decoration: none;
    /* font-weight: 600; */
}

.post-readmore-container {
    max-width: 65rem;
    text-align: center;
    margin-top: -1.0rem;
}

.post-readmore {
    font-size: 0.9em;
    font-weight: 300;
}

h2 {
    font-size: 2.3rem;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 0.5rem;
}
@media (min-width: 550px) {
    h2 {
        font-size: 2.5rem;
    }
}

/* Site title */
div.site-title {
    /* padding: 20px 0 0 0; */
    display: inline-block;
    overflow: hidden;
}
h2.title {
    display: inline-block;
    margin-top: 0;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 300;
    font-size: 2.15rem;
    white-space: nowrap;
    text-overflow: hidden;
    margin-bottom: 0;
    margin-left: 0.8rem;
    vertical-align: middle;
}

/* Article title */
h2.entry-title, h2.post-title, h2.page-title {
    font-size: 2.7rem;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 600;
    margin-top: 2em;
}
h2.entry-title {
    font-size: 2.5rem;
}
h2.post-title, h2.page-title {
    /* text-align: center; */
    /* max-width: 70rem; */
}
@media (min-width: 550px) {
    h2.post-title, h2.page-title {
        font-size: 3.5rem;
    }
    h2.entry-title {
        font-size: 3.0rem;
    }
}

/* Link article title */
article.post-link {
    padding-bottom: 0;
}
article.post-link > h2 {
    font-size: 2.0rem;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 600;
    margin-top: 3em;
    margin-bottom: 0.2rem;
}
article.post-link > h2 > a {
    color: #444;
    /* text-decoration: #aaf underline; */
}
@media screen and (prefers-color-scheme: dark) {
    article.post-link > h2 > a {
        color: #e0e0e0;
        color: #d2d8d9;
        color: #c3c9bf;
    }
}
article.post-link .post-summary {
    border-left: 2px solid #e1e1e1;
    padding-left: 2rem;
    margin-left: 1rem;
    padding-top: 0.5rem;
}
@media screen and (prefers-color-scheme: dark) {
    article.post-link .post-summary {
        border-color: #444;
    }
}


h3 {
    /* font-size: 2.6rem; */
    font-size: 2.1rem;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 600;
    margin-top: 0.75em;
}

h4 {
    font-size: 1.9rem;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 600;
    margin-top: 0.5em;
}

h5 {
    font-size: 1.6rem;
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 600;
    margin-top: 0.5em;
}


h1 > a,
h2 > a,
h3 > a,
h4 > a {
    text-decoration: none;
}

/***********************/
/*  Table of Contents  */
/***********************/

.contents {
    border-top: 1px dashed #eee;
    border-bottom: 1px dashed #eee;
    padding-top: 2rem;
    margin-bottom: 2rem;
}
@media screen and (prefers-color-scheme: dark) {
    .contents {
        border-color: #444;
    }
}

.contents > ul.simple {
    margin-bottom: 2.5rem;
    padding-left: 0;
    margin-top: 0;
    list-style: square inside;
}

.topic-title {
    font-size: 3.0rem;
    line-height: 1.35;
    letter-spacing: -.08rem;
}


/***********/
/*  Code   */
/***********/

pre {
    font-size: 0.8em;
    font-size: 0.9em;
}
.literal-block, .highlight {
    /* font-family: "Roboto Mono", monospace; */
    font-family: "Noto Sans Mono", monospace;
    /* border-left: 1rem solid #eee; */
    /*
    border-left: 1px solid #eee;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
    border-color: #fdf6e3;
    */
    border: 1px solid #fdf6e3;
    padding-left: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    /*
    mask-image: linear-gradient(to right, transparent, black 20px, black 97%, transparent);
    */
    color: #5d6666;
    color: #2AA198;
    color: #268BD2;
}
@media screen and (prefers-color-scheme: dark) {
    .literal-block, .highlight {
        color: #268bd2;
        color: #2aa198;
        /*
        border-color: #555;
        border-color: #073642;
        */
        border: 1px solid #073642;
    }
}

.literal {
    background-color: #eee;
    font-size: 1.2em;
}

p {
    font-family: "Noto Sans Display", sans-serif;
    font-weight: 400;
    max-width: 70rem;
}

.tags li, .tags a {
    font-size: 0.9em;
    font-size: 1.0em;
    /* font-weight: 300; */
    margin-bottom: 0;
    list-style-type: none;
}

@media (min-width: 550px) {
    .tags {
        column-count: 4;
    }
}

code, tt, tt.literal, .code {
    color: #5d6666;
    color: #2AA198;
    color: #268BD2;
    background-color: #fcf2d7;
    background-color: #fdf6e3;
    border-color: #eee8d6;
}
@media screen and (prefers-color-scheme: dark) {
    code, tt, tt.literal, .code {
        color: #268bd2;
        color: #2aa198;
        /* background-color: #444; */
        background-color: #073642;
        border-color: #073642;
    }
}


/************************/
/*  Table of Contents   */
/************************/

#table-of-contents ul {
    margin-top: 0;
    margin-bottom: 0;
}

#table-of-contents li {
    margin-bottom: 0;
    list-style-type: none;
}

