body{
    margin:0;
    overflow:hidden;
    font-family: Droid Sans, sans-serif;
}

.noselect{
    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */

    -o-user-select: none;
    user-select: none;
}

#messages{
    position:absolute;
    z-index:0;
    width:100%;
    height:calc(100% - 40px);
    overflow-y:scroll;
    overflow-x:hidden;
}
#messages img{
    max-width: 200px;
    max-height: 200px;
}

#background{
    position:absolute;
    z-index:-2;
    width:100%;
    height:calc(100% - 38px);
    background-color:black;
    background-repeat: no-repeat;
    background-position: center;

}

#input-bar{
    position:absolute;
    bottom:0;
    width:calc(100% - 5px);
    background-color:grey;
    padding-left:5px;
    padding-top:5px;
    padding-bottom:1px;
}
#input-bar textarea{
    width:calc(100% - 50px);
        width: -moz-calc(100% - 50px);
    height:20px;
    resize:none;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 3px;
    padding-right: 3px;
    font-size: 14px;
    background: rgba(20, 20, 20, 0.75);
    color:white;
    border: 1px solid #0C0D0E;
    border-radius: 5px;
        -moz-border-radius: 5px;
        -khtml-border-radius: 5px;
    box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
}

#tabbed{
    position: absolute;
    height: 25px;
    bottom: 38px;
    right: 0;
}
.tab{
    height:25px;
    background-color:red;
    display:inline-block;
    overflow:hidden;
    border-right: 1px solid black;
    padding: 0px 5px 0px 5px;
    line-height: 1.6;
    cursor: pointer;
}

/*message styling*/

.nick{
    color: #6464C0;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.time{
    padding-left: .4em;
    font-size: .8em;
    padding-top: .2em;
    color:grey;
}

/*message types*/

.message{
    position:relative;
    padding-left:3.9em;
    text-indent:-3.9em;
    width:calc(100% - 3.9em);
    color:white;
    word-wrap: break-word;
    -webkit-backface-visibility: hidden;
}

.message div{
    display:inline;
}

.message-content{
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.info-message{
    color:red;
}

.chat-message{
    
}

.action-message{
    color:rgb(102, 178, 255);
}

.personal-message{
    color:RosyBrown;
    font-weight: bold;
}
.personal-message .nick:before {
	content: '==== ';
    color:RosyBrown;
}

.error-message{
    color:#FF0000;
    font-weight: bold;
}

.general-message{
    color: #2CE72C;
}

.note-message{
    color: #b30000;
}

.note-message .message-content:before,
.note-message .message-content:after,
.action-message .message-content:before,
.action-message .message-content:after,
.general-message .message-content:before,
.general-message .message-content:after{
    content: ' ** '
}

.hat{
    position: absolute;
    top: -23px;
    margin-left: -30px;
    width: 50px;
    height: 50px;
    background-size: 30px 20px;
}

a{
    text-decoration:underline;
    color:lightblue;
    cursor:pointer;
}

/*autocomplete*/
#autocomplete{
    position: absolute;
    bottom: 78px;
    left: 0px;
    width: 100%;
    height: 1.3em;
    display: none;
    color: #eee;
    background: #333;
    z-index: 5;
}

/*viewer*/
#viewer img{
    position:absolute;
    right:0;
    max-width:100%;
    max-height:100%;
}

/*styles*/
.spoil{
    background-color:black;
    color:black;
}
.spoil:hover{
    color:white;
}

.shake{
    animation-name: shake-hard;
    animation-duration: 2s;
    animation-iteration-count: 6;
    margin-left: 63px;
    display:inline-block;
}

.wave .char {
  position:relative;
}
.wave .char:nth-child(8n) { 
  animation: wavetext 4s 0s 10;
  -webkit-animation: wavetext 4s 0s 10;
}
.wave .char:nth-child(8n+1) { 
  animation: wavetext 4s -0.5s 10;
  -webkit-animation: wavetext 4s -0.5s 10;
}
.wave .char:nth-child(8n+2) { 
  animation: wavetext 4s -1s 10;
  -webkit-animation: wavetext 4s -1s 10;
}
.wave .char:nth-child(8n+3) { 
  animation: wavetext 4s -1.5s 10;
  -webkit-animation: wavetext 4s -1.5s 10;
}
.wave .char:nth-child(8n+4) { 
  animation: wavetext 4s -2s 10;
  -webkit-animation: wavetext 4s -2s 10;
}
.wave .char:nth-child(8n+5) { 
  animation: wavetext 4s -2.5s 10;
  -webkit-animation: wavetext 4s -2.5s 10;
}
.wave .char:nth-child(8n+6) { 
  animation: wavetext 4s -3s 10;
  -webkit-animation: wavetext 4s -3s 10;
}
.wave .char:nth-child(8n+7) { 
  animation: wavetext 4s -3.5s 10;
  -webkit-animation: wavetext 4s -3.5s 10;
}

.rainbow .char:nth-child(8n) { 
  animation: rainbow 4s 0s 10;
  -webkit-animation: rainbow 4s 0s 10;
}
.rainbow .char:nth-child(8n+1) { 
  animation: rainbow 4s 0.5s 10;
  -webkit-animation: rainbow 4s 0.5s 10;
}
.rainbow .char:nth-child(8n+2) { 
  animation: rainbow 4s 1s 10;
  -webkit-animation: rainbow 4s 1s 10;
}
.rainbow .char:nth-child(8n+3) { 
  animation: rainbow 4s 1.5s 10;
  -webkit-animation: rainbow 4s 1.5s 10;
}
.rainbow .char:nth-child(8n+4) { 
  animation: rainbow 4s 2s 10;
  -webkit-animation: rainbow 4s 2s 10;
}
.rainbow .char:nth-child(8n+5) { 
  animation: rainbow 4s 2.5s 10;
  -webkit-animation: rainbow 4s 2.5s 10;
}
.rainbow .char:nth-child(8n+6) { 
  animation: rainbow 4s 3s 10;
  -webkit-animation: rainbow 4s 3s 10;
}
.rainbow .char:nth-child(8n+7) { 
  animation: rainbow 4s 3.5s 10;
  -webkit-animation: rainbow 4s 3.5s 10;
}

@keyframes rainbow{
    from {
        color: rgb(255, 0, 0);
    }
    16.6% {
        color: rgb(255, 0, 255);
    }
    33.3% {
        color: rgb(0, 0, 255);
    }
    50% {
        color: rgb(0, 255, 255);
    }
    66.6% {
        color: rgb(0, 255, 0);
    }
    83.3% {
        color: rgb(255, 255, 0);
    }
    to {
        color: rgb(255, 0, 0);
    }
}
@-webkit-keyframes rainbow{
    from {
        color: rgb(255, 0, 0);
    }
    16.6% {
        color: rgb(255, 0, 255);
    }
    33.3% {
        color: rgb(0, 0, 255);
    }
    50% {
        color: rgb(0, 255, 255);
    }
    66.6% {
        color: rgb(0, 255, 0);
    }
    83.3% {
        color: rgb(255, 255, 0);
    }
    to {
        color: rgb(255, 0, 0);
    }
}

@keyframes wavetext {
  0%, 100% { top: 0em; } 50% { top: 0.5em; }
}
@-webkit-keyframes wavetext {
  0%, 100% { top: 0em; } 50% { top: 0.5em; }
}

@keyframes shake-hard {
  2% {
    transform: translate(-1px, -5px) rotate(-2.5deg); }
  4% {
    transform: translate(-5px, -8px) rotate(2.5deg); }
  6% {
    transform: translate(4px, 2px) rotate(-0.5deg); }
  8% {
    transform: translate(1px, 6px) rotate(-1.5deg); }
  10% {
    transform: translate(-3px, -6px) rotate(3.5deg); }
  12% {
    transform: translate(10px, 5px) rotate(-2.5deg); }
  14% {
    transform: translate(-5px, 8px) rotate(-0.5deg); }
  16% {
    transform: translate(7px, 6px) rotate(-2.5deg); }
  18% {
    transform: translate(4px, -7px) rotate(1.5deg); }
  20% {
    transform: translate(-2px, 2px) rotate(0.5deg); }
  22% {
    transform: translate(-1px, 9px) rotate(-0.5deg); }
  24% {
    transform: translate(1px, -2px) rotate(0.5deg); }
  26% {
    transform: translate(-7px, -9px) rotate(1.5deg); }
  28% {
    transform: translate(-5px, -2px) rotate(-2.5deg); }
  30% {
    transform: translate(-4px, 7px) rotate(3.5deg); }
  32% {
    transform: translate(8px, 2px) rotate(2.5deg); }
  34% {
    transform: translate(5px, -5px) rotate(0.5deg); }
  36% {
    transform: translate(-8px, -8px) rotate(2.5deg); }
  38% {
    transform: translate(-7px, -2px) rotate(2.5deg); }
  40% {
    transform: translate(8px, 0px) rotate(-1.5deg); }
  42% {
    transform: translate(0px, -2px) rotate(2.5deg); }
  44% {
    transform: translate(-1px, 1px) rotate(3.5deg); }
  46% {
    transform: translate(10px, -5px) rotate(2.5deg); }
  48% {
    transform: translate(-1px, 7px) rotate(0.5deg); }
  50% {
    transform: translate(-8px, -2px) rotate(1.5deg); }
  52% {
    transform: translate(-9px, 8px) rotate(2.5deg); }
  54% {
    transform: translate(2px, 9px) rotate(-2.5deg); }
  56% {
    transform: translate(-2px, 0px) rotate(2.5deg); }
  58% {
    transform: translate(1px, 1px) rotate(-2.5deg); }
  60% {
    transform: translate(10px, -9px) rotate(-0.5deg); }
  62% {
    transform: translate(5px, 4px) rotate(0.5deg); }
  64% {
    transform: translate(2px, -4px) rotate(0.5deg); }
  66% {
    transform: translate(-9px, -7px) rotate(2.5deg); }
  68% {
    transform: translate(-5px, -1px) rotate(0.5deg); }
  70% {
    transform: translate(9px, -1px) rotate(2.5deg); }
  72% {
    transform: translate(8px, 8px) rotate(-1.5deg); }
  74% {
    transform: translate(-1px, 4px) rotate(2.5deg); }
  76% {
    transform: translate(3px, -7px) rotate(1.5deg); }
  78% {
    transform: translate(-7px, 0px) rotate(-2.5deg); }
  80% {
    transform: translate(-5px, 5px) rotate(2.5deg); }
  82% {
    transform: translate(6px, 6px) rotate(-0.5deg); }
  84% {
    transform: translate(10px, 8px) rotate(-0.5deg); }
  86% {
    transform: translate(4px, 10px) rotate(-0.5deg); }
  88% {
    transform: translate(-5px, -9px) rotate(-1.5deg); }
  90% {
    transform: translate(-8px, 9px) rotate(1.5deg); }
  92% {
    transform: translate(6px, 6px) rotate(-1.5deg); }
  94% {
    transform: translate(-3px, -4px) rotate(-1.5deg); }
  96% {
    transform: translate(6px, -5px) rotate(0.5deg); }
  98% {
    transform: translate(10px, 4px) rotate(-0.5deg); }
  0%, 100% {
    transform: translate(0, 0) rotate(0); } }

/*menu*/
#menu-container{
    position:absolute;
    right: 4px;
    top: 2px;
}

#toggle-menu{
    position:relative;
    width: 34px;
    height: 34px;
    background-color: #555;
    border-radius: 50px;
    cursor:pointer;
    text-align: center;
    line-height: 220%;
    color: white;
    box-shadow:inset 0px 1px 0px 0px rgba(255,255,255,.2), inset 0px -1px 0px 0px rgba(0,0,0,1), 0px 3px 10px rgba(0,0,0,.9);
}

#toggle-menu:active{
    bottom:-3px;
    box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,.2),
	        inset 0px -1px 0px 0px rgba(0,0,0,1),
	        0px 3px 3px rgba(0,0,0,.2);
}

#user-menu{
    position:absolute;
    right:13px;
    bottom:36px;
    min-width: 120px;
    background-color: #171717;
    color:white;
    display:none;
    padding: 10px;
    border-radius: 5px;
    border: 4px solid #222;
}
#user-menu li{
    list-style-type: none;
    text-align: center;
    cursor:pointer;
}

.blocked{
    text-decoration: line-through;
    color:grey;
}

/* lockscreen */
#lockscreen{
    position: absolute;
    height: 200px;
    width: 500px;
    top: 50%;
    left: 50%;
    margin-left: -250px;
    margin-top: -100px;
    text-align: center;
    line-height: 35px;
    background-color: rgba(84,84,84,08);
    box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset, rgba(255,255,255, .2) 0px -1px 0px 0px;
    border: 4px solid #222;
    display:none;
}

#register{
    position: absolute;
    height: 335px;
    width: 500px;
    top: 50%;
    left: 50%;
    margin-left: -250px;
    margin-top: -167.5px;
    text-align: center;
    line-height: 35px;
    background-color:rgba(84,84,84,08);
    color:black;
    box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset, rgba(255,255,255, .2) 0px -1px 0px 0px;
    border: 4px solid #222;
    display:none;
}
#register #header{
    margin:15px;
    font-size:30px;
    color:white;
    font-family: Montserrat;
}
#register #close,#recover #close{
    position:absolute;cursor:pointer;right:20px;top:10px;color:white;font-size:20px;
}
#register #question{
    width:172px;position:relative;left:164px;margin-bottom: -20px;
}
#register #user-name,#register #password,#register #answer,#register #confirm,#recover #answer{
    width: 60%;
    height: 30px;
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #ccc;
    margin-bottom: 20px;
    font-size: 14px;
    font-family: Montserrat;
    padding: 0 20px 0 20px;
    outline: none;
}
#dropdown{
    width:250px;
    position:absolute;
    border-radius:10px;
    border:solid #ecf0f1 1px;
    box-shadow:black 0px 1px 5px;
    z-index:9999;
    padding-left:0;
    display:block;
}

#recover{
    position: absolute;
    height: 200px;
    width: 500px;
    top: 50%;
    left: 50%;
    margin-left: -250px;
    margin-top: -100px;
    text-align: center;
    line-height: 35px;
    background-color: rgba(84,84,84,08);
    box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset, rgba(255,255,255, .2) 0px -1px 0px 0px;
    border: 4px solid #222;
    display:none;
}
#recover #question{
    color:white;background-color:#545454;border:none;font-size:20px;margin-top:5px;width:100%;text-align:center;
}
#recover #close{
    position:absolute;
}

/*private windows*/
.PM-window{
    position:absolute;
    width:300px;
    height:300px;
    background-color:black;
    border:1px grey solid;
}
.PM-window #header{
    cursor:pointer;
    color:white;
    padding:4px;
    height:25px;
}
.PM-window .input-bar{
    position:absolute;
    bottom:0;
    width:calc(100% - 10px);
    padding:5px 5px 5px 5px;
    background-color:grey;
}
.PM-window .input-bar input{
    width:100%;
    height:15px;
    padding:4px 0px 5px 0px;
    background-color:#222;
    border:1px solid #0C0D0E;
    border-radius:5px;
    color:white;
    box-shadow:rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
    outline:none;
}
.PM-window .window img{
    max-width: 200px;
    max-height: 200px;
}
.PM-window .window .message{
    width:90%;
    padding-left: 5%;
    text-indent: -5%;
}

.video-overlay{
    position:fixed;
    width: 528px;
    height: 322px;
    z-index: 5
}

.scrollbar_default::-webkit-scrollbar{
    width: 10px;
}

.scrollbar_default::-webkit-scrollbar-track {
    background-color:transparent;
}

.scrollbar_default::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background:#5F5F5F;
}

.notify:before{
    content: "• ";
    color: orange;
}

/*qoute*/
#qoute{
    position: absolute;
    left: 0;
    top: 50%;
    display: flex;
    margin:10px;
    z-index:50;
    background-color:rgba(84, 84, 84, .8);
    color:white;
}
#qoute div{
    margin : 2px;
}

.highlight{
    animation-name: highlight;
    animation-duration: 2s;
}

@keyframes highlight {
    0%   {background-color:rgba(84, 84, 84, .0);}
    50%  {background-color:rgba(84, 84, 84, 1);}
    100% {background-color:rgba(84, 84, 84, .0);}
}

/*settings panel*/
#settings{
    position:absolute;
    right:0;
    background-color:grey;
    width:65px;
    height:20px;
    text-align: center;
    cursor:pointer;
    display:none;
}
#settings-panel{
    position:absolute;
    width:400px;
    height:400px;
    background-color:grey;
    display:none;
}
#settings-panel #tabs{
    width: 100%;
    background-color: #7F8C9A;
    height: initial;
}
#settings-panel span{
    background-color: #7F8C9A;
    text-align: center;
    display: inline-block;
    width: 50%;
    line-height: 1.7;
    cursor: pointer;
    margin-right: -4px;
}

/* Resize handles */
.resizable-right {
    cursor: e-resize;
    width: 7px;
    right: -5px;
    top: 0;
    height: 100%;
}

.resizable-bottom {
    cursor: s-resize;
    height: 7px;
    width: 100%;
    bottom: -5px;
    left: 0;
}

.resizable-handle {
    position: absolute;
    font-size: 0.1px;
    display: block;
    -ms-touch-action: none;
    touch-action: none;
}

/*Game CSS*/

#game-window{
    position: fixed;
    width: 400px;
    height: 400px;
    background-color:grey;
    padding:15px;
    border-color: white;
}

#game-window #score{
    position: absolute;
    background-color: black;
    z-index: 5;
    height: 370px;
    width: 397px;
    display:none;
    overflow-x:hidden;
    overflow-y:hidden;
    border: 1px solid white;
}

#game-window #retry{
    position: absolute;
    bottom: 15px;
    width: 397px;
    height: 30px;
    text-align: center;
    line-height: 2;
    color: white;
    border: 1px solid white;
    cursor:pointer;
    display:none;
}

#score table{
    position: absolute;
    top:0;
    width:397px;
    color: white;
}




