*,*:after ,*:before { box-sizing:border-box; margin: 0;	padding: 0;}

/* This is what's required to get CSS to indent overflow lines, and not put the list bullet outside of the element */
ul li{
    list-style-type: disc;
    list-style-position: inside;
    padding-left: 1.2em;
    text-indent: -1em;
}

/*** General ***/
::selection {
    background: #000; /* WebKit/Blink Browsers */
    color: #fff;
}

body {
    /* background-color: #fff; */
    max-width: 105ch;
    margin: 2vh auto;
    padding: 0 20px;
    font-family: "Source Serif Pro","Apple Garamond","Baskerville","Libre Baskerville","Times New Roman","Droid Serif","Times",serif;
    font-size: 13pt;
}

a {
    color: #272727;
}
a:hover {
    color: #888;
}

header {
    display: table;
    width: 100%;
    border-bottom: 3px double #9c9c9c;
    margin: 4ch 0 0 0;
    padding: 0 0 0.5ch 0;
}

#name {
    display: table-cell;
    width: fit;
    font-weight: 600;
    font-size: 2em;
}

#home-link {
    text-decoration: none !important;
    color: #000;
}

#home-link:hover {
    color: #888;
}

.article-header {
    margin-bottom: 1.5em;    
}

.article-header hr {
    margin-top: 20px;
    border: none;
    border-top: 3px double #9c9c9c;
}


h1 {
    font-weight: 400;
    font-size: 25pt;
    margin-bottom: 0em;
    margin-top: 20px;
}

h2 {
    font-family: sans-serif;
    font-weight: 600;
    font-size: 1.2em;
    margin-bottom: 0em;
    /* text-decoration: underline; */
}

h3 {
    font-style: italic;
    font-weight: normal;
    margin-bottom: 0em;
}

h3 + p, h2 + p {
    margin-top: 0.2em;
}

p {
    margin: 1em 0px;
}

p + ul {
    margin-top: 0;
}

.header-link {
    display: table-cell;
    align: right;
    font-weight: 600;
    text-decoration: none;
    padding-left: 1ch;
}

/*** Card Lists ***/
#list {
    margin: 2ch 0 0 0;
    /* font-size: 1.12em; */
}

.list-item {
    padding: 1ch;
    border: 1px solid transparent;
    margin-bottom: 2ch;
    
    padding: 1ch;
    border: 1px solid #aaaaaa;
    /* background-color: #fafafa; */
    /* box-shadow: -2px 2px 5px #888888; */
}

.list-item:hover {
    padding: 1ch;
    border: 1px solid #9a9a9a;
    background-color: #f0f0f0;
    box-shadow: -2px 2px 5px #888888;
}

.list-item-text {
    margin-left: 2ch;
    margin-top: 2ch;    
}

.list-item-title-wrapper {
    margin-bottom: 2ch;
}

.list-item-title {
    font-size: 20px;
    font-weight: 600;
}

.tag {
    /* font-weight: bold; */
    font-family: monospace;
    color: #333;
    font-size: 14px;
    /* padding-top: -4ch; */
}

.list-img {
    margin: 2ch;
    width: 13ch;
}

.list-item-description {
    margin-left: 0ch;
}

/*** Misc ***/
.inline-code {
    padding: .2em .4em;
    margin: 0;
    font-size: 85%;
    white-space: break-spaces;
    background-color: #eff1f3;
    border-radius: 6px;
}

.block-code {
    padding: 1em;
    overflow: auto;
    font-size: 85%;
    line-height: 1.45;
    background-color: #eff1f3;
    border-radius: 6px;
}

.p-before-ul {
    margin-bottom: 0.4em;
}

.hover-img {
    padding: 1ch;
    border: 1px solid transparent;
    max-width: 100%;
}

.hover-img:hover {
    padding: 1ch;
    border: 1px solid #9c9c9c;
    background-color: #f0f0f0;
    box-shadow: -2px 2px 5px #888888;
}


@media only screen and (max-width: 400px) {
    body {padding: 0 20px;}
    header {margin: 0;}
    .block-code {width: 100%; overflow: scroll;}
}

@media only screen and (max-width: 700px) {
    body {padding: 0 20px;}
    header {margin: 0;}
    .block-code {width: 100%; overflow: scroll;}
}

.img-grid {    
  display: grid;
  align-items: center;
  grid-template-columns: repeat(auto-fit, minmax(20ch, 1fr));    
}
