@font-face {
    font-family: 'Montserrat';
    src: url('Montserrat-Regular.woff') format('woff'),
         url('Montserrat-Regular.ttf')  format('truetype');
}

input {
    width: 100%;
    display: block;
    border-radius: 3px;
}

textarea {
    width: 100%;
    display: block;
    border-radius: 3px;
}

body {
    background-color: #151515;
	color: white;
    margin: 0;
    height:  100%;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.5s;
}

.spacer {
    flex: 1;
}

.pointer {
	cursor: pointer;
}

.button {
    outline: none;
    cursor: hand;
    font-family: 'Montserrat', sans-serif;
    color: #FFFFFF;
    
    border-width: 1px;
    border-style: solid;
    border-color: #ffffff;
    border-radius: 2px;
    
    height: 35px;
    font-size: 20px;
    
    background-color: #151515;
    transition: all 0.5s;
}

.button:hover {
    color: #151515;
    background-color: #ffffff;
    border-color: #151515;
}

.button:focus {
    color: #151515;
    background-color: #ffffff;
    border-color: #151515;
}

.button:disabled {
    cursor: default;
    color: #555555;
    
    border-color: #555555;
    background-color: #151515;
}

.button:disabled:hover {
    border-color: #555555;
}

.button:disabled:focus {
    border-color: #555555;
}

.textbox {
    outline: none;
    font-family: 'Montserrat', sans-serif;
    
    border-width: 1px;
    border-style: solid;
    border-color: #555555;
    
    height: 35px;
    
    font-size: 20px;
    transition: all 0.5s;
}

.textbox:hover {
    border-color: #FFFFFF;
}

.textbox:focus {
    border-color: #FFFFFF;
}

.textbox:disabled {
    border-color: #555555;
}

.textbox:disabled:hover {
    border-color: #555555;
}

.textbox:disabled:focus {
    border-color: #555555;
}

#container {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    
    min-width: 50%;
    max-width: 50%;
    min-height: 100%;
    
    left: 25%;
    
    position: relative;
    transition: opacity 0.5s;
}

#logo {
    flex: 1;
    flex-grow: 0;
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    padding-bottom: 16px;

    transition: opacity 0.5s;
}

#logo-image {
    max-width: 50%;
    max-height: 50%;
    display: block;
}

#auth-content {
    flex: 1;
    flex-grow: 0;
    min-width: 100%;
    transition: all 0.5s;
}

#input-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: start;
    align-content: center;
}

.input-element {
    flex: 1;
    flex-grow: 1;
    padding: 0 5px 0 5px;
}

#pass-container {
    max-width: 50%;
}

#proceed-container {
    flex-grow: 0;
}

#error-container {
    color:  #FF0000;
    text-align: center;
    font-size: 20px;
    opacity: 0;
}

#chat-content {
    flex: 5;
    flex-basis: 0;

    min-width: 100%;

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;

    transition: opacity 0.5s;
    background-color: #f7f7f7;
    color: #000000;

    border-style: solid;
    border-width: 1px;
    border-color: #aaaaaa;
    border-radius: 2px;
    border-radius: 2px;

    box-shadow: 0px 0px 7px 1px;
}

#chat-group {
    flex: 3;

    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;

    margin: 5px;
}

#info-group {
    flex: 1;

    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;

    margin: 5px 5px 5px 0px;

    border-style: solid;
    border-color: #aaaaaa;
    border-width: 1px;
    border-radius: 2px;

    padding: 10px;
}

#chat-text-panel {
    flex: 24;
    flex-basis: 0;
    word-break: break-word;

    font-size: 14px;

    overflow: auto;

    border-style: solid;
    border-color: #aaaaaa;
    border-width: 1px;
    border-radius: 2px;

    margin-bottom: 5px;
    padding: 0px 10px 10px 10px;
}

#chat-input-panel {
    flex: 1;

    display: flex;

    margin: 0;

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
}

#chat-input {
    flex: 7;

    margin-right: 5px;
}

#chat-input-textbox {
    height: 30px;
    font-size: 14px;

    resize: none;

    border-color: #aaaaaa;
}

#chat-input-textbox:hover {
    border-color: #555555;
}

#chat-input-textbox:focus {
    border-color: #555555;
}

.msg-txt {
    display: block;
    margin: 8px 0px 0px 0px;
}

.msg-sender {
    font-weight: bold;
}

.msg-time {
    font-size: 10px;

    color: #151515;

    margin-left: 4px;
}

.msg-sys {
    display: block;
    text-align: center;

    font-style: italic;

    color: #151515;

    margin: 8px 0px 0px 0px;
}

.msg-txt-body {
    white-space: pre-wrap;
    display: block;
}

.participant {
    display: block;
    margin: 0px 0px 8px 0px;
}

.participant-status {
    font-style: italic;
    font-size: 12px;

    color: #151515;

    margin-left: 4px;
}

#chat-input-send {
    flex: 1;
}

#chat-input-send-button {
    height: 30px;
    font-size: 14px;
}

#chat-input-send-button:hover {
    color: #151515;
    background-color: #ffffff;
    border-color: #151515;
}

#chat-input-send-button:focus {
    color: #151515;
    background-color: #ffffff;
    border-color: #151515;
}

#info-participants-panel {
    flex: 1;
    flex-basis: 0;
    word-break: break-word;
    overflow: auto;
}

@media only screen and (max-width: 1000px) {
    #logo-image {
        max-width: 80%;
        max-height: 80%;
        display: block;
    }
}

@media only screen and (max-width: 600px) {
    #container {
        min-width: 100%;
        max-width: 100%;
        left: 0;
    }
    
	#logo-image {
        max-width: 90%;
        max-height: 90%;
        display: block;
    }
}