/******************************************************************************/
/* Fonts
/******************************************************************************/

@font-face {
  font-family: 'Artifakt Legend';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/Artifakt/Artifakt Legend Bold.woff2') format('woff2');
}

@font-face {
  font-family: 'Artifakt Element';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Artifakt/Artifakt Element Regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Artifakt Element';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/Artifakt/Artifakt Element Medium.woff2') format('woff2');
}

@font-face {
  font-family: 'Artifakt Element';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/Artifakt/Artifakt Element Bold.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto Mono'), local('RobotoMono-Regular'), url('fonts/RobotoMono/RobotoMono-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}

@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Mono Bold'), local('RobotoMono-Bold'), url('fonts/RobotoMono/RobotoMono-Bold.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}

@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  src: local('PT Serif Italic'), local('PTSerif-Italic'), url('fonts/PTSerif/PTSerif-Italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}

@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: local('PT Serif'), local('PTSerif-Regular'), url('fonts/PTSerif/PTSerif-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}

@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url('fonts/PTSerif/PTSerif-Bold.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}

/******************************************************************************/
/* Document body
/******************************************************************************/

body
{
    max-width: 800px;
    font-family: 'PT Serif', serif;
    padding: 70px 10px 0px 10px;
    min-width: 260px;
    font-size: 16px;
    line-height: 21px;
    color: black;
}

@media print
{
    body
    {
        max-width: 100%;
        padding: 0 5%;
    }
}

/******************************************************************************/
/* Table of contents
/******************************************************************************/

/* For screens wide enough, put on the right side */
@media screen and (min-width: 1400px)
{
    .md .longTOC, .md .mediumTOC, .md .shortTOC
    {
        max-width: 300px;
        right: 0em;
        display: block;
        position: fixed;
        top: 0;
        bottom: 0;
        overflow-y: scroll;
        margin-top: 0;
        margin-bottom: 0;
        padding: 1em 1em 0 0;
        font-size: 85%;
        line-height: 120%;
        border: 0;
        opacity: 0.66;
        font-family: 'Artifakt Element', sans-serif;
    }

    .md .longTOC a, .md .mediumTOC a, .md .shortTOC a
    {
        font-family: 'Artifakt Element', sans-serif;
    }

    .md .longTOC:hover, .md .mediumTOC:hover, .md .shortTOC:hover
    {
        opacity: 1;
    }
}

/* For narrow screens, make inline */
@media screen and (max-width: 1399px)
{
    .md .longTOC, .md .mediumTOC, .md .shortTOC
    {
        display: block;
        margin: 20px 0 40px 3px;
        padding: 0;
        padding-top: 13px;
        float: initial;
        font-size: 98%;
        line-height: 120%;
        border: 0;
        font-family: 'Artifakt Element', sans-serif;
        border-top: 1px solid rgba(0,0,0,.1);
        border-bottom: 1px solid rgba(0,0,0,.1);
    }

    .md .longTOC a, .md .mediumTOC a, .md .shortTOC a
    {
        font-family: 'Artifakt Element', sans-serif;
    }
}

/* For print, hide */
@media print
{
    .md .longTOC, .md .mediumTOC, .md .shortTOC
    {
        display: none;
    }
}

.md div.title
{
    font-family: 'Artifakt Legend', sans-serif;
    font-weight: 700;
    border: 0;
}

contents, .md .tocHeader,
.md h1, .md h2, .md h3, .md h4, .md h5, .md h6,
.md .nonumberh1, .md .nonumberh2, .md .nonumberh3, .md .nonumberh4, .md .nonumberh5, .md .nonumberh6
{
    font-family: 'Artifakt Element', sans-serif;
    font-weight: 500;
    border: 0;
}

.md .tocHeader
{
    margin: 0;
    padding: 0;
    border: none;
    font-size: inherit;
}

.md .longTOC p, .md .mediumTOC p, .md .shortTOC p
{
    overflow: hidden;
    text-overflow: ellipsis;
}

.md .longTOC center, .md .mediumTOC center, .md .shortTOC center, .md .tocHeader
{
    text-align: left;
}

.md .longTOC b, .md .mediumTOC b, .md .shortTOC b
{
    font-weight: 500;
    font-size: 120%;
}

.md .longTOC a.level1, .md .mediumTOC a.level1, .md .shortTOC a.level1
{
    display: inline-block;
    color: rgba(0,0,0,.95);
    font-weight: 500;
    margin-top: 7px;
    margin-bottom: 4px;
}

.md .longTOC a.level2, .md .mediumTOC a.level2, .md .shortTOC a.level2
{
    color: rgba(0,0,0,.9);
    font-weight: 400;
    line-height: 130%;
}


/******************************************************************************/
/* Titles and headings
/******************************************************************************/

/* Title style */
.md div.title
{
    color: rgba(0,0,0,.7);
    margin: 0.4em 0 20px 0;
    padding: 0;
    font-size: 230%;
    font-weight: 700;
    text-align: center;
}

/* Subtitle style */
.md div.subtitle
{
    text-align: center;
    font-size: 95%;
}

/* Blue sections */
.md h1, .md .nonumberh1
{
    font-size: 150%;
    color: #029be5;
}

/* Grey sub-sections */
.md h2, .md .nonumberh2, .md h3, .md .nonumberh3
{
    font-size: 130%;
    color: rgba(0,0,0,.7);
}

.md h3, .md .nonumberh3
{
    font-size: 115%;
    margin-bottom: 0;
    color: rgba(0,0,0,.75);
}

/******************************************************************************/
/* Tables
/******************************************************************************/

.md table.table
{
    font-size: 90%;
    width: 100%;
    border: 1px solid rgb(230, 230, 230);
}

.md table.table td
{
    border: none;
    padding: 7px 7px 7px 7px;
}

/* Header row */
.md table.table th
{
    border: none;
    background-color: rgb(230, 230, 230);
    color: black;
    font-weight: 700;
    font-family: 'Artifakt Element', sans-serif;
    padding: 7px 7px 7px 7px;
}

/* Even table rows: 1, 3, ... */
.md table.table tr:nth-child(odd)
{
    background-color: rgb(247,247,247);
}

/* Odd table rows: 2, 4, ... */
.md table.table tr:nth-child(even)
{ 
    background-color: rgb(253, 253, 253);
}

.md table.table tr:hover
{
    background-color: #f9f5d7;
}


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

.md a
{
    font-family: 'PT Serif';
}

.md a:link, .md a:visited
{
    color: #0085c7;
}

/* For print, make links black */
@media print
{
    .md a:link, .md a:visited
    {
        color: black;
    }
}

/******************************************************************************/
/* Misc
/******************************************************************************/

/* Code */
.md code
{
    padding: 0;
    border: none;
    font-family: 'Roboto Mono', monospace;
    font-size: 92%;
}
.md pre.listing
{
    background-color: transparent;
    font-size: 93%;
    background-color: rgb(250,250,250);
    border: 1px solid rgba(0,0,0,.05);
    padding: 6px 10px;
    text-align: left;
}

/* Bibliography */
.md .bib
{
    font-size: 90%;
    padding-left: 20px;
    text-indent: -20px;
}
.md .bib b
{
    font-weight: inherit;
    font-style: italic;
}

hr.pagebreak
{
    visibility: hidden;
}

.afterTitles
{
    height: 50px !important;
}

/* Center short image captions */
.md div.table
{
    margin: 0 0 30px 0;
}

.md div.tablecaption
{
    text-align: justify;
}

/* Center short image captions */
.md div.imagecaption
{
    display: inline-block;
    margin: 7px 0 0 0;
}

.md img.markdeep
{
    margin-top: 25px;
}

.md .subtitle img.markdeep
{
    margin-top: 7px;
}

.md .imagecaption b
{
    font-weight: 700;
    color: rgba(0,0,0,.85);
}

/* Hack to place a caption below a table of images */
.shifted-caption
{
    margin-top: -30px;
    text-align: center;    
}
.shifted-caption .image
{
    float: initial !important;
    margin: 0 !important;
}
.shifted-caption img
{
    display: none;
}

.markdeepFooter
{
    opacity: 0.4;
}

.md code .long
{
    font-size: 88%;
}

/* For print, hide Markdeep footer */
@media print
{
    .markdeepFooter
    {
        display: none;
    }
}