:root {
    --dark-purple: #271f30;
    --light-red: #ff686b;
    --eggshell: #dfe2cf;
    --ucla-blue: #4d7298;
    --robin-egg-blue: #66ced6;

    --vermilion: #ef3e36;
    --lapis-lazuli: #235789;
    --onyx: #383d3b;
    --light-cyan: #e0fbfc;
    --buff: #edb88b;
    --eeriee-black: #1d201f;

    --clear: #00000000;
}

html {
    font-family: sans-serif;
    height: 100%;
}

body {
    margin: 0;
    height: 100%;
    display: flex;
    background-color: var(--buff);
}

#side-panel {
    height: 100%;
    display: none;
    color: var(--onyx);
}

#header button {
    transform: translateY(-.3em);
    width: auto;
    visibility: visible;
}

#side-panel {
    display: block;
    width: 100%;
}

#side-panel.invisible-on-mobile {
    display: none;
}

/* on desktop only */
@media only screen and (min-width: 768px) {
    #side-panel {
        display: block;
        width: auto;
        visibility: visible;
        border-right: 3px solid var(--onyx);
    }

    #side-panel.invisible-on-mobile {
        display: block;
    }

    #header button {
        width: 0;
        margin: 0;
        padding: 0;
        visibility: hidden;
    }

    #side-panel .conversation {
        max-width: 300px;
    }

}

#side-panel .conversation {
    width: 100%;
    height: 70px;
    border-bottom: solid var(--onyx) 3px;
    color: var(--onyx);
    padding: .5em;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#side-panel .conversation:hover {
    background-color: var(--vermilion);
    color: var(--light-cyan);
}

#side-panel h2 {
    margin: 0;
}

#header {
    position: sticky;
    top: 0;
    border-bottom: solid var(--onyx) 3px;
}

#main-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: calc(100% - 300px);
}

#page {
    width: 100%;
}

h1 {
    display: inline-block;
    color: var(--onyx);
    margin-left: 1em;
}

.rounded-rectangle {
    border-width: 2px;
    border: black;
    border-style: none;
    border-radius: 1em;

    padding: .6em .8em;
}

.message-content {
    z-index: 1;
    float: right;
}

.message-content.theirs {
    background-color: var(--onyx);
    color: var(--light-cyan);

    float: left;

    border-bottom-left-radius: 0;
}

.message-content.theirs h3 {
    color: var(--buff);
    margin: 0;
    margin-bottom: 3px;
    font-size: .85em;
    font-weight: bolder;
    letter-spacing: .03em;
}

.theirs .message-text {
}

.message-content.ours {
    background-color: var(--vermilion);

    right: 0;
    margin-bottom: 0.5em;

    border-bottom-right-radius: 0;
}

.ours .message-text {
    color: var(--light-cyan);
}

.system-message {
    color: var(--onyx);
    width: 100%;
    text-align: center;
}

ul {
    margin: 0;
    padding-top: 1em;
    padding-right: 2em;
    height: 100%;
    overflow: scroll;
    list-style: none;
}

li {
    position: relative;
    display: inline-table;
    margin-bottom: 0.5em;
}

li.message {
    height: 2.5em;
    width: 100%;

    margin-bottom: 1em;
}

#input-panel-container {
    padding: 0 1em 1em 1em;
}

#input-panel {
    display: flex;
    justify-content: space-between;
    padding: 0;

    z-index: 1;

    background-color: var(--light-cyan);
    border-radius: 100vw;
}

#input-panel input {

    width: 100%;
    color: var(--onyx);
    background-color: rgba(0,0,0,0);
    border-style: none;
    padding: 0 2em;

    z-index: 1;
    font-size: 1em;
}

#input-panel input:focus {
    outline: none;
}

button {
    color: var(--vermilion);
    background-color: #00000000;
    border-style: none;
    border-radius: 100% !important;
    padding: 1em !important;
    float: right;
}

button:hover {
    color: var(--light-cyan);
    background-color: var(--onyx);
}

#typing-indicator {
    color: var(--eggshell);

    margin: 0;
    margin-left: 1em;
    margin-bottom: 0.5em;

    position: fixed;
    bottom: 3em;
}


.message-status {
    color: var(--onyx);

    position: absolute;
    bottom: -1.75em;
    right: 1em;
    font-size: .8em;
}