@-webkit-keyframes shake {
    0% { -webkit-transform: translate(2px, 1px) rotate(0deg); } 
    10% { -webkit-transform: translate(-1px, -2px) rotate(-1deg); }
    20% { -webkit-transform: translate(-3px, 0px) rotate(1deg); }
    30% { -webkit-transform: translate(0px, 2px) rotate(0deg); }
    40% { -webkit-transform: translate(1px, -1px) rotate(1deg); }
    50% { -webkit-transform: translate(-1px, 2px) rotate(-1deg); }
    60% { -webkit-transform: translate(-3px, 1px) rotate(0deg); }
    70% { -webkit-transform: translate(2px, 1px) rotate(-1deg); }
    80% { -webkit-transform: translate(-1px, -1px) rotate(1deg); }
    90% { -webkit-transform: translate(2px, 2px) rotate(0deg); }
    100% { -webkit-transform: translate(1px, -2px) rotate(-1deg); }
}
.shake {
    -webkit-animation-name: shake;
    -webkit-animation-duration: 0.5s;
    -webkit-transform-origin:50% 50%;
    -webkit-animation-iteration-count: 1;
}

html, body {
    height: 100%;
}

body {
    background-color: #232323;
    color: #aaa;
}


#messages {
    overflow-y: auto;
    overflow-wrap: break-word;
    background-color: #232323;
    border-radius: 5px;
}

.message-container {
    margin: 5px;
}

#name {
    max-width: 150px;
}

#send {
    max-width: 100px;
}

#room-container {
    max-height: calc(100vh - 66px);
    max-height: calc(var(--vh, 1vh) * 100 - 66px);
}

.msg-time {
    font-size: 0.6em;
    color: #888;
}

.msg-name {
    font-size: larger;
    font-weight: bolder;
    color: #fff;
}

.msg-content {
    font-size: medium;
}

#logo {
    height: 40px;
    width: 40px;
}

#join-default-text {
    text-align: center;
}

.login-input {
    text-align: center;
    max-width: 250px;
}

#submit {
    max-width: 100px;
}

.small-text {
    color: #888;
    font-size: 0.75em;
    margin-top: 2px;
    margin-bottom: 12px;
}

#check-pseudo-text, #check-email-text, #login-fail-text {
    margin-top: 2px;
    font-size: 0.8em;
    color: #E74C3C;
    display: none;
}

body{ 
    display:flex; 
    flex-direction:column; 
}


.footer{
    margin-top:auto;
}

.footer-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-text {
    width: min-content;
}

.remove-room, .remove-file {
    margin-left: auto;
}

#add-button {
    margin-left: auto;
}

#list-connected, #list-files {
    margin-left: 1em;
    margin-right: 1em;
    overflow-y: auto;
    overflow-x: hidden;
    height: 50%;
}

#list-files {
    height: calc(50% - 24px - 40px);
}

#room-rightbar {
    -webkit-transition: width 0.5s ease;
    -moz-transition: width 0.5s ease;
    -o-transition: width 0.5s ease;
    transition: width 0.5s ease;

    display: inline-block;
    width: 0px;
    overflow: hidden;
}

#room-rightbar.in {
    width: 250px;
}

#room-rightbar {
    align-items: stretch;
    max-height: 100%;
}

.room-file-container {
    display: flex;
    align-items: center;
}

.room-file, .room-user {
    min-width: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    border: none;
    white-space: nowrap;
}

.room-file {
    font-size: small;
}

#center-room {
    min-width: 50px;
}

.messages-drop-overlay {
    background-color: #000;
    opacity: 0.5;
    width: 100%;
    height: calc(100% - 1em);
    z-index: 10;
    margin-left: -100%;
    pointer-events:none;
}

.progress-finished {
    -webkit-transition: background-color 0.5s ease;
    -moz-transition: background-color 0.5s ease;
    -o-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease;

    background-color: #26C69D;
}

.progress-fail {
    -webkit-transition: background-color 0.5s ease;
    -moz-transition: background-color 0.5s ease;
    -o-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease;

    background-color: #C44133;
}

.hide {
    -webkit-transition: opacity 0.5s ease;
    -moz-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;

    opacity: 0;
}