.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;
}

.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: 0.5rem;
    font: inherit;

    /* Place on top of each other */
    grid-area: 1 / 1 / 2 / 2;
}


.left-scroll {
    direction: rtl;
    /* Moves scrollbar to the left */
}

.left-scroll::placeholder,
.left-scroll,
.left-scroll * {
    direction: ltr;
    /* Keep text direction normal */
    text-align: left;
    /* Align text properly */
}


.navbar-logged-in .hidden-on-login {
    display: none !important;
}

.navbar-logged-out .hidden-on-login {
    display: inline-block !important;
}

.navbar-logged-in .hidden-on-logout {
    display: inline-block !important;
}

.navbar-logged-out .hidden-on-logout {
    display: none !important;
}

.user-avatar-dropdown-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 0.1rem !important;
    flex-flow: row nowrap !important;
}