@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic);
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
::-webkit-scrollbar-track {
    background-color: #e0dad6;
}
::-webkit-scrollbar {
    width: 7px;
}
::-webkit-scrollbar-thumb {
    background: #b1b1b1;
}
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}
body {
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    color: #333;
    font-family: 'Source Sans Pro', Arial;
}
.color-1 { color: #35cd96 }
.color-2 { color: #6bcbef }
.color-3 { color: #e542a3 }
.color-4 { color: #91ab01 }
.color-5 { color: #ffa97a }
.color-6 { color: #1f7aec }
.color-7 { color: #dfb610 }
.color-8 { color: #029d00 }
.color-9 { color: #8b7add }
.color-10 { color: #fe7c7f }
.color-11 { color: #ba33dc }
.color-12 { color: #59d368 }
.color-13 { color: #b04632 }
.color-14 { color: #fd85d4 }
.color-15 { color: #8393ca }
.color-16 { color: #ff8f2c }
.color-17 { color: #a3e2cb }
.color-18 { color: #b4876e }
.color-19 { color: #c90379 }
.color-20 { color: #ef4b4f }
#chat {
    height: 100%;
    padding-bottom: 55px;
    padding-right: 220px;
    position: relative;
    overflow: hidden;
}
#chat #overflow {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(224,218,214,0.85);
    z-index: 9999;
}
#chat #overflow .overflow-table {
    display: table;
    width: 100%;
    height: 100%;
}
#chat #overflow .overflow-table .overflow-table-cell {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
#chat #overflow .overflow-table .overflow-table-cell .inside {
    display: inline-block;
    position: relative;
    font-size: 18px;
    color: #000;
    background: #FFF;
    box-shadow: 0 1px 0.5px rgba(0,0,0,0.13);
    border-radius: 7.5px;
    max-width: 88%;
    padding: 10px;
}
#chat #overflow .overflow-table .overflow-table-cell .icon {
    display: block;
    position: absolute;
    width: 10px;
    height: 11px;
    bottom: 10px;
    left: -10px;
    background-image: url(../../images/message-arrow-left.png);
    background-repeat: no-repeat;
}
#chat #overflow.error .overflow-table .overflow-table-cell .title {
    color: #d02121;
}
#chat #overflow.error .overflow-table .overflow-table-cell .sub-message {
    font-size: 16px;
    line-height: 18px;
    color: #5b5b5b;
    font-weight: normal;
}
#chat #overflow.login .overflow-table .overflow-table-cell .inside {
    text-align: left;
    min-width: 250px;
}
#chat #overflow.login .overflow-table .overflow-table-cell .inside label {
    display: block;
    font-size: 13px;
    color: #5b5b5b;
}
#chat #overflow.login .overflow-table .overflow-table-cell .inside input[type=text] {
    display: block;
    border: 1px solid #b0b0b0;
    border-radius: 5px;
    padding: 7px 10px;
    outline: none;
    font-size: 16px;
    color: #5b5b5b;
    margin: 5px 0px 8px 0px;
    width: 100%;
}
#chat #overflow.loading .overflow-table .overflow-table-cell .inside img {
    display: inline-block;
    vertical-align: text-bottom;
    width: 23px;
    margin-right: 4px;
}
#chat-facebook-login {
    background: #2984d4;
    color: #FFF;
    text-decoration: none;
    font-size: 15px;
    padding: 8px 0;
    border-radius: 5px;
    display: block;
}
#chat-facebook-login:hover {
    opacity: 0.95;
}
#chat-facebook-login.disabled {
    opacity: 0.7;
    cursor: wait;
}
#messages {
    height: 100%;
    position: relative;
    overflow: auto;
    padding: 10px;
    background-color: #e0dad6;
    cursor: default;
}
#messages .user-typing {
    z-index: 10;
    position: absolute;
    left: 0;
    bottom: 0;
}
#messages .message-item {
    display: block;
    clear: both;
    margin-bottom: 10px;
    word-break: break-word;
}
#messages .message {
    position: relative;
    background: #FFF;
    box-shadow: 0 1px 0.5px rgba(0,0,0,0.13);
    float: left;
    border-radius: 7.5px;
    padding: 10px 35px 10px 45px;
    max-width: 80%;
    margin-left: 10px;
}
#messages .message .user-image {
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    overflow: hidden;
    left: 8px;
    top: 15px;
}
#messages .message .user-image img {
    display: block;
    width: 100%;
}
#messages .message .icon {
    display: block;
    position: absolute;
    width: 10px;
    height: 11px;
    bottom: 10px;
    left: -10px;
    background-image: url(../../images/message-arrow-left.png);
    background-repeat: no-repeat;
}
#messages .message .time {
    display: block;
    position: absolute;
    right: 5px;
    bottom: 4px;
    font-size: 11px;
    color: #969696;
}
#messages .message .name {
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#messages .message.message-admin .name {
    color: #000 !important;
}
#messages .message .content {
    overflow: hidden;
}
.emoticon {
    width: 18px;
    height: 18px;
    background-size: 18px;
    display: inline-block;
    vertical-align: text-bottom;
    background-image: url(../../images/emoticons.png);
    background-repeat: no-repeat;
}
.emoticon.emoticon-1 { background-position: 0px 0px; }
.emoticon.emoticon-2 { background-position: 0px -18px; }
.emoticon.emoticon-3 { background-position: 0px -36px; }
.emoticon.emoticon-4 { background-position: 0px -54px; }
.emoticon.emoticon-5 { background-position: 0px -72px; }
.emoticon.emoticon-6 { background-position: 0px -90px; }
.emoticon.emoticon-7 { background-position: 0px -108px; }
.emoticon.emoticon-8 { background-position: 0px -126px; }
.emoticon.emoticon-9 { background-position: 0px -144px; }
.emoticon.emoticon-10 { background-position: 0px -162px; }
.emoticon.emoticon-11 { background-position: 0px -180px; }
.emoticon.emoticon-12 { background-position: 0px -198px; }
.emoticon.emoticon-13 { background-position: 0px -216px; }
.emoticon.emoticon-14 { background-position: 0px -234px; }
.emoticon.emoticon-15 { background-position: 0px -252px; }
.emoticon.emoticon-16 { background-position: 0px -270px; }
.emoticon.emoticon-17 { background-position: 0px -288px; }
.emoticon.emoticon-18 { background-position: 0px -306px; }
.emoticon.emoticon-19 { background-position: 0px -324px; }
.emoticon.emoticon-20 { background-position: 0px -342px; }
.emoticon.emoticon-21 { background-position: 0px -360px; }
.emoticon.emoticon-22 { background-position: 0px -378px; }
.emoticon.emoticon-23 { background-position: 0px -396px; }
.emoticon.emoticon-24 { background-position: 0px -414px; }
.emoticon.emoticon-25 { background-position: 0px -432px; }
.emoticon.emoticon-26 { background-position: 0px -450px; }
.emoticon.emoticon-27 { background-position: 0px -468px; }
.emoticon.emoticon-28 { background-position: 0px -486px; }
.emoticon.emoticon-29 { background-position: 0px -504px; }
.emoticon.emoticon-30 { background-position: 0px -522px; }
.emoticon.emoticon-31 { background-position: 0px -540px; }
.emoticon.emoticon-32 { background-position: 0px -558px; }
.emoticon.emoticon-33 { background-position: 0px -576px; }
.emoticon.emoticon-34 { background-position: 0px -594px; }
.emoticon.emoticon-35 { background-position: 0px -612px; }
.emoticon.emoticon-36 { background-position: 0px -630px; }
.emoticon.emoticon-37 { background-position: 0px -648px; }
.emoticon.emoticon-38 { background-position: 0px -666px; }
.emoticon.emoticon-39 { background-position: 0px -684px; }
.emoticon.emoticon-40 { background-position: 0px -702px; }
.emoticon.emoticon-41 { background-position: 0px -720px; }
.emoticon.emoticon-42 { background-position: 0px -738px; }

#messages .message.my-message {
    background: #dcf8c6;
    float: right;
    margin-left: 0;
    margin-right: 10px;
}
#messages .message.my-message .name {
    /*display: none;*/
}
#messages .message.my-message .user-image {
    /*top: 10px;*/

}
#messages .message.my-message .icon {
    background-image: url(../../images/message-arrow-right.png);
    left: auto;
    right: -10px;
}

#messages .message-line {
    display: block;
    clear: both;
    text-align: center;
}
#messages .message-line .content {
    display: inline-block;
    background: #f0efec;
    color: #999;
    font-size: 13px;
    border-radius: 3px;
    padding: 2px 5px;
}
#messages .message-line .content strong {
    font-weight: 600;
}
#messages .message-line.color-red .content {
    background: rgba(148, 0, 0, 0.58);
    color: #FFF;
}
#input-bar {
    position: absolute;
    background: #edede8;
    padding: 10px;
    left: 0;
    right: 220px;
    bottom: 0;
}
#input-bar #input-bar-container {
    position: relative;
    width: 100%;
    height: 100%;
    padding-right: 90px;
}
#input-bar #input-bar-container #send-message {
    position: absolute;
    right: 0;
    bottom: 0;
    background: #2794DC;
    color: #FFF;
    height: 38px;
    line-height: 38px;
    border: none;
    cursor: pointer;
    width: 80px;
    border-radius: 3px;
    font-weight: 600;
    outline: 0;
    transition: background-color 80ms linear;
}
#input-bar #input-bar-container #send-message.disabled {
    background: #CECECE;
    color: #E9E9E9;
    cursor: not-allowed;
}
#input-bar #input-bar-container #emoticon-container {
    position: absolute;
    left: 0;
    bottom: 0;
}
#input-bar #input-bar-container #emoticon-container .icon {
    width: 35px;
    height: 35px;
    background-color: #FFF;
    background-image: url(../../images/emoticon.png);
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}
#input-bar #input-bar-container #emoticon-container .emoticons {
    display: none;
    background-color: #FFF;
    width: 190px;
    position: absolute;
    bottom: 37px;
    left: 0;
    box-shadow: 0px 1px 1px rgba(0,0,0,0.2);
    border-radius: 5px;
    text-align: center;
}
#input-bar #input-bar-container #emoticon-container .emoticons .emoticon {
    cursor: pointer;
    margin: 4px;
}

#input-bar #input-bar-container.showing-emoticons #emoticon-container .emoticons {
    display: block;
}

#input-bar .input-element {
    font-family: 'Source Sans Pro', Arial;
    font-size: 14px;
    display: block;
    width: 100%;
    border: none;
    padding: 10px 10px;
    height: 35px;
    outline: 0;
    border-radius: 3px;
    resize: none;
}
#user-list {
    width: 220px;
    position: absolute;
    background: #fafafa;
    right: 0;
    top: 0;
    bottom: 0;
    cursor: default;

    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
#user-list .inside {
    position: relative;
    padding: 10px;
    width: 100%;
    height: 100%;
}
#user-list .inside .user-scroll {
    width: 100%;
    height: 100%;
    overflow: auto;
}
#user-list .inside .user-scroll .users-online-msg {
    text-align: center;
    margin-bottom: 5px;
}
#user-list .inside .user-overflow {
    display: none;
    position: absolute;
    left: -7px;
    top: 0;
    width: 7px;
    background: #fafafa;
    height: 100%;
    box-shadow: -1px 0px 0.5px rgba(0,0,0,0.13);
}
#user-list .inside .user-overflow .icon {
    position: absolute;
    top: 15px;
    left: -58px;
    line-height: 40px;
    width: 58px;
    height: 40px;
    cursor: pointer;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    background-color: #FFF;
    background-image: url(../../images/users.png);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: 8px center;
    box-shadow: 0 1px 0.5px rgba(0,0,0,0.13);
    font-size: 20px;
    padding-left: 31px;
    text-align: center;
}
#user-list .user {
    font-weight: 600;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    position: relative;
    padding: 0 0 0 30px;
    height: 30px;
    line-height: 30px;
    margin-bottom: 5px;
}
#user-list .user img {
    position: absolute;
    left: 0;
    top: 50%;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    border-radius: 50%;
}
#user-list .user .ban-user-action {
    display: none;
    background: rgba(148, 0, 0, 0.8);
    text-decoration: none;
    color: #FFF;
    padding: 0 5px;
    border-radius: 6px;
    position: absolute;
    right: 2px;
    top: 50%;
    height: 18px;
    line-height: 18px;
    margin-top: -9px;
}
#user-list .user:hover {
    opacity: 0.8;
}
#user-list .user:hover .ban-user-action {
    display: block;
}
#user-list .user.user-admin {
    color: #000 !important;
}
#user-list .user.user-admin .ban-user-action {
    display: none !important;
}

@media (max-width: 750px) {
    #user-list {
        right: -220px;
    }
    #user-list.expanded {
        right: 0px;
    }
    #user-list .inside .user-overflow {
        display: block;
    }
    #input-bar {
        right: 7px;
    }
    #chat {
        padding-right: 7px;
    }
}
@media (max-width: 400px) {
    #user-list {
        right: -160px;
        width: 160px;
    }
}