/* layout */

body {
    font-family: sans-serif;
    font-size: 90%;
    color: rgb(40,40,40);
    padding: 0;
    margin: 0;
	 padding-bottom: 100px; /* To clear the footer */
}

main.global, header.global nav {
    max-width: 700px !important;
    min-width: 350px !important;
    margin-left: auto;
    margin-right: auto;
}

header.global {
    padding: 1em;
    background-color: rgb(230,230,230);
    border-bottom: solid 1px rgb(200,200,200);
}

main.global {
    padding: 1em;
}

#main {
    padding: 0;
    margin: 0;
}

#main li {
    display: inline-block;
    padding-right: 15px;
    list-style: none;
    margin: 0;
}

#main li a {
    font-family: Arial;
    font-size: 90%;
    text-decoration: none;
    color: rgb(60,60,60);
	display: block;
}


#hamburger-container {
	display: none; /* hide on mobile */
	padding: 1em;
}

#hamburger {
	display: inline-block;
	position: relative;
	width: 1.25em;
	height: 0.8em;
	margin-right: 0.3em;
	border-top: 0.2em solid #000;
	border-bottom: 0.2em solid #000;
}

#hamburger:before {
	content: "";
	position: absolute;
	top: 0.3em;
	left: 0px;
	width: 100%;
	border-top: 0.2em solid #000;
}

@media print {
	header, footer { display: none; }
}

@media only screen and (max-width: 480px) {
	header { 
		padding: 0; /* we're going to get the hamburger click zone take up the entire space */
	}
	#hamburger-container {
		display: block;
	}
	#main {
		display: none; /* hide the main menu on mobile */
		margin: 1em;
		margin-top: 0;
	}
	#main.show { 
		display: block; /* show when the hamburger icon is clicked */
	}
	#main.show li {
		display: block;
        border-top: solid 1px rgb(200,200,200);
	}
	#main.show li a {
		padding: 8px 0 8px 0;
		font-size: 90%;
	}
    ul {
    padding-left: 1.5em;
    }
    .related {
        max-width: 100%;
    }

}

/* typography */

h1, h2 {
    font-family: Arial;
}

h1 {
    font-size: 160%;
    font-weight: bold;
}

h2 {
    font-size: 120%;
    font-weight: bold;
    margin-bottom: 0.5em;
    margin-top: 1.5em;
    line-height: 130%;
}

h3 {
    margin-bottom: 0.4em;
    margin-top: 1.5em;
    font-family: sans-serif;
    font-size: 15px;
    line-height: 125%;
}


main li {
    margin-bottom: 0.5em;
}

main li ul, main li ol {
    margin-top: 0.5em;
    padding-left: 1em;
}

main p, main li, div.list-block, main td, footer p {
    line-height: 1.5;
	margin-top: 0px;
}

main a {
    text-decoration: underline;
}

.small {
    font-size: 90%;
}

blockquote+blockquote { margin-top: -1.3em; }

blockquote {
  background: none;
  border-left: solid 3px rgb(200,200,200);
  border-radius: 0;
  padding: 0 1em;
  font-style: italic;
}

blockquote p, blockquote li { line-height: 160%; }

blockquote p:first-of-type {
  margin-top: 0.25;
}
blockquote p:last-of-type {
  margin-bottom: 0.25;
}

div.indent {
    margin-left: 2em;
}

pre {
    margin-left: 1em;
    line-height: 100%;
    font-family: consolas, monospace;
}

pre > code { 
    background: rgb(80,80,80);
    display: block;
    color: white;
    padding: 1.5em;
    border-radius: 0.5em;
    line-height: 150%;
    font-size: 130%;
}

code {
    background-color: rgb(240,240,240);
    font-size: 90%;
}

p code, li code { font-size: 11pt; color: black; }

label {
    font-weight: bold;
}
label.code {
    display: block;
    margin-left: 1em;
    font-style: italic;
    font-size: 90%;
}
label.code+pre {
    margin-top: 0.25em;
}

input {
    font-family: Arial;
}

a {
color: #006ADB;
}



a[href*="//"]:not([href*="deanebarker.net"]):not([href^="/"]):after {
    content:'\279A';
}

.tight li { margin-bottom: 0; }
p.tight { margin-bottom: 0.25em; }


/* Elements */
.byline { font-style: italic; margin-bottom: 2em; font-size: 10pt;}
.byline { background: url(/deane.jpg?w=50); min-height: 50px; padding-left: 60px; background-repeat: no-repeat; }

aside.note { display: flex; gap: 1em; }
aside.note img.icon { margin-top: 0.5em; }
aside.note p.footer { font-weight: bold; font-style: italic; font-size: 9pt;}
p.byline + aside.note { margin-bottom: 3em; }

div.image {
    background: rgb(240,240,240);
    padding: 1em;
    margin-bottom: 1.5em;
    border-radius: 0.5em;
    font-size: 90%;
}

div.image img {
    display: block;
    margin-bottom: 1em;
    max-width: 100%; 
}

div.image p:last-child {
    margin-bottom: 0;
}

hr {
    height: 1px;
    border: none;
    border-top: solid 1px black;
    width: 80%;
    margin: 2em auto;
}

#search-box input { 
	padding: 4px;
}

.meta { 
	background-color: rgb(240,240,240);
	padding: 0.75em;
	font-size: 10pt;
	border-radius: 3px;
    font-family: sans-serif;
}

.description.auto {
    font-style: italic;
}

.video-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; margin-bottom: 1em; }

.video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

img[src$="#_main"] {
   width: 300px;
   height: 300px;
   float: right;
   margin: 0 0 1em 1em;
}

.split div:first-of-type { float: left; }
.split div:last-of-type { float: right; text-align: right; }
.split div { width: 49%; }
li.gap { list-style: none; padding: 0.5em; background-color: rgb(240,240,240); border-radius: 4px; display: inline-block; font-size: 90%;}

div.aside, aside {
    margin: 0 1em;
    margin-bottom: 1em;
	padding: 0.5em 1em;
	background-color: rgb(240,240,240);
	border-radius: 6px;
}
div.aside, div.aside li, aside p, aside li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
    font-size: 10pt;
}
div.aside + h1, aside + h1 {
    margin-top: 2em;
}

/* Blockquotes in asides */
aside main blockquote {
  margin-left: 1em;
  padding: 0 0 0 .5em;
  border-radius: 0;
  border-left: solid 2px rgb(200,200,200);
}

aside main blockquote p {
  margin: .25em 0 .5em .25em
}

/* Tables */
table { border-collapse: collapse; margin-bottom: 1em; width: 100%; }
th,td { padding: 4px; border-bottom: solid 1px rgb(240,240,240); text-align: left; vertical-align: top; }
tr:last-child td { border-bottom: none; }
th.pad-left,td.pad-left { padding-left: 15px; }
th.numeric, td.numeric { text-align: right; }
th:not(.numeric), td:not(.numeric) { padding-right: 1em; }
th { font-family: sans-serif; font-size: 90%;}

/* TOC */

@media only screen and (min-width: 800px) {
    body.toc-sidebar > main, body.toc-sidebar header nav { 
        margin: 0 0 0 350px;
    }
    body.toc-sidebar #tocContainer {
      position: fixed;
      top: 0px;
      left: 0px;
      height: 100%;
      overflow: scroll;
    }
}
table-of-contents {
    background-color: rgb(240,240,240);
    display: inline-block;
    padding: 1em;
    border-radius: 0.5em;
    font-family: sans-serif;
    margin-bottom: 1em;
}
table-of-contents + h2 { margin-top: 0; }
table-of-contents header { 
    font-family: sans-serif;
    font-weight: bold;
    font-size: 110%;
    margin-bottom:0.5em
}
table-of-contents div {
    font-size: 80%;
    margin-bottom: 0.25em
}
  
.tocItemH3 { 
    padding-left: 1em;
    font-size: 95%;
}


/* Next and Previous Links */
.next-prev {
    /* width: 100%; */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    font-size: 12px;
    align-items: center;
    margin-top: 2em;
    clear: both;
}
.next-prev > div {
    width: 45%;
}
.next-prev span {
    font-size: 16px;
    /* font-weight: bold; */
    width: 3%;
    position: relative;
    top: -1px;
}
/* .next-prev > span:first-of-type:before {
    content: '←'
}
.next-prev > span:last-of-type:after {
    padding-left: 5px;
    content: '→'
} */
.next-prev > div:last-of-type {
    text-align: right; 
}
.no-prev > span:first-of-type, .no-prev > div:first-of-type {
 visibility: hidden;
}
.no-next > span:last-of-type, .no-next > div:last-of-type {
 visibility: hidden;
}
.next-prev-instructions { margin-top: 5px;font-size: 85%; font-family: sans-serif; font-style: italic; text-align: center;}

.back-to-index span:first-of-type {
padding-right: 0.5em;
}

/*.back-to-index {
    font-size: 12px;
}
 .back-to-index span:first-of-type:before {
content: '↑';
}

nav.index p.meta:before {
    content: '↑';
} */


nav.archive-link a {
    display: block;
    margin-top: 5px;
}

/* Link blocks */

.list-block {
    display: list-item;
    margin-left: 1.5em;
}

/* Context blocks */
div.context {
    font-size: 12px;
    font-family: sans-serif;
    margin: 0.5em;
    line-height: 125%;
    border-left: solid 2px rgb(200,200,200);
}
div.context div {
    margin-bottom: 3px;      
    padding-left: 5px;
    margin-left: 2px;
        
}
div.context div:last-of-type {
    margin-bottom: 0;
}
div.context label {
   padding-right: 5px;
}
div.context label:after {
   content: ':';
}

/* Images */

div.image-right, img.right { 
    float: right;
    max-width: 40%;
    margin: 0 0 1em 1.5em;
    border-radius: 3px;
}
div.image-left, img.left { 
    float: left;
    max-width: 40%;
    margin: 0 1.5em 1em 0;
    border-radius: 3px;
}
p.center img, img.center { 
    display: block;
    margin: auto;
    margin-bottom: 2em;
    max-width: 90%;
}

div.image-right img, div.image-left img {
    display: block;
    margin-bottom: 0.5em;
    max-width: 100%;
    border-radius: 3px;
}

div.image-right, div.image-left {
    background-color: rgb(240,240,240);
}

div.image-right p, div.image-left p {
    font-size: 80%;
    text-align: center;
    padding: 0 1em 0 1em;
}

p.credit {
    font-style: italic;
    font-size: 11px;
    line-height: 13px;
}

p > img { 
    position: relative;
    top: 0.4em; /* Make it even with the top of the words. */
}

/* Modals */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* The Close Button */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.two-columns, .three-columns { display: flex;   flex-direction: row;
  flex-wrap: wrap; }
.two-columns .list-block, .two-columns li { flex-direction: column; width: 45%; margin-bottom: 1.5em; }
.three-columns .list-block, .three-columns li { flex-direction: column; width: 28%; margin-bottom: 1.5em; }

div.related {
    margin-top: 2em;
    display: inline-block;
    background: rgb(240,240,240);
    border-radius: 5px;
    font-size: 80% !important;
  }
  div.related h3 {
    margin: 0;
  }
  div.related ul {
    padding-left: 1em;
    margin-bottom: 0;
  }
  div.related ul li:last-of-type {
    margin-bottom: 0;
  }



  /* Hide the last delimiter of any delimited sequence */
  .delimited { display: flex; flex-wrap: wrap;gap: 0 0.5em; }
  .delimited > :last-of-type { display: none; }



/* Tippy */
.tippy-box { background-color: rgb(80,80,80) !important; border-radius: 8px; }
.tippy-arrow { color: rgb(80,80,80); }
.tippy-content { padding: 10px 18px; font-size: 90%;}

dialog { 
    background-color:#333;
    color:#fff;
    border-radius:4px;
    font-size:14px;
    line-height:1.4;
    white-space:normal;
    outline:0;
    transition-property:transform,visibility,opacity
  }

/* new byline */

    article > header
    {
        min-height: 40px;

        display: flex;
        align-items: center;
        
        background: url(https://deanebarker.net/deane.jpg?w=40);
        background-position: 5px center;
        background-repeat: no-repeat;
        background-color: rgb(240,240,240);
        
        border-radius: 3px;

        padding: 0.5em;
        padding-left: 60px;
        
        margin-bottom: 2em;

        font-size: 90%;
        font-style: italic;
    }
    article > header div::before
    {
        content: "\00a0\00a0•\00a0\00a0";
    }
    article > header div:first-of-type::before
    {
        content: none;
    }
    article > footer { margin-top: 4em; }
    p.question { font-size: 120%; }
    
    .section-meta { border-radius: 5px; background: rgb(240,240,240); padding: 1em; }
.section-meta p:last-of-type { margin-bottom: 0; }

            .result {
                display: flex;
                justify-content: space-between;
                margin-bottom: 2em;
                gap: 20px;
            }
            .result-image { 
                padding-top: 5px;
            }
            .result-image img 
            {
                border: solid 1px rgb(200,200,200); background-color: rgb(240,240,240); border-radius:3px; display: block;
            }

section.ps p.date { font-size: 90%; font-style: italic;}

            
#q { padding: 10px; width: 80%; font: serif; }
.loading { display: none; margin-bottom: 1em; font-weight: bold; font-style: italic; }
.htmx-request .loading { display: block; }
.htmx-request #results-container { display: none; }

.loading:after {
    overflow: hidden;
    display: inline-block;
    vertical-align: bottom;
    -webkit-animation: ellipsis steps(4, end) 1000ms infinite;
    animation: ellipsis steps(4, end) 900ms infinite;
    content: "\2026";
    /* ascii code for the ellipsis character */
    width: 0px;
  }
  
  @keyframes ellipsis {
    to {
      width: 40px;
    }
  }
  
  @-webkit-keyframes ellipsis {
    to {
      width: 40px;
    }
  }

  .no-external-flag:after { content: none !important; }

  div.deane-speaks { 
    display: flex;
    gap: 50px;
    margin-top: 1.5em;
    align-items: flex-start;
    position: relative;
}

div.deane-speaks div.words { 
	font-size: 90%;
	padding: 1em 2em;
	background-color: rgb(230,230,230);
	border-radius: 1em;
	position: relative;
	display: flex;
	justify-content: center;
  align-content: center;
  flex-direction: column;
}

div.deane-speaks div.words p:last-of-type {
    margin-bottom: 0;
}

div.deane-speaks div.pointer
{
    width: 0px;
    height: 0px;
    border: solid;

    border-top-color: rgb(230,230,230); 
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;

    border-top-width: 20px;
    border-right-width: 0px;
    border-bottom-width: 10px;
    border-left-width: 50px;

    transform: rotate(2deg); 

    position: absolute;
    z-index: -1000;
    left: -40px;
    top: 15px;
}

.card image { display: block; }

.book-title { font-style: italic; }

footnote-ref { font-style: italic; cursor: pointer; text-decoration: underline;  color: blue; background: rgb(240,240,240); font-weight: bold; }

footnote-content {
    display:none;
    position:fixed;
    bottom:1em;
    background-color:#333;
    color:#fff;
    border-radius:10px;
    font-size:90%;
    line-height:1.4;
    white-space:normal;
    outline:0;
    transition-property:display;
    padding:15px 19px;
    border:solid 1px #fff;
    border-bottom:none;
    width:80%;
    max-width:600px;
    left:50%;
    transform:translateX(-50%);
    box-sizing:border-box
  }
  .footnote-displayed {
    display:block!important
  }
  footnote-content header {
    font-weight:700;
    margin-bottom:1em
  }
  footnote-content a {
    color:#fff
  }
  
  footnote-content .close {
    position: absolute;
    right: 1em;
    top: 0.5em;
    font-size: 20px;
    color: white;
    padding: 0 5px;
  }
  
  footnote-content .close:hover {
    background-color: white;
    color: #333;
  }

nav.content-header {
    padding: 1.5em;
    background-color: rgb(240,240,240);
    border-radius: 0.5em;
    font-size: 90%;
    margin-bottom: 2em;
    display: flex;
    gap: 1em;
  }
  
nav.content-header img {
    align-self: start;
}
  nav.content-header ul { padding-left: 1.5em; }