@charset "UTF-8";

* {
    box-sizing: content-box;
}

body {
    padding: 0;
    margin: 0;
    /* Fallback (hack) to vw and vh if svw and svh aren't supported */
    width: 100vw;
    height: 100vh;
    width: 100svw;
    height: 100svh;
    overflow: hidden;

    background: var(--accent-color);
}

/* This is the black background box that scrolls */
#main-wrap {
    height: 100%;
    overflow: scroll;

    margin: 0 1.5%;

    background: var(--background-color);
}

/* The circle */
#main-wrap.first-page::before {
  content: "";
  border: 10px solid var(--text-color);
  width: 60vmin;
  height: 60vmin;
  display: block;
  border-radius: 1000000000px;
  margin-left: calc(50% - 30vmin);
  margin-top: calc(50svh - 30vmin);
  margin-bottom: calc(50svh - 30vmin);
}

/* This is the invisible column that stores our text */
#main-content {
    max-width: 45em;

    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 30px;

    font-size: 16px;
    color: var(--text-color);
    font-family: Helvetica, Arial, sans-serif;

    -webkit-text-size-adjust: 100%;
}

.thought {
    margin: 20px 0;
}

.thought.highlighted .main, .thought.highlighted .extended {
    margin-left: 25px;
}

/* Standard button styles, most prominently used on the show-more buttons */
button, input[type="button"], input[type="submit"], .button {
    background: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    color: var(--accent-color);
    margin: 3px 6px;
    padding: 0;
    border-bottom: 1px solid transparent;
    outline: none;
    font-size: 13px;
}
form input[type="submit"] {
    font-size: 15px;
}
button:hover, button:focus,
input[type="button"]:hover, input[type="button"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
.button:hover, .button:focus {
    /* border-bottom-color: var(--accent-color); */
    text-decoration: underline;
}

/* Textbox/textarea styles */
textarea, input[type="text"], input[type="search"], input[type="password"] {
    padding: 0 2px;
    outline: none;
    resize: none;
    background: none;
    border: none;
    font-size: inherit;
    color: inherit;
    font-family: inherit;
    border-bottom: 1px solid var(--accent-color);
    border-radius: 0;
    overflow-x: hidden;
    display: inline-block;
    line-height: 1.5;
}
textarea::placeholder, input[type="text"]::placeholder {
    color: var(--text-color);
    opacity: 50%;
}
textarea {
    display: block;
}

form {
    margin-bottom: 4em;
}

.text, .thought-end {
    max-width: 100%;
    line-height: 1.5em;
}

.thought .text {
    white-space: pre-wrap;
    font-family: inherit;
    overflow-wrap: break-word;
}

.main-text, .main-text p:last-child {
    display: inline; /*inline so that the Show More is on the same line*/
}

a {
    text-decoration: none;
    color: var(--accent-color);
}
.text p {
    padding: 0;
    margin: 0;
    overflow-wrap: break-word;
}
.text > :not(:last-child) {
    margin-bottom: 1em;
}
/*Inline code*/
.text p > code {
    border-radius: 3px;
    padding: 1px 5px;
    background: rgba(0, 0, 0, 0.3);
}
/*Code blocks*/
.text pre {
    margin: 0;
    overflow-x: auto;
    display: block;

    background: rgba(0, 0, 0, 0.3);
    border-radius: 3px;
    padding: 3px 7px;
}
.text pre > code {
    /* block forces the text to the whole width, but since inline-block is buggy in Safari, this is our best option */
    display: block;
}
/* Emphasis blocks on the About page */
em.text, .text.quote, .text em {
    color: var(--accent-color);
}
h1, h1 a {
    text-decoration: underline;
    text-decoration-color: var(--accent-color);
}

.extended-media {
    max-width: calc(100% - 20px);
    max-height: 500px;
    margin: 10px;
    display: block;
}

.extended-text {
    margin-top: 1em;
    display: block; /*Needs to be inline-block or block, so that margin on it works*/
}

.thought .main {
    min-height: 1em;
}

.thought-end {
    overflow: auto;
    font-size: 14px;
    color: var(--accent-color);
    font-weight: 400;
    margin-top: 16px;
}

.thought hr {
    margin: 0;
    border-style: none;
    border-bottom: 1px var(--accent-color) solid;
}

.timestamp, .permalink {
    float: right;
}

.permalink {
    margin-left: 6px;
    color: var(--text-color);
}
.permalink .button, .permalink .button:visited {
    color: var(--accent-color);
    margin-left: 2px;
    font-size: 14px;
}
.permalink .button:hover {
    text-decoration: underline;
}
.permalink::before {
    content: "•";
}
.edit-link .button {
    margin-right: 0;
}

.transcript {
    white-space: pre-wrap;
    font-family: inherit;
    overflow-wrap: break-word;
    padding-left: 5px;
    line-height: 1.5;
}
.transcript, .transcript-button {
    font-size: 14px;
}
.transcript-label {
    color: var(--accent-color);
    font-size: 16px;
    padding-bottom: 0.5em;
    padding-left: 3px;
}

/* Navbar styles */
header#main-header {
    padding-top: 4%;
    margin: 0;
    overflow: hidden;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

#main-header h1 {
    /* Disable browser styles for h1 */
    font-size: inherit;
    font-weight: inherit;
    display: inline;
    font-size: 3rem;
    font-weight: normal;
    color: var(--text-color);
    font-family: Georgia, Libre Baskerville, serif;
}

#main-header h1 a {
    color: inherit;
}

#main-header#header-right {
    align-self: flex-end;
}

nav {
    font-size: 1.1em;
}

nav.top {
    line-height: 1.5;
    margin-top: 15px;
    margin-bottom: 15px;
    display: flex; /* Mostly just removes the horizontal space from whitespace */
}

nav.top {
    justify-content: end;
}

nav .nav-item:not(:last-child)::after {
  content: "•";
  margin-left: 0.7em;
  margin-right: 0.7em;
  text-decoration: none !important;
}

nav .current-page {
    font-weight: bold;
}

nav a, nav a:visited {
    font-weight: 400;

    color: var(--accent-color);
}
nav a:hover {
    text-decoration: underline;
}

.nav-wrapper {
    margin-bottom: 40px;
}

nav.bottom {
    margin-top: 30px;
    margin-bottom: 40px;
}

nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

nav li {
    line-height: 1.35;
}
nav li::before {
    content: "➤";
}
nav li > * {
    margin-left: 10px;
