:root {
    --shadedBackround: #bb540021;
    --shadedBackgroundGreyscale: rgba(210, 210, 210, 0.5);
    --headerColor: #2b2b2b;
}

body {
    margin: 25pt 80pt;
    padding: 0;
    font-family: Lora;
    color: #515151;
    
}

.pageTitle {
    margin: 10pt 0 10pt 0;
}
  
/* GENERAL TEXT */

h1, h2, h3, h4, h5 {
    font-weight: normal;
}
/*   
h2 {
    font-size: 1.7em;
} */
  
p {
    max-width: 45em;
    line-height: 1.4em;
}

ol, ul {
    line-height: 1.5em;
}

li {
    margin-bottom: 5pt;

}

tr {
    text-align: left;
}

th {
    text-align: left;
}

td, th {
    padding-right: 10pt;
}

.pageContainer {
    margin-top: 85pt;
    max-width: 45em;
}

/* LINKS */
a {
    text-decoration: none;
    color: var(--headerColor);
    position: relative;
}

a:not(.postTitle):not(.attachmentLink):not(.projectTitleLink):not(.unlitLink)::before  {
    position: absolute;
    bottom: 1pt;
    left: -2pt;
    display: inline-block;
    content: "";

    width: 100%;
    height: 45%;
    background-color: var(--shadedBackround);
}

a:visited {
    color: inherit;
}

footer {
    margin-top: 40pt;
}

hr {
    border: none;
    border-top: 1pt solid rgba(0, 0, 0, 0.1);
    width: 40%;
    margin-right: auto;
    margin-left: 0;
}

/* MENU */

.menuItem {
    display: inline-block;
    margin-right: 15pt;
}

/* P5 */

canvas {
    display: block;
    pointer-events: none;
}

#backgroundCanvas {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}
  
#foregroundCanvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
}

/* BLOG POSTS */
.postTitle {
    margin-top: 5pt;
}

.stub .postTitle {
    margin-bottom: 5pt;
}

.stub .postLink {
    margin-bottom: 15pt;
}

.postMeta {
    opacity: 0.9;
}

.dateFooter {
    opacity: 0.8;
    font-style: italic;
    font-size: 0.9em;
    margin-top: 30pt;
}

.postBody h2 {
    margin-bottom: 0;
    margin-top: 25pt;
    display: inline-block;
    position: relative;
    color: var(--headerColor);
}

.footnote-ref, .footnote-backref {
    text-decoration: underline !important;
}

.footnote-backref {
    font-size: 0.9em;
}

.footnote-ref::before, .footnote-backref::before {
    background-color: #ffffff00 !important;
}

.postBody img {
    width: 100%;
    border-radius: 4pt;
    margin-top: 5pt;
}

.stub {
    margin-top: 40pt;
}

code {
    font-size: 1.2em;
    background-color: var(--shadedBackgroundGreyscale);
    padding: 1pt 3pt;
    border-radius: 4pt;
}

h1 code, h2 code, h3 code, h4 code, h5 code {
    background-color: #ffffff00;
}

.imageCaption {
    font-weight: normal;
    font-style: italic;
    display: block;
    margin: 0 auto 35pt auto;
    font-size: 0.95em;
    width: 80%;
    text-align: center;
}

.allPosts {
    font-size: 1.4em;
    margin-top: 30pt;
    display: inline-block;
}

audio {
    width: 100%;
    display: block;
    margin-bottom: 15pt;
}

.CodeMirror, .CodeMirror-scroll {
    height: auto;
	min-height: 200px;
}

.audioTitleContainer {
    margin-bottom: 10pt;
    white-space: nowrap;
    display: flex;
    justify-content: space-between;
}

.audioTitle {
    font-weight: bold;
    font-size: 1.4em;
}

.audioDownloadLink {
    font-size: 0.6em;
    text-transform: uppercase;
    padding-top: 1.5em;
}

.audioPlayerBlock {
    margin-top: 30pt;
}

/* VIDEO EMBEDS */
.postVideoContainer {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 20pt 0 20pt 0;
    border-radius: 5pt;
}

.postVideoContainer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5pt;
}

/* Buttons and editing */
.actionButton {
    position: relative;
    cursor: pointer;
    display: inline-block;
    margin-right: 25pt;
    margin-top: 15pt;
}

.actionButton::before {
    position: absolute;
    bottom: 2pt;
    left: -10pt;
    display: inline-block;
    content: "";

    width: 100%;
    height: 45%;
    background-color: var(--shadedBackround);
}

.cleanInput {
    font-size: 1.2em;
    border: none;
    font-family: inherit;
    color: black;
    width: 100%;
    max-width: 150pt;
    padding: 2pt 0 4pt 5pt;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
    resize: none;
    outline: none;
}

.editorSection {
    margin-top: 20pt;
}

.editorSectionLabel {
    margin-bottom: 5pt;
    margin-left: 2pt;
}

select {
    display: inline-block;
    -webkit-appearance: none; 
    -moz-appearance: none;
    appearance: none;

    font-family: inherit;
    font-weight: bold;
    padding: 5pt 5pt 5pt 5pt;
    margin-left: 0;
    font-size: 1em;

    outline: none;

    text-align: center;
}

.loggedIn::before {
    width: 1pt;
    height: 1pt;
    background-color: #999999;
}

.messageBox {
    margin-top: 20pt;
    color: gray;
    font-family: monospace;
    background-color: white;
    padding: 10pt;
    font-size: 1.2em;
}

.roundedOutlined {
    border: 1px solid #ced4da;
    width: auto;
    border-radius: 4pt;
    background-color: white;
}

#saveSection {
    margin-top: 0;
}

#saveButton {
    margin-top: 5pt;
}

blockquote {
    border-left: 1px solid #616161;
    margin-left: 0;
    padding-left: 10pt;
    color: #616161;
}

.yearLabel {
    display: inline-block;
    position: relative;
    color: var(--headerColor);
    margin-bottom: 5pt;
    margin-top: 0pt;
    margin-bottom: 30pt;
}

.linkBox {
    display: inline-block;
    position: relative;
    margin-right: 10pt;
}

.timelineContainer {
    margin-top: 40px;
}

.timelineEntry {
    position: relative;
    margin-left: 0;
    margin-bottom: 60pt;
    padding: 10pt 0 10pt 30pt;
}

.timelineEntry::before {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 20pt;
    content: "";
    background-image: url('/application/sidebar.svg');
}

.tlProjectTitle {
    margin: 0;
    margin-bottom: 5pt;
}

.tlProjectSubtitle {
    margin: 0;
}

.metaSeparator {
    display: inline-block;
    margin: 0 5pt;
}

.itemMeta {
    margin: 0;
}

.tlProjectHeader {
    margin-bottom: 5pt;
    margin-top: 20pt;
}

.noLink::before {
    background-color: transparent;
}

.attachmentLink {
    display: inline-block;
}

.mediaContainerContainer {
    --imageHeight: 200px;
    --verticalPadding: 15px;
    --verticalMargin: 5px;
    width: 100%;
    margin: var(--verticalMargin) 0;
    height: calc(var(--imageHeight) + var(--verticalPadding) + var(--verticalMargin));
}

.mediaContainer {
    overflow-x: scroll;
    white-space: nowrap;
    height: calc(var(--imageHeight) + var(--verticalPadding) + var(--verticalMargin));
}

.attachmentImage {
    border-radius: 5pt;
    height: var(--imageHeight);
    margin-right: 20pt;
    padding-bottom: var(--verticalPadding);
    /* background-color: #ced4da; */
}

.attachmentLink::before {
    background-color: transparent;
}

.mediaContainer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5pt;
}

.attachmentHeader {
    margin-bottom: 2pt;
}