

/*
 *  SquadChess.com
 *  
 *  CSS display configuration.
 *  
 *  Created by Scott Johnstone 
 *  ©2022 Austere Games
 *  
 *  info@squadchess.com
 * 
 */


/* *** overrides *** */

body, html {
	overflow: hidden;
}

/* *** TABLE *** */

#table_container {
	width: 100%;
	height: 100%;
	display: flex;
	flex-flow: wrap;
	justify-content: center;
}



/* ** BOARD ** */


#brd_container {
	position: relative;
	display: inline-block;
	border-top: min(0.1vw, 0.1vh) solid black;
	border-left: min(0.1vw, 0.1vh) solid black;
	padding: 0;
}

:root {
	--wd_boardTile: 12.5%;
	--ht_boardTile: 12.5%;
}

div.tile {
	width: var(--wd_boardTile);
	height: var(--ht_boardTile);
	float: left;
	border-bottom: min(0.1vw, 0.1vh) solid black;
	border-right: min(0.1vw, 0.1vh) solid black;
	box-sizing: border-box;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ddd;
}

div.tile_shaded {
	background: #444;
}

div.tile_hi {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
}

div.tile_hover {
	border: 3px dashed #999;
}

div.tile_selected {
	border: 6px double #0a0;
	border-style: none none solid none;
}

div.tile_legal {
	border: 3px solid #0a0;
	animation: pulse_tile_legal 2s linear infinite;
}

div.tile_queued {
	border: 3px solid cyan;
	animation: pulse_tile_queue 2s linear infinite;
}

div.brd_hdr_col,
div.brd_hdr_row {
	position: absolute;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: min(2.5vw, 2vh);
	pointer-events: none;
}

div.brd_hdr_col {
	bottom: -3%;
	transform: translate(0, 100%);
	width: 100%; 
	height: 1em;
}

div.brd_hdr_row {
	top: 0;
	transform: translate(-100%);
	width: 25%;
	height: 100%;
}

div.hdr_hi {
	color: #eee;
	animation: hdr_hi_fade 3s ease-in forwards;
}




/* ** BOARD OVERLAYS ** */


#bovrs {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

#bovrs * {
	pointer-events: auto;
}

div.bovr {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	font-size: min(7vw, 7vh);
	border-right: min(0.1vw, 0.1vh) solid black;
	border-bottom: min(0.1vw, 0.1vh) solid black;
	background: rgba(40, 40, 40, 0.88);
	color: #eee;
	z-index: 10;
}

div.bovr * {
	color: #eee;
}

#bovr_ready_topTxt {
	font-size: min(7.5vw, 7.5vh);
	margin: 15% auto;
	flex-basis: 100%;
}

#bovr_ready_pList {
	list-style: none;
	padding: 0;
	margin-top: -15%;
	width: 43%;
	text-align: left;
	display: none;
}

#bovr_ready_pList li {
	color: #bbb;
	padding-left: 1em; 
	text-indent: -.7em;
	font-size: min(5.5vw, 5.5vh);
}

li.ready_ready {
	color: #eee;
}

li.ready_unset::before {
  content: "… ";
  color: #bbb; 
}

li.ready_ready::before {
  content: "✓ ";
  color: green; 
}

#bovr_ready_btn {
	padding: 0 2%;
	margin: 0 3% 13% 3%;
	color: #222;
	flex-basis: 50%;
	display: none;
}



#bovr_pre_btns {
	width: 100%;
}

#bovr_pre_ok {
	display: none;
	background: #31686e;
	width: 30%;
	height: 10%;
	margin: 0 auto;
}

#bovr_pre_timerPause {
	color: #222;
	width: 33%;
	margin: 0 auto;
	display: none;
}



#bovr_post_winnerName {
	font-size: min(7.5vw, 7.5vh);
	white-space: pre;
}

#bovr_post_rematch_label {
	font-size: min(5vw, 6.25vh);
	font-weight: bold;
}

#bovr_post_rematchList li {
	color: #bbb;
}

#bovr_post_rematchList {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 38%;
  text-align: left;
}

#bovr_post_rematchList li {
  padding-left: 1em; 
  text-indent: -.7em;
  font-size: min(4.5vw, 5vh);
}

li.rematchReady {
	color: #fff;
}

li.rematchAbsent {
	color: #999;
}

li.rematchUnset::before {
  content: "… ";
  color: #bbb; 
}

li.rematchReady::before {
  content: "✓ ";
  color: green; 
}

li.rematchAbsent::before {
  content: "✕ ";
  color: red; 
}

#bovr_post_rematchConfirm,
#bovr_post_newGame {
	padding: 0 2%;
	margin: 0 3.6%;
	width: 33%;
	height: 13%;
}

#bovr_post_newGame {
	background: var(--col_btn_cancel);
}

#bovr_post_rematchConfirm {
	background: var(--col_btn_confirm);
}

#bovr_post_hide {
	position: absolute;
    top: 3.3%;
    right: 4%;
    width: 9%;
	aspect-ratio: 1/1;
	cursor: pointer;
}



/* ** CENTER overlays ** */

.covr {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: min(3vw, 3vh);
	background: #eee0cdf2;
	box-shadow: 0 0 15px #222;
	z-index: 100;
	display: none;
}

.covr * {
	margin: min(1.5vw, 1.5vh);
}

.covr a {
	white-space: nowrap;
}

.covr_botrow {
	display: flex;
	margin: min(3vw, 3vh) 0 0 0;
	justify-content: space-between;
	align-items: center
}

.covr_dontshow {
	white-space: nowrap;
	margin: unset;
	cursor: pointer;
}

.covr_btn_ok {
	width: 30%;
	max-height: min(6vw, 6vh);
}





/* ** PIECES ** */

.pc_brd {
	position: absolute;
	top: 10vh;
	left: 50%;
	width: var(--wd_boardTile);
	height: var(--ht_boardTile);
	display: flex;
	font-size: min(10vw, 10vh);
	cursor: default;
	transition: top 0.2s, left 0.2s;
	z-index: 2;
}

.pc_brd span {
	user-select: none;
}

span.pc_icon_board {
	font-size: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

span.pc_w {
	color: #fff;
	-webkit-text-fill-color: #eee;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: #222;
}

span.pc_wq {
	background-image: linear-gradient(
		to top, 
		#eee 0%, 
		#eee 28%, 
		#999 28%, 
		#999 38%, 
		#eee 38%,
		#eee 51%, 
		#999 51%, 
		#999 62%, 
		#eee 62%
	);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

span.pc_wq_byd {
	background-image: linear-gradient(
		to top, 
		#eee 0%, 
		#eee 20%, 
		#999 20%, 
		#999 30%, 
		#eee 30%,
		#eee 43%, 
		#999 43%, 
		#999 58%, 
		#eee 58%
	);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
span.pc_b {
	color: #222;
	-webkit-text-fill-color: #222;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: #eee;
}

span.pc_bq {
	background-image: linear-gradient(
		to top, 
		#222 0%, 
		#222 28%, 
		#999 28%, 
		#999 38%, 
		#222 38%,
		#222 51%, 
		#999 51%, 
		#999 62%, 
		#222 62%
	);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

span.pc_bq_byd {
	background-image: linear-gradient(
		to top, 
		#222 0%, 
		#222 20%, 
		#999 20%, 
		#999 30%, 
		#222 30%,
		#222 43%, 
		#999 43%, 
		#999 58%, 
		#222 58%
	);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

span.pc_inCheck {
	-color: #d73939;
	-webkit-text-fill-color: #d73939;
	animation: pulse_inCheck 1.5s ease-in infinite;
}

span.pc_stalemate {
	-color: #407eb3;
	-webkit-text-fill-color: #407eb3;
	animation: pulse_stalemate 1.5s ease-in infinite;
}

span.pc_fx_select,
span.pc_fx_sq_select,
span.pc_fx_queued,
span.pc_fx_ghost {
	opacity: 0.33;
}
	
span.pc_fx_select {
	color: #6b6;
	animation: pulse_select 1.5s ease-in infinite;
}

span.pc_fx_sq_select {
	color: #63bf7e;
	animation: pulse_sq_select 1.5s ease-in infinite;
}

span.pc_fx_queued {
	color: #69e;
	animation: pulse_queued 3s ease-in infinite;
}

span.pc_fx_ghost {
	color: #999;
	text-shadow: -1px -1px 0 rgba(150, 150, 150, 0.5);
}

.pc_fx_locator {
	color: var(--col_pc_locator);
}




/* ** BONEYARD ** */


#boneyard_container {
	position: relative;
	display: flex;
	justify-content: center;
	border: 1px solid #222;
}

div.byd_plate {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-around;
	border-bottom: 0.5px solid black;
	border-right: 0.5px solid black;
	box-sizing: border-box;
	background: #aaa;
	background-size: cover;
}

#byd_plate_ctr {
	justify-content: center;
	border-left: 0.5px solid #222;
	border-bottom: 0;
}

span.byd_title_txt {
	font-weight: bold;
}

#byd_bin_plr,
#byd_bin_opp {
	position: relative;
	border: 4px solid #aaa;
	overflow: hidden;
}

#byd_bin_plr {
	background: #eee;
}

#byd_bin_opp {
	background: #222;
}

#byd_caps_plr,
#byd_caps_plr_under,
#byd_caps_opp,
#byd_caps_opp_under {
	position: absolute;
	top: 0;
	width: 72%;
	height: 100%;
	display: flex;
	flex-flow: row wrap;
	overflow: hidden;
	justify-content: center;
	align-items: center;
}

#byd_caps_plr,
#byd_caps_opp {
	pointer-events: none;
}

#byd_caps_plr,
#byd_caps_plr_under {
	left: 0;
}

#byd_caps_plr_under {
	top: 4%;
	left: 6%;
}

#byd_caps_opp {
	right: 3%;
	flex-flow: row-reverse wrap;
}

#byd_caps_opp_under {
	top: 4%;
	right: -3%;
	flex-flow: row-reverse wrap;
}

#byd_caps_plr div,
#byd_caps_plr_under div,
#byd_caps_opp div,
#byd_caps_opp_under div {
	position: relative;
	font-size: min(6.95vw, 5.75vh);
	flex-basis: 25%;
	cursor: default;
	pointer-events: auto;
}

#byd_caps_opp div,
#byd_caps_opp_under div {
	color: #eee;
}

.byd_btn_ctr {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	justify-content: center;
	align-items: center;
	color: rgba(255, 255, 255, 0.7);
	box-sizing: border-box;
	font-size: min(5.5vw, 4.2vh);
	color: #eee;
}

#byd_btn_newgame,
#byd_btn_tutExit,
#byd_btn_remnew_newgame,
#byd_btn_reset,
#byd_btn_retmain_menu {
	cursor: pointer;
	background: var(--col_btn_cancel);
}

#byd_btn_newgame:hover,
#byd_btn_remnew_newgame:hover,
#byd_btn_reset:hover,
#byd_btn_retmain_menu:hover {
	background: #7e5454;
}

div.byd_btn_confirm {
	background: var(--col_btn_confirm_disabled);
	color: #999;
	cursor: default;
}

div.byd_btn_confirm_enabled {
	background: var(--col_btn_confirm);
	color: #eee;
	cursor: pointer;
}

div.byd_btn_confirm_enabled:hover {
	background: #6ebc52;
}

#byd_btn_remnew_newgame,
#byd_btn_reset,
#byd_btn_retmain_menu {
	color: #eee;
}

#byd_btn_remnew,
#byd_btn_retmain,
#byd_btn_turn {
	flex-flow: column;
	justify-content: center;
	align-items: center;	
}

div.byd_btn_confirm,
#byd_btn_remnew_newgame,
#byd_btn_reset,
#byd_btn_retmain_menu {
	width: 100%;
	height: 50%;
	display: flex;
	justify-content: center;
	align-items: center;	
	font-size: min(3vw, 3vh);
}

#byd_btn_newgame {
	font-weight: bold;
}

#byd_sql_plr,
#byd_sql_opp {
	width: 5%;
	height: 100%;
	background: #999;
	display: flex;
	flex-flow: column;
	box-sizing: border-box;
}

#byd_sql_plr {
	border-left: 1px solid #222;
}

#byd_sql_opp {
	border-right: 1px solid #222;
}

.sql_sq {
	width: 100%;
	height: 25%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #222;
	cursor: pointer;
}

.sql_sq * {
	font-size: min(2.9vw, 3vh);
}

#sql_plr_ko,
#sql_opp_ko {
	border-bottom: unset;
}

.sql_active {
	background: #94db94;
}

.sql_captured {
	background: #a94c4c;
	color: #999;
}

.sql_flashlink {
	background: var(--col_pc_locator);
}
	
#byd_ident_plr,
#byd_ident_opp {
	position: absolute;
	top: 0;
	opacity: 0.5;
	cursor: default;
	z-index: 5;
}

#byd_ident_plr {
	right: 0;
	background: #222;
	padding: 1% 3% 1% 8%;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
}

#byd_ident_opp {
	left: 0;
	background: #999;
	padding: 1% 8% 1% 3%;
	clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
	opacity: 0.666;
}

#byd_ident_plr span,
#byd_ident_opp span {
	position: relative;
	font-size: min(2.6vw, 2.6vh);
}

#byd_ident_plr span {
	color: #eee; 	
}

#byd_ident_opp span {
	color: #222; 
}

#byd_iconPlr_opp,
#byd_iconPlr_plr {
	position: absolute;
	bottom: min(1vw, 1vh);
	height: min(4vw, 4vh);
	display: none;
}

#byd_iconPlr_plr {
	right: min(1vw, 1vh);
}

#byd_iconPlr_opp {
	left: min(1vw, 1vh);
	z-index: 1;
}

#byd_iconPlr_opp_think,
#byd_iconPlr_plr_think {
	position: absolute;
	bottom: min(4.8vw, 3.3vh);
    height: min(3vw, 3.5vh);
	display: none;
}

#byd_iconPlr_plr_think {
	right: min(4.9vw, 5vh);
}

#byd_iconPlr_opp_think {
	left: min(4.9vw, 5vh);
}



/* *** INVITE *** */

#bovr_invite {
	display: none;
}

#bovr_invite a.a_btn {
	padding: 1.5%;
	box-sizing: border-box;
}

#invite_url_container {
	position: relative;
	border-radius: 25px;
	margin: 0 2%;
	width: 100%;
	text-align: left;
}

#invite_url_desc {
	font-size: min(3.5vw, 3.5vh);
	margin-left: 2%;
}

#invite_url {
	width: 100%;
	background: rgba(80, 80, 80, 0.88);
	border: 1px solid #777;
	box-sizing: border-box;
	padding: 4%;
	margin-bottom: 4%;
	border-radius: 10px;
	font-size: min(2.5vw, 2.3vh);
	resize: none;
	user-select: text;
}

#invite_url_copy {
	border-radius: 23px;
	width: 50%;
	margin: 2% auto;
	background: #498991;
	background: #498991;
}



/* *** PROMOTION / SEAT bovrs *** */

#bovr_seat_pcs,
#promote_container {
	background: rgba(128, 128, 128, 0.9);
    padding: 2% 6%;
    border-radius: 13px;
    cursor: default;
}

#bovr_seat_pc_b,
#bovr_seat_pc_w,
.promote_piece {
    font-size: min(13vw, 13vh);
    cursor: pointer;
}

#bovr_seat_pc_b,
.prom_pc_b {
	color: #222;
	-webkit-text-fill-color: #222;
	-webkit-text-stroke-width: 0.36px;
	-webkit-text-stroke-color: #eee;
}

#bovr_seat_pc_w,
.prom_pc_w {
	color: #eee;
	-webkit-text-fill-color: #eee;
	-webkit-text-stroke-width: 0.36px;
	-webkit-text-stroke-color: #222;
}



/* *** Story Mode mini-map bovr *** */

#bovr_map {
	
}

#bovr_map h3 {
	margin-top: max(-3vw, -3vh);
}

#bovr_map_wrapper {
	position: relative;
	width: 63%;
	height: 80%;
    border: min(1vw, 1vh) double #777;
	background: #333;
	overflow: hidden;
}

#bovr_map_cont {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: min(2vw, 2vh);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-gap: min(1vw, 1vh);
}

.bovr_map_row {
    display: contents;
}

.bovr_map_cell {
	visibility: visible;
	overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.map_cell_none {
	cursor: unset;
}

.map_cell_unseen {
	visibility: hidden;
}

.map_cell_seen {
	background: #56544a;
}

.map_cell_been_pal {
	background: var(--col_bg_map_pal);
}

.map_cell_been_btl {
	background: var(--col_bg_map_btl);
}

.map_cell_been_cam {
	background: var(--col_bg_map_camp);
}

.map_cell_been_str {
	background: var(--col_bg_map_str);
}

#bovr_map_marker {
	color: var(--col_bg_black);
}

#bovr_map_topfade {
	position: absolute;
	top: 0;
	left: 0;
	height: min(2vw, 2vh);
	width: 100%;
	background: linear-gradient(180deg,rgba(51, 51, 51, 1) 0%, rgba(51, 51, 51, 0) 100%);
}

                		

/* *** SETTINGS *** */

#bovr_settings hr {
	width: 100%; 
	height: min(3vw, 3vh);
}

.bovr_settings_table,
.bovr_settings_audio {
	font-size: min(3.3vw, 3vh);
	flex-basis: 99%;
}

.sett_tb_col1 {
	text-align: right;
}

.sett_tb_col2 {
	width: 60%;
	text-align: left;
}

.sett_tb_col1_aiDiff {
	width: 47%;
	padding-left: 8vw;
	vertical-align: middle;
}

.sett_tb_col2_aiDiff {
	width: 72%;
	padding-left: 2vw;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
}

.sett_spacer {
	height: min(3vw, 3vh);
}

.sett_radioWrapper, 
.sett_radioWrapper input, 
.sett_radioWrapper label {
	cursor: pointer;
	font-size: 0.95em;
}

#sett_aiDiff__custom_label {
	text-decoration: underline;
}

#sett_confOnTO_optsWrapper {
	display: inline-block;
	text-align: left;
	margin: 0 auto;
}

.bovr_settings_audio {
	display: flex;
	flex-basis: row wrap;
	justify-content: center;
}

.sett_vol_container {
	width: 46%;
}

.sett_vol_container input {
	width: 84%;
}

#bovr_settings_help {
	font-size: min(4.3vw, 4vh);
}

#bovr_settings_help a {
	text-decoration: underline;
}

#sett_mainmenu {
	width: 36%;
	height: 8%;
	margin-right: 18%;
	background: var(--col_btn_cancel);
	color: #ddd;
}

#sett_ok {
	width: 25%;
	height: 8%;
	background: var(--col_btn_create);
}



/* *** SETTINGS-CONF *** */

#stcf_deets td:first-child {
	text-align: right;
}

#stcf_btn_accept,
#stcf_btn_decline {
	width: 33%;
	height: 13%;
}

#stcf_btn_accept {
	margin-left: 10%;
	background: #509ca6;
}

#stcf_btn_accept:hover {
	background: #63b9c5;
}

#stcf_btn_decline {
	background: #5c3e3e;;
}

#stcf_btn_decline:hover {
	background: #7e5454;
}

#stcf_suppress_container {
	font-size: min(4.4vw, 4.4vh);
	text-align: right;
	cursor: pointer;
}




/* *** TIMEKILL *** */


#bovr_tk {
	font-size: min(4.4vw, 4.2vh);
}

#tk_btn_no,
#tk_btn_yes {
	width: 90%;
	height: 13%
}

#tk_btn_no {
	background: #5c3e3e;;
}

#tk_btn_no:hover {
	background: #7e5454;
}

#tk_btn_yes {
	background: #509ca6;
}

#tk_btn_yes:hover {
	background: #63b9c5;
}




#tk_widget {
	position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.5%;
    padding-left: 20%;
    box-sizing: border-box;
    background: rgb(247 243 214 / 66%);
    border: 0.5px solid #222;
	font-size: min(2.1vw, 2.05vh);
    text-align: left;
    z-index: 1;
    display: none;
}

#tk_str,
#tk_inv {
	transition: opacity 0.2s ease-out;
}

#tk_str {
	opacity: 1;
}

#tk_str:after {
  overflow: hidden;
  display: inline-block;
  vertical-align: bottom;
  animation: ellipsis steps(8) 2s infinite;
  content: "\2026";
  width: 0;
}

#tk_inv {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	opacity: 0;
	text-align: center;
}

#tk_inv a {
	cursor: pointer;
	text-decoration: underline;
}




#log_game_container,
#log_noti_container {
	position: absolute;
	display: none;
	flex-flow: row wrap;
	max-height: 70vh;
    padding: 1%;	
	overflow-y: auto;
    transition: transform 0.2s ease-out;
    background: rgb(30 28 23 / 92%);
    box-shadow: 4px 4px 6px rgb(24 21 14 / 72%),
    		   -4px 4px 6px rgb(24 21 14 / 72%);
	overflow-x: hidden;
	   scrollbar-width: none;  				/* Firefox */
	-ms-overflow-style: none;  				/* IE and Edge */
   	z-index: 100;
   	pointer-events: none;
}
#log_game_container::-webkit-scrollbar, 	
#log_noti_container::-webkit-scrollbar { 	/* Chrome, Safari, and Opera */
	display: none;
}

#log_game_container {
	top: 40%;
	left: 0;
    transform: translateY(-50%);
}

#log_noti_container {
	top: 40%;
	right: 0;
    transform: translateY(-50%);
	width: 36vw;
}

#log_game,
#log_noti {
    border: 0.5px solid #222;
	box-sizing: border-box;
	width: 100%;
}
	
.log_header {
	background: rgb(159 149 133 / 82%);
	padding: min(1vw, 1vh);
	display: block;
	white-space: pre;
}

#log_save {
	cursor: pointer;
}

#log_game_list {
	list-style-type: none;
}

.lgl_info {
	display: flex;
    flex-flow: column;
    background: rgb(148, 213, 130, 0.8);
	border-top: 1px solid #889d82;
}

.lgl_info span {
	display: inline-block;
}

.lgl_b {
	background: rgba(40, 40, 40, 0.8);
	color: #eee;
}

.lgl_w {
	background: rgba(224, 224, 224, 0.8);
	color: #222;
}

#log_noti_list {
	width: 100%;
	background: rgb(167 148 101 / 82%);
}

#log_noti_list tr:nth-child(odd) {
	background: rgb(243 238 228 / 80%);
}

#log_noti_list tr:nth-child(even) {
	background: rgb(209 204 191 / 80%);
}

#log_noti_list td {
	vertical-align: middle;
}

#log_noti_list td:nth-child(2) {
	width: 30%;
}


#tab_map,
#log_tab_game,
#log_tab_noti {
    position: absolute;
    top: 40%;
    width: 4%;
    max-width: 40px;
	height: 30%;
    padding: 1vh 0;
    transform: translateY(-50%);
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
	align-items: center;
	background: #0c0b0761;
    box-shadow: 3px 3px 4px rgb(24 21 14 / 66%),
    		   -3px 3px 4px rgb(24 21 14 / 66%);
   	z-index: 98;
}

#tab_map {
	display: none;
	cursor: pointer;
}

#tab_map,
#log_tab_game {
    left: 0;
}

#log_tab_noti {
    right: 0;
}

#tab_map span,
#log_tab_game span,
#log_tab_noti span {
	font-size: min(2.6vw, 2.6vh);
	color: #bbbbbb61;
	flex-basis: 100%;
}





#ovr_firstWin {
    top: unset;
	bottom: 3%;
	flex-flow: row wrap;
    justify-content: center;
    z-index: 10;
}

#ovr_firstWin hr {
	width: 100%;
	height: 3vh;
}

#ovr_firstWin a {
	text-decoration: underline;
	cursor: pointer;
}

#fw_aiDiff {
	white-space: pre;
}

#fw_sett {
    width: min(3vw, 3vh);
    transform: translateY(0.3vh);
    cursor: pointer;	
}

#fw_ok {
	width: 30%;
    height: 10vh;
}




.aovr {
	position: absolute;
	display: none;
	pointer-events: none;
}

#aovr_sql {
	box-shadow: 0 0 0 #eee;
	transition: box-shadow 0.2s ease-out;
}







/* ---------- BREAK-POINTS ------------------------------------------------------------------------------------------------------------- */


/* narrow portrait */

@media (max-aspect-ratio: 6/7) {
	
	#log_game_container,
	#log_noti_container,
	#tab_map,
	#log_tab_game,
	#log_tab_noti {
		top: unset;
		bottom: 0;
	}

	#tab_map,
	#log_tab_game,
	#log_tab_noti {
		max-width: unset;
	    flex-flow: unset;
		width: 30%;
		height: 4%;
	    padding: 0 1vw;
		box-shadow: 3px -2px 3px rgb(24 21 14 / 66%), 
				   -3px -2px 3px rgb(24 21 14 / 66%);
	}

	#tab_map,
	#log_game_container,
	#log_tab_game {
		left: 21%;
		transform: translateX(-50%);
	}

	#log_game_container {
		width: 30%;
	}

	#log_noti_container,
	#log_tab_noti {
		right: 21%;
		transform: translateX(50%);
	}
	
	.sett_radioWrapper, 
	.sett_radioWrapper input, 
	.sett_radioWrapper label {
		font-size: 0.93em;
	}
	
	#sett_trnTm {
		max-width: 40%;
	}

}


/* portrait */

@media (max-aspect-ratio: 9/7) { 
	
	#brd_container {
		width: min(90vw, 80vh);
		height: min(90vw, 80vh);
		margin: auto 0;	
	}
	
	#boneyard_container {
		width: 90vw;
		height: 15%;
		margin-top: 3%;
		flex-flow: row wrap;
	}
	
	div.byd_plate {
		width: 36%;
	}
	
	#byd_plate_ctr {
	 	align-items: center;
	 	padding-top: 0;
		width: 18%;
	}
	
	span.byd_title_txt {
		font-size: min(5vw, 6vh);
	}
	
}


/* landscape */

@media (min-aspect-ratio: 9/7) {

	#brd_container,
	#boneyard_container {
		height: 95%;
		margin: auto 0;
	}
	
	#brd_container {
		width: 95vh;
	}
	
	#boneyard_container {
		width: 15%;
		margin-left: 4%;
		flex-flow: column-reverse;
		flex-grow: 0.42;
	}
	
	div.byd_plate {
		align-items: center;
		justify-content: left;
		padding-left: 5%;
		height: 36%;
	}

	#byd_plate_ctr {
		height: 18%;
		border-left: 0;
		border-right: 0;
		border-top: 1px solid #222;
		border-bottom: 1px solid #222;
	}

	span.byd_title_txt {
		font-size: min(7.5vw, 5.5vh);
	}
	
	#byd_btn_remnew, 
	#byd_btn_retmain, 
	#byd_btn_turn {
		flex-flow: row;
	}
	
	div.byd_btn_confirm,
	#byd_btn_reset,
	#byd_btn_rematch,
	#byd_btn_remnew_newgame,
	#byd_btn_retmain_menu {
		width: 50%;
		height: 100%;
	}
	
	#byd_caps_plr,
	#byd_caps_plr_under {
		width: 95%;
		height: 80%;
	}
	
	#byd_caps_plr {
		top: unset;
		bottom: 4%;
	}
	
	#byd_caps_plr_under {
		top: unset;
		bottom: 0;
		left: 10%;
	}
	
	#byd_caps_opp,
	#byd_caps_opp_under {
		width: 95%;
		height: 80%;
		right: unset;
		left: 0;
		flex-flow: row wrap;
	}
	
	#byd_caps_opp_under {
		left: 10%;
	}
	
	#byd_caps_plr span,
	#byd_caps_plr_under span,
	#byd_caps_opp span,
	#byd_caps_opp_under span {
		font-size: min(6.9vw, 9vh);
	}
	
	#byd_ident_plr {
		right: unset;
		left: 0;
		padding: 1% 8% 1% 3%;
		clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
	}
	
	#byd_ident_opp {
		top: unset;
		bottom: 0;
		clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
	}
	
	#byd_iconPlr_plr {
		bottom: unset;
		top: min(1vw, 1vh);
	}
	
	#byd_iconPlr_plr_think {
		bottom: unset;
		top: min(0.3vw, 1vh);
	}
	
	#byd_iconPlr_opp {
		left: unset;
		right: min(1vw, 1vh);
	}

	#byd_iconPlr_opp_think {
		left: unset;
		right: min(3.4vw, 5.5vh);
		content: url(/img/icon_b_think_rev.png);
	}

	#byd_sql_plr,
	#byd_sql_opp {
		width: 100%;
		height: 5%;
		flex-flow: row;
	}
	
	#byd_sql_plr {
		border-left: unset;
		border-bottom: 1px solid #222;
	}
	
	#byd_sql_opp {
		border-right: unset;
		border-top: 1px solid #222;
	}
	
	.sql_sq {
		width: 25%;
		height: 100%;
		border-bottom: unset;
		border-right: 1px solid #222;
	}
	
	#sql_plr_ko,
	#sql_opp_ko {
		border-right: unset;
	}
	
	#tk_widget {
		bottom: unset;
		top: 0;
		padding-left: 1%;
	}
	
	#log_game_container,
	#log_noti_container,
	#log_tab_game,
	#log_tab_noti {
		top: 50%;
	}

}


/* special dimensions for TK widget txt */

@media (max-aspect-ratio: 9/5) {
	
	#tk_str { opacity: 1; }
	#tk_inv { opacity: 0; }
		
}

@media (min-aspect-ratio: 9/5) {
	
	#tk_str {
		opacity: 1;
	}
	
	#tk_inv {
		top: unset;
		left: unset;
		right: 1%;
		transform: unset;
		width: unset;
		text-align: center;
		display: inline-block;
		opacity: 1;
	}

}
	
	
	

/* *** KEYFRAME definitions *** */

@keyframes hdr_hi_fade {
	0%	 { color: #eee; }
	100% { color: #222; }
}

@keyframes pulse_tile_legal {
    0% { 
    	border-width: 2px;
    	border-color: rgba(0, 200, 0, 0.4); 
    }
    50% { 
    	border-width: 6px;
    	border-color: rgba(0, 200, 0, 1);
	
	}
    100% { 
    	border-width: 2px;
    	border-color: rgba(0, 200, 0, 0.4); 
    }
}

@keyframes pulse_tile_queue {
    0% { 
    	border-width: 2px;
    	border-color: rgba(0, 255, 255, 0.4); 
    }
    50% { 
    	border-width: 6px;
    	border-color: rgba(0, 255, 255, 1);
	
	}
    100% { 
    	border-width: 2px;
    	border-color: rgba(0, 255, 255, 0.4); 
    }
}

@keyframes pulse_select {
	0%   { opacity: 0.66; }
	50%  { opacity: 0; }
	100% { opacity: 0.66; }
}

@keyframes pulse_sq_select {
	0%   { opacity: 0.33; }
	50%  { opacity: 0; }
	100% { opacity: 0.33; }
}

@keyframes pulse_queued {
	0%   { opacity: 0.33; }
	50%  { opacity: 0; }
	100% { opacity: 0.33; }
}

@keyframes pulse_inCheck {
	0% {
		-color: #d73939;
		-webkit-text-fill-color: #d73939;
	}
	50% {
		-color: unset;
		-webkit-text-fill-color: unset;
	}
	100% {
		-color: #d73939;
		-webkit-text-fill-color: #d73939;
	}
}

@keyframes pulse_stalemate {
	0% {
		-color: #407eb3;
		-webkit-text-fill-color: #407eb3;
	}
	50% {
		-color: unset;
		-webkit-text-fill-color: unset;
	}
	100% {
		-color: #407eb3;
		-webkit-text-fill-color: #407eb3;
	}
}

@keyframes flash_tile {
	0%  { border-width: 6px; }
	30% { border-width: 0; }
	33% { border-width: 6px; }
	63% { border-width: 0; }
	66% { border-width: 6px; }
	96% { border-width: 0; }
	99% { border-width: 6px; }
}

@keyframes ellipsis {
  to {
    width: 1.25em;    
  }
}
