body{
	width:100%; height:100%;
	margin:0; padding:0;
	font-family: Arial, Helvetica, sans-serif;
	font-size:1.5vmax;
}

*{
	position: relative;
	box-sizing: border-box;
}

.hidden{
	display:none !important;
}

.inputBG{
	background-color:#FFF;
	margin:0.5vmax 0;
	padding:1vmax;
}

#wrapper.spectating *.DM{
	display:none !important;
}

input[type=button], input[type=submit], div.button{
	display:inline-block;
	background:rgba(0,0,0, .75);
	padding:0.5vmax;
	margin:0.25vmax;
	color:#FFF;
	border:0.2vmax solid #FFF;
	border-radius: 0.2vmax;
	box-shadow:0.2vmax 0.2vmax 1vmax rgba(0,0,0,.5);
	cursor:pointer;
}

[contenteditable]:empty:before {
    content: attr(placeholder);
    color: grey;
    display: inline-block;
}

table td.active{
	font-weight: bold;
	background:#DFD;
}
td{
	padding:0.5vmax;
}
label{
	background:#FFF;
	border-radius:0.5vmax;
	padding:0.5vmax;
	margin:0.25vmax;
	display: inline-block;
}

#wrapper{
	width:100%; height:100%;
	position: fixed;
	background:rgba(100,150,250);
}

#players{
	width:50%; max-height:100%;
	position: fixed;
	display:flex;
	justify-content: left;
	flex-wrap: wrap;
	right:0; top:0;
}
#chat{
	width:50%;
	position: fixed;
	left:0; bottom:5vmax;
	top : 0;
	max-height:100%;
}

#chat > div.messages{
	position: absolute;;
	bottom:0;
	width: 100%;
	max-height: 100%;
	overflow:auto;
	left:0;
}
#chat div.message{
	background:rgba(255,255,255,.5);
	margin:0.25vmax 1vmax;
	padding: 0.5vmax;
}
#chat div.message > span.time{
	color:rgba(0,0,0,.5);
}

#chat div.message.rollInit{
	background:rgba(255,255,255,.75);
	font-weight:bold;
}
#chat div.message.roll,#chat > div.message.advantage{
	font-style: italic;
}
#chat div.message.miss, #chat div.message.hit{
	font-weight: bold;
	background-color:rgba(200,255,200, 0.75);
}
#chat div.message.miss{
	font-weight: bold;
	background-color:rgba(255,200,200, 0.75);
}
#chat div.message.turn{
	text-align: right;
}





#grapples{
	position: fixed;
	pointer-events: none;
	width:100%; height:100%; top:0; left:0;
}
#grapples > div{
	height: 1vmax;
	background:rgba(255,100,100,0.5);
	position: absolute;
	transform: translateY(-50%);
	background: linear-gradient(to right, rgba(169,3,41,0) 0%,rgba(143,2,34,0.44) 44%,rgba(255,104,104,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-top-right-radius: 0.5vmax;
	border-bottom-right-radius: 0.5vmax;
	box-shadow: 0 0.5vmax 1vmax rgba(0,0,0,.25); 
	transform-origin: left;
}



#players > div.player{
	padding:1vmax;
}

#players > div.player > div.content{
	overflow:hidden;
	box-shadow:0.5vmax 0.5vmax 2vmax rgba(0,0,0,.25);
	border-radius: 0.25vmax;
	color:#FFF;
	width:23vw;
	height:25vh;
	background:rgba(255,255,255,.75);
	border: 0.25vmax solid rgba(0,0,0,255);
}
#players > div.player.myTurn > div.content{
	border-color:#6F6;
	
}

#players > div.player > div.content > div.buffs{
	position: absolute;
	bottom:3vh;
	top:auto;
}
#players > div.player > div.content > div.buffs > div.spell{
	display:inline-block;
	width:4vh; height:4vh;
	cursor:pointer;
	background: rgba(0,0,0,.5);
	box-shadow: 0.2vmax 0.2vmax 0.5vmax #000;
	border-radius: 0.5vmax;
}
#players > div.player > div.content > div.buffs > div.spell img{
	width:100%; height:100%;
}
#players > div.player > div.content > div.buffs > div.spell > div.turns{
	position: absolute;
	bottom:0; right:0;
	text-shadow:0.1vmax 0.1vmax 0.1vmax #000;
	background:rgba(0,0,0,.75);
	padding:0 0.25vmax;
}


#players > div.player > div.content > div.buttons{
	position: absolute;
	top:0; right:0;
}
#players > div.player > div.content > div.buttons > div{
	width:4vmax; height:4vmax;
	background:rgba(0,0,0,.25);
	border-radius:1vmax;
	border: 0.1vmax solid rgba(255,255,255,.5);
}
#players > div.player > div.content > div.buttons > div > img{
	width:100%;
	height:100%;
}

#players > div.player > div.content > div.portrait{
	position: absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-size: cover;
	background-position: center;
}

#players > div.player > div.content > div.resources{
	display:flex;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	background:rgba(0,0,0,.75);
	height:3vh;
	font-size:2vh;
}

#players > div.player div.resources div.number{
	text-align: center;
	padding:0.25vmax;
}
#players > div.player div.resources div.bar{
	position: absolute;
	top:0; left:0;
	height:100%;
	background:rgba(100,100,100,.5);
}
#players > div.player div.resources div.hp > div.bar{
	background:rgba(255,100,100,0.5);
}


#players > div.player > div.content > div.name{
	padding:0.5vmax;
	background:rgba(0,0,0,.75);
	font-weight: bold;
	width:auto;
	position: absolute;
	top:0; left:0;
}


#menu{
	position: fixed;
	bottom:0; left:0; right:0;
	background:rgba(0,0,0,.2);
	text-align: center;
}
#menu div.button{
	margin:0.5vmax;
}
#menu > div.right{
	position: absolute;
	right:0;
	top:0;
}


div.ttParent:hover > div.tt{
	display:block;
	position: absolute;
	background:rgba(0,0,0,.75);
	box-shadow:0.2vmax 0.2vmax #000;
	padding: 0.5vmax;
	font-size:1.5vmax;
	z-index:9001;
	color:#FFF;
	top:0;
	transform:translateY(-100%);
	min-width:20vw;
}
div.ttParent > div.tt{
	display:none;
}





#modal{
	background-color:rgba(255,255,255,.5);
	position: fixed;
	width:100%; height:100%;
	left:0; top:0;
}
#modal > div.content{
	position: absolute;
	background:rgba(255,255,255,.85);
	box-shadow:0.5vmax 0.5vmax 2vmax rgba(0,0,0,.5);
	border-radius: 0.5vmax;
	padding:3vmax;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	max-height:70%;
	border: 0.5vmax solid #FFF;
	overflow: auto;
}


textarea.full{
	width:100%;
	min-height:30vh;
}
textarea.full.dragover{
	background: #DFD;
}