@font-face {
  font-family: 'GamjaFlower';
  src: URL('../font/GamjaFlower-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'NotoSansKR';
  src: URL('../font/NotoSansKR-Bold.otf') format('truetype');
}

*{
	box-sizing:border-box;
}
body{
	/* min-height: 100vh; */
	/* height: calc(var(--vh, 1vh) * 100); */
	/* height: 100vh; */
	/* min-height: -webkit-fill-available; */
	/* --vh:100%; */
	width:100%;
	margin:0px;
	padding:0px;
	font-size:0;
}
html{
	/* height: calc(var(--vh, 1vh) * 100); */
	/* height: 100vh; */
	/* height: -webkit-fill-available; */
}
table{
	height:100%;
	width:100%;
	table-layout: fixed;
	font-size:0;
}
tr{
	width:100%;
}
td{
	padding:5px;
	margin:0px;
	font-size:15px;
	position:relative;
}

/* main scene */
.space_5px{
	height:5px;
	width:100%;
	margin:0px;
	padding:0px;
}
.space_10px{
	height:10px;
	width:100%;
	margin:0px;
	padding:0px;
}
.space_20px{
	height:20px;
	width:100%;
	margin:0px;
	padding:0px;
}
.inlineDiv{
	margin:0px;
	padding:0px;
	display:inline-block;
}

#root_container{
	display:flex;
	flex-direction: column;
	width:100%;
	height:500px;
	padding:8px;
	/* overflow: auto; */
}

#gameState_container{
	padding:0px;
	margin:0px;
	border-radius:10px;
	border:3px solid #777777;
	display:flex;
	flex-direction: column;
	flex:0 0 70px;
	align-items: center;
}
h1{
	font-size:20px;
	font-weight:bold;
	align-items: center;
	justify-content: center;
	margin:0px;
	padding:0px;
	font-family: GamjaFlower, serif;
	flex:1;
	display:flex;
}
h2{
	font-size:13px;
	font-weight:normal;
	align-items: center;
	justify-content: center;
	margin:0px;
	padding:0px;
	font-family: NotoSansKR, monospace;
	flex:1;
	display:flex;
}
h3{
	font-size:11px;
	font-weight:normal;
	align-items: center;
	justify-content: center;
	margin:0px;
	padding:0px;
	font-family: NotoSansKR, monospace;
	flex:1;
	display:flex;
	color:#999;
}
#gameState_Timer{
	position:relative;
	width:95%;
}
#gameState_Timer img{
	position:absolute;
	bottom:-10px;
	left:50%;
	width:20px;
	display:none;
}
#gameState_Timer .bg{
	border-radius:5px;
	width:100%;
	height:5px;
	background-color:#ffffff;
}
.color-dayTime{
	background-color:#FFC9A3 !important;
}
.color-nightTime{
	background-color:#A3D9FF !important;
}

#player_container{
	overflow-x: auto;
	white-space: nowrap;
	padding:0px;
	margin:0px;
	flex:0 0 auto;
}
.player{
	position:relative;
	display:inline-block;
	border-radius:10px;
	border:3px solid #ffffff;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color:#fff;
}
.player.mini{
	position:relative;
	flex:1;
	display:flex;
	flex-direction:row;
	border-radius:0px;
	border:0px solid #ffffff;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color:#ffffff;
}
/* .player.me{ */
	/* border:3px solid #E8FFC9; */
/* } */
/* .player.me .hpbar .hpbar_bar{ */
	/* background-color:#C9FF7C; */
/* } */
.player img{
	width:80px;
	position:relative;
}
.player.mini img{
	flex:0 0 auto;
	width:30px;
	height:30px;
	position:static;
	background-color:#ffffff;
}
.player .icon{
	position:absolute;
	top:2px;
	left:2px;
}
.player .icon2{
	position:absolute;
	top:2px;
	right:2px;
}
.player .icon2 img{
	width:50px;
}
.player.mini .icon{
	/* flex:0 0 auto; */
	/* position:static; */
	top:0px;
	left:-7px;
}
.player .icon img{
	width:30px;
	border-radius:6px;
}
.player.mini .icon img{
	width:15px;
	height:15px;
	border-radius:3px;
}
.player .hpbar{
	position:absolute;
	bottom:10px;
	left:50%;
	transform:translate(-50%);
	border-radius:4px;
	border:1px solid #000000;
	background-color:#ffffffcc;
	width:80px;
	height:20px;
	align-items: center;
	text-align: center;
	display:flex;
	vertical-align: middle;
	justify-content: center;
}
.player.mini .hpbar{
	position:static;
	bottom:0;
	left:0;
	transform:none;
	border-radius:0px;
	border:0px solid #000000;
	background-color:#ffffff00;
	flex:1;
	width:40%;
	height:30px;
	align-items: center;
	text-align: inherit;
	display:flex;
	vertical-align: middle;
	justify-content: flex-start;
	color:#000;
}
.hpbar_bar{
	z-index:9;
	position:absolute;
	top:0px;
	left:0px;
	width:55%;
	height:100%;
	border-radius:4px;
	background-color:#ff5555;
}
.player .hpbar span{
	z-index:10;
	font-weight:bold;
	font-size:8px;
	white-space: nowrap;
}
.player.mini .hpbar span{
	z-index:10;
	font-weight:bold;
	font-size:15px;
	white-space: nowrap;
}
.player_selected{
	border:3px solid #00ff00;
}
.player_selected div{
	/* background-color:#aaffaaff; */
}

#menu_container{
	display:flex;
	flex-direction: row;
	/* margin:5px; */
	padding:5px;
	flex:0 0 auto;
}
#menu_container div{
	flex-grow:1;
	flex:1;
	box-sizing:border-box;
}
.menuLocker{
	height:31px;
	width:100%;
	background-color:#000000aa;
	border:1px solid #ccc;
	border-radius: 10px;
	font-size:16px;
	color:#fff;
	text-align: center;
}

#message_container{
	width:100%;
	border:2px solid #ccc;
	/* min-height: 350px; */
	height:200px;
	flex:1;
	position:relative;
	padding:5px;
}
#message_view{
	width:100%;
	height:100%;
	overflow-y: scroll;
	font:16px;
	padding:2px;
	/* flex:1; */
}
#gotoLastMsg{
	border-radius: 20px;
	font-size:30px;
	background-color:#74a3b0;
	color:#fff;
	width:40px;
	height:40px;
	position:absolute;
	bottom:10px;
	left:50%;
	transform:translate(-50%);
	align-items: center;
	text-align: center;
	vertical-align: middle;
	justify-content: center;
	display:none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.message{
	font-size:0;
	padding:5px;
}
.message_name{
	margin:0px;
	padding:2px;
	background-color:#fff;
	display:inline-block;
	font-size:12pt;
	font-weight:bold;
	border-radius: 5px;
	font-family: Sans-Serif;
}
.message_time{
	margin:0px;
	padding:2px;
	background-color:#fff;
	display:inline-block;
	font-size:10pt;
	float:right;
}
.message_body{
	margin:0px;
	padding:5px;
	background-color:#F1F1F1;
	width:100%;
	/* display: block; */
	font-size:12pt;
	border-radius: 7px;
}
.message_body span xmp{
	margin:0px;
	padding:0px;
	width:100%;
	word-wrap:break-word;
	display:block;
	white-space:normal;
	/* font-family: GamjaFlower, monospace; */
}

#info_container{
	padding:5px 3px 5px 3px;
	flex:0 0 auto;
}
#name_txt{
	margin:0px;
	padding:2px;
	font-size:12pt;
	font-weight:bold;
	border-radius: 5px;
	box-sizing:border-box;
	font-family: Sans-Serif;
	color:#ffffff;
	background-color:#8888ff;
}
.label{
	font-family: Sans-Serif;
	font-size:12pt;
	font-weight:bold;
}
.hide{
	font-size:12pt;
	color:#ffffff;
	border:2px solid #cccccc;
	width:100px;
	display:inline-block;
}

#input_container{
	display:flex;
	flex:0 0 auto;
}
#input_txt{
	flex-grow:1;
	margin:3px;
	padding: 5px 5px;
	display: inline-block;
	box-shadow: 0px 4px 0px #74a3b0;
	border-color:#7fb1bf;
}

#warning_popup{
	padding:15px;
	position:absolute;
	top:30%;
	left:0px;
	width:100%;
	height:150px;
	background-color:#cccccc66;
	font-size:15px;
	font-family: NotoSansKR, monospace;
	font-weight: bold;
	color:#444444;
	align-items: center;
	text-align: center;
	vertical-align: middle;
	justify-content: center;
	display:none;
}

#screen_effect{
	/* padding:15px; */
	position:absolute;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	background-color:#00000055;
	/* font-size:15px; */
	/* font-family: NotoSansKR, monospace; */
	/* font-weight: bold; */
	/* color:#444444; */
	align-items: center;
	text-align: center;
	vertical-align: middle;
	justify-content: center;
	display:none;
}
#screen_effect img{
	width:80%;
	transition: width 0.5s;
}

/* portrait select */
#portraits_popup{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000000cc;
	font-size:15px;
	color:#fff;
	align-items: center;
	text-align: center;
	/* display:flex; */
	display:none;
	flex-direction: column;
}
#portraits_popup img{
	width:100px;
	background-color:#ffffff;
	/* margin:0px 10px 0px 10px; */
	margin:10px;
	border-radius: 10px;
	border:5px solid #25658F;
}

/* result */
#result_popup{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000000cc;
	font-size:15px;
	/* font-family: NotoSansKR, monospace; */
	/* font-weight: bold; */
	color:#fff;
	align-items: center;
	text-align: center;
	/* vertical-align: middle; */
	/* justify-content: center; */
	display:none;
	flex-direction: column;
}
#result_popup .player{
	color:#000;
}
.row{
	padding:8px;
	/* margin:5px; */
	width:100%;
	max-width:500px;
	flex: 0 0 auto;
	align-items: center;
	text-align: center;
	vertical-align: middle;
	justify-content: center;
	display:flex;
	flex-direction: row;
	position:relative;
}
.row.wrap{
	flex-wrap: wrap;
}
.row.title{
	font-size:30px;
	background-color:#0088aaff;
	height:50px;
}
.row.subtitle{
	font-size:18px;
	background-color:#00550088;
	height:25px;
}
.row.action{
	height:100px;
	flex:1;
	flex-direction: column;
}
.row .btn{
	width:50%;
}
.teamBanner{
	width:120px;
	background-color:#ffffff;
}
.winner_view{
	display:flex;
	flex-direction: row;
	overflow-x: auto;
}
.loser_view{
	display:flex;
	flex-direction: row;
	overflow-x: auto;
}
.actionLog_view{
	width:90%;
	overflow-y: auto;
	font:16px;
	padding:2px;
	flex:1;
	display:flex;
	flex-direction: column;
}
.logtitle{
	padding:5px;
	margin:2px;
	width:100%;
	height:25px;
	font-size:14px;
	color:#ffffff;
	font-weight: bold;
	background-color:#25658F;
}
.logitem{
	padding:5px;
	display:flex;
	flex-direction:row;
}
.logitem.large{
	padding:5px;
	display:flex;
	flex-direction:row;
	justify-content:center;
}
.actionStr{
	font-weight:bold;
	padding:5px;
}
.large_log{
	font-size:30px;
	width:200px;
	text-align:left;
	display:flex;
	align-items:center;
	/* justify-content:center; */
}

/* login scene */
.loginUI{
	position:absolute;
	width:200px;
	height:100px;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
}
#nameTxt{
	width:100%;
}
.loginBtn{
	width:100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}