:root {
    --textColor: #374151;
    --textColor0: hsl(from var(--textColor) h s calc(l - 10));
    --textColor1: hsl(from var(--textColor) h s calc(l - 20));

    --highlightColor: #10b981;
    --highlightColor0: hsl(from var(--highlightColor) h s calc(l - 10));
    --highlightColor1: hsl(from var(--highlightColor) h s calc(l - 20));

    --backgroundColor: #FFFFFF;
    --backgroundColor0: hsl(from var(--backgroundColor) h s calc(l - 10));
    --backgroundColor1: hsl(from var(--backgroundColor) h s calc(l - 20));

    --marginHeight: 8px;
}

#htmlText {
    background-color: var(--backgroundColor);
}

.parsedown {
    color: var(--textColor);
    text-wrap: wrap;
    overflow-wrap: break-word;
}

.parsedown h1 {
    font-size: 34px;
    font-weight: bold;
    margin-top: var(--titleMargin) !important;
}

.parsedown h2 {
    font-size: 24px;
    font-weight: bold;
    margin-top: var(--titleMargin) !important;
}

.parsedown h3 {
    font-size: 20px;
    font-weight: bold;
    margin-top: var(--titleMargin) !important;
}

.parsedown h4 {
    font-size: 18px;
    font-weight: bold;
    margin-top: var(--titleMargin) !important;
}

.parsedown h5 {
    font-size: 16px;
    font-weight: bold;
    margin-top: var(--titleMargin) !important;
}

.parsedown ul {
    list-style-type: circle;
    list-style-position: inside;
    margin-top: var(--marginHeight) !important;
}

.parsedown ol {
    list-style-type: decimal;
    list-style-position: inside;
    margin-top: var(--marginHeight) !important;
}

.parsedown a {
    color: var(--highlightColor);
}

.parsedown a:hover {
    color: var(--highlightColor0);
}

.parsedown a:active {
    color: var(--highlightColor1);
}

.parsedown pre {
    background-color: var(--backgroundColor0);
    border-radius: 8px;
    padding: 8px 16px;
    margin: 4px 0px 16px 0px;
    text-wrap: wrap;
    overflow-wrap: break-word;
    margin-top: var(--marginHeight) !important;
}

.parsedown code {
    background-color: var(--backgroundColor0);
    border-radius: 8px;
    color: var(--textColor);
    padding: 2px;
    margin: 4px 0px 16px 0px;
    font-size: 14px;
}

table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
    margin-top: var(--marginHeight) !important;
}

th,
td {
    padding: 8px;
    border: 1px solid var(--textColor);
}

th {
    background-color: var(--backgroundColor0);
}

blockquote {
    font-size: 16px;
    font-style: italic;
    color: var(--textColor);
    padding: 16px;
    border-left: 3px solid var(--highlightColor);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    line-height: 1.6;
    position: relative;
    background: var(--backgroundColor0);
    margin-top: var(--marginHeight) !important;
}


/* Thanks to: https://css-tricks.com/the-cleanest-trick-for-autogrowing-textareas/ */
.grow-wrap {
    /* easy way to plop the elements on top of each other and have them both sized based on the tallest one's height */
    display: grid;
    max-width: 500;
}
.grow-wrap::after {
    /* Note the weird space! Needed to preventy jumpy behavior */
    content: attr(data-replicated-value) " ";

    /* This is how textarea text behaves */
    white-space: pre-wrap;

    /* Hidden from view, clicks, and screen readers */
    visibility: hidden;
}
.grow-wrap > textarea {
    /* You could leave this, but after a user resizes, then it ruins the auto sizing */
    resize: none;

    /* Firefox shows scrollbar on growth, you can hide like this. */
    overflow: hidden;
  }
.grow-wrap > textarea,
.grow-wrap::after {
    /* Identical styling required!! */
    /* border: 1px solid black; */
    padding: 16px;
    font: inherit;

    /* Place on top of each other */
    grid-area: 1 / 1 / 2 / 2;
}
.dont-break-out {
    /* These are technically the same, but use both */
    overflow-wrap: break-word;
    word-wrap: break-word;

    -ms-word-break: break-all;
    /* This is the dangerous one in WebKit, as it breaks things wherever */
    word-break: break-all;
    /* Instead use this non-standard one: */
    word-break: break-word;

    /* Adds a hyphen where the word breaks, if supported (No Blink) */
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}
/* Thanks to: https://css-tricks.com/the-cleanest-trick-for-autogrowing-textareas/ */
