html, body {
	width:100%;
	min-width:100%;
	height:100%;
	min-height:100%;
	overflow:hidden;
	margin:0;
	padding:0;
}


div#app{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	flex-direction:column;
	position:fixed;
}


/*
 *  Nav bar : new grid, edit mode, choose layout, copy URL
 */
div#app nav {
	flex-grow:0;
	width:100%;
}


div#app nav div#clipboard-tooltip {
	display:none;
	background: #e9ecef;
	color: rgb(73, 80, 87);
	border:1px solid rgb(206, 212, 218);
	font-weight: bold;
	padding: 4px 8px;
	font-size: 13px;
	border-radius: 4px;
}

div#app nav div#clipboard-tooltip[data-show] {
  display: block;
}

/*
 * This is where the front page or the board will be
 */
div#app > div {
	flex-grow:1;
	width:100%;
	overflow:hidden;
	background-color:rgba(0,0,0,0.05);
}


div#app div#splash {
	flex-grow:1;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
}


div#app div#splash > div#logo {
	height:50%;
	width:60%;
	background:url("img/logo.png");
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;

}




div#app div#container{
	width:100%;
	height:100%;
	display:flex;
	align-items:safe center;
	justify-content:safe center;
	flex-direction:row;
	overflow:hidden;
}


div#grid {
	display:flex;
	align-items:flex-start;
	justify-content:safe center;
	flex-grow:1;
	max-height:100%;
	overflow:auto;
}

div#grid > div {
	display:flex;
	flex-direction:column;
	margin:0 2rem;
}

div#grid > div > div {
	display:flex;
	flex-direction:row;
}

div#grid >div >div > div.symbol {
	width:7rem;
	height:3.5rem;
	display:flex;
	flex-direction:row;
	align-items:center;
	margin:0.1rem;
	border:1px solid rgba(0,0,0,0.3);
	border-radius:0.5rem;
	background-color:white;
}
div#grid >div >div > div.symbol.active {
	border-color:rgba(120,0,0,0.9);
} 

div#grid >div >div > div.symbol > div.zone {
	width:3.5rem;
	height:3.5rem;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	position:relative;
}
div#grid >div >div > div.symbol:nth-child(1) > div.zone { order:1;}
div#grid >div >div > div.symbol:nth-child(2) > div.zone { order:2;}



div#grid >div >div > div.symbol > div.zone div.hint {
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
	position:relative;
}

div#grid >div >div > div.symbol > div.zone div.hint span {
	position:absolute;
	bottom:1%;
	right:1%;
}

/*
div#grid >div >div > div.symbol > div.zone {
	width:2.5rem;
	height:2.7rem;
	border:1px dashed rgba(0,0,0,0.3);
	border-radius:0.5rem;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}


div#grid >div >div > div.symbol:nth-child(1) > div.zone { order:1; border-right:none; border-top-right-radius:0; border-bottom-right-radius:0;}
div#grid >div >div > div.symbol:nth-child(2) > div.zone { order:2; border-left:none; border-top-left-radius:0; border-bottom-left-radius:0;}
*/


div#grid >div >div > div.symbol > div.img {
	width:3.5rem;
	height:3.5rem;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
	cursor:help;
}

div#grid >div >div > div.symbol:nth-child(1) > div.img { order:2; }
div#grid >div >div > div.symbol:nth-child(2) > div.img { order:1; }




div#marks {
	display:block;
  background:#EEE;
  padding: 4px;
  border-radius: 4px;
	border:1px solid #333;
	width:5rem;
}

div#marks[data-show] {
  display: block;
}

div#marks[x-placement^='left'] { margin-right:0.5rem; }
div#marks[x-placement^='right'] { margin-left:0.5rem; }

div#marks > button.mark {
	display:inline-block;
	width:2rem;
	height:2rem;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
	cursor:pointer;
	background-color:transparent;
}

div#marks > button.mark.disabled {
	background-size:0;
}
/*
div#marks #arrow, div#marks #arrow::before {
  position: absolute;
	top:calc(50% - 0.5rem);
  width: 1rem;
  height: 1rem;
  z-index: -1;
}

div#marks #arrow::before {
  content: '';
  background: #EEE;
	border-top:1px solid #333;
	border-right:1px solid #333;
}

div#marks[x-placement^='left'] > #arrow {  right: -0.54rem; }
div#marks[x-placement^='right'] > #arrow {  left: -0.54rem; }

div#marks[x-placement^='left'] #arrow::before {  transform: rotate(45deg); }
div#marks[x-placement^='right'] #arrow::before {  transform: rotate(-135deg); }

*/

/*
 * Right col with all the hints
 */
div#hints {
	height:100%;
	width:11rem;
	background-color:#EDEDED;
	border-left:1px solid #333;
	display:flex;
	flex-direction:column;
	overflow:auto;
	flex-shrink:0;
}

/*
div#hints h2 {
	margin:0;
	padding:0;
	width:100%;
	border-bottom:1px solid #333;
	text-align:center;
	background-color:#DDD;
	font-size:2rem;
	line-height:3rem;
	flex-grow:0;
}

div#hints > div {
	overflow:auto;
	display:flex;
	flex-direction:column;
	align-items:center;
}

div#hints li.hint {
	width:6.5rem;
	height:3.5rem;
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:0.1rem;
	margin-top:0.3rem;
	border:1px solid rgba(0,0,0,0.2);
	border-radius:0.5rem;
	background-color:white;
}
*/

div#hints li.hint {
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	padding:0.4rem;
}


div#hints li.hint div.img {
	width:3.5rem;
	height:3.5rem;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
}

div#hints li.hint div.mark { 
	width:3.2rem;
	height:3.5rem;
	background-size:80% 80%;
	background-repeat:no-repeat;
	background-position:center center;
	background-color:transparent;
}

.ghost {
  opacity: 0.5;
  background: #c8ebfb;
}



/*
 * Affichage avec uniquement les indices (pratique pour les mobiles notamment)
 */

div#hints-only {
	display:flex;
	flex-direction:column;
	justify-content:safe center;
	align-items: stretch;
	max-height:100%;
	overflow:auto;
}

div#hints-only > div {
	display:flex;
	flex-direction:row;
	justify-content:stretch;
	align-items:center;
	margin-bottom:0.5rem;
	flex-wrap:wrap;
} 

div#hints-only > div > div.hint {
	width:8rem;
	height:4rem;
	display:flex;
	flex-direction:row;
	align-items:center;
	margin:0.2rem;
	border:1px solid rgba(0,0,0,0.3);
	border-radius:0.5rem;
	background-color:white;
}

div#hints-only > div > div.hint  div.img {
	width:4rem;
	height:4rem;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
}

div#hints-only > div > div.hint div.mark { 
	width:3.6rem;
	height:3.8rem;
	background-size:80% 80%;
	background-repeat:no-repeat;
	background-position:center center;
	background-color:transparent;
	position:relative;
}

div#hints-only > div > div.hint div.mark span {
	position:absolute;
	bottom:4px;
	right:4px;
} 

/*


div#hints-only > div > div.hint {
	width:6.8rem;
	height:3.5rem;
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:0.1rem;
	margin:0.1rem;
	border:1px solid rgba(0,0,0,0.2);
	border-radius:0.5rem;
	background-color:white;
}

div#hints-only > div > div.hint  div.img {
	width:3.5rem;
	height:3.5rem;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
}

div#hints-only > div > div.hint div.mark { 
	width:3.2rem;
	height:3.5rem;
	background-size:80% 80%;
	background-repeat:no-repeat;
	background-position:center center;
	background-color:transparent;
}
*/
