:root {
    --blanc: #fff;
    --gris: #666;
    --noir: #000;

    --clear: #00000000;
    --bleu: #0055a4;
    --rouge: #e1000f;

    --rose-de-l-erreur: #f0f;

    --navy: #0b131f;
    --bluegrey: #232b35;
    --sky: #7bbffd;
    --bluewhite: #ebebec;
}

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

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

#side-panel {
    height: 100%;
    color: var(--noir);
    display: block;
    width: 100%;
}

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

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

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

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

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

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

    #main-panel {
        width: calc(100% - 300px);
    }
}

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

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

#side-panel .conversation:hover {
    background-color: var(--bleu);
    color: var(--blanc);
}

#side-panel h2 {
    margin: 0;
}

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

#main-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
}

#page {
    width: 100%;
}

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

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

    padding: 1em 1.5em;
}

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

.message-content.theirs {
    background-color: var(--bluegrey);
    color: var(--bluewhite);

    float: left;

    border-bottom-left-radius: 0;
}

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

.theirs .message-text {
}

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

    right: 0;
    margin-bottom: 0.5em;
border-bottom-right-radius: 0;
}

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

.system-message {
    color: var(--gris);
    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;

    border-radius: 100vw;

    color: var(--bluewhite);
    background-color: var(--bluegrey);
    border-color: var(--bluegrey);
}

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

#input-panel input::placerholder {
    color: var(--bluewhite);
}

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(--bluewhite);

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

    position: fixed;
    bottom: 3em;
    visibility: hidden;
}

button {
    background-color: var(--sky);
    color: var(--bluegrey);

    margin: 0.5em;
    padding: 0;
    flex-grow: 1;
    right: 0;
    font-size: 1em;
    border-width: 3px;
    border-style: none;
}

button:hover {
    color: var(--bluewhite);
    background-color: var(--bluegrey);
    border-color: var(--bluegrey);
    border-width: 3px;
    padding: 0;
    border-style: solid;
}

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

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