:root{
	--high: lime;
	--text: rgb(211, 230, 198);
	--bgr: hsla(100, 7%, 18%, 1); 
	
/*
	usage:
	background-color: var(--bgr); 	
*/
}

/*
@font-face {
	font-family: scriptina;
	src: url(scriptina.ttf);

}
*/


body{
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	background-color: var(--bgr);
}


/* MAJOR GUI */
#div_main{
	position: relative;
	background-color: var(--bgr); 
	color: var(--text);

	display: grid;

	grid-template-columns: 
		2fr
		300px
		minmax(0, 0rem)
		minmax(28rem, 60rem)
		3fr;

	grid-template-rows: 
		auto
		minmax(10rem,auto)
		auto
		auto
		auto;
		
		grid-template-areas: 
		".  .   .   .   . "
		". can  .  tex  . "
		". men  .  tex  . "
		".  .   .  tex  . ";
}

#div_player{
	grid-area: can;
	width: 300px;
/*	background-color:  red; */
	z-index: 1;
}

#div_right{
	grid-area: tex;

	padding: 2rem;
	padding-top: 6rem;
	z-index: 3;
/*	background-color: gray;*/
}

#div_subtext{
	/*position: absolute;
	*/
	grid-area: sub;

	padding: 2rem;
	padding-top: 6rem;
	/*background-color:  var(--bgr); */
	z-index: 3;
	
	display: none; 
	/*background-color: navy;*/
}


#div_menu{
	grid-area: men;
	margin: 20%;
	font-size:110%;
	display:block;
/*	background-color:  orange; */
}


/* BIG SCREENS */
@media only screen and (min-width: 1800px){ 
	#div_menu{
		margin: 0;
		padding-top: 10rem;
	}

	#div_text{
		margin: 0;
		padding-top: 10rem;
	}

	#div_main{
		grid-template-columns: 
			2fr
			300px
			minmax(0, 3rem)
			60rem
			minmax(0, 3rem)
			200px
			3fr;
	
		grid-template-rows: 
			auto
			auto
			auto
			auto
			auto;
	
		grid-template-areas: 
			".  .   .   .   .  .  ."
			". can  .  tex  . men ."

	}
}


/* SMALL SCREENS */
@media only screen and (max-width: 800px){ 
/*
	#div_menu{
		margin: 0;
		padding-top: 10rem;
	}
*/
	#div_text{
		padding-top: 3rem; 
	}

	#div_menu{
		padding-top: 1rem; 
	}

	#div_main{
		grid-template-columns: 
			0
			auto
			0;
	
	   grid-template-rows: 
		   auto;
		  
		grid-template-areas: 
		   ". tex ."
		   ". can ."
		   ". men ."

	}
}



/* TEXT RELATED STUFF */

/* basic text, used everywhere (even when not speaking) */
.speech{
	display: block;
	padding:10px; 
	width:auto;
	color: var(--text);
}

/* neutral speech*/
.neutral{
}

/* speech of specific characters, not currently used but could be in future */
.npc{	
}

.witch{
}

.npc{	
}


/*  colored texts */
.red{
	color: red;
}
.orange{
	color: orange;
}
.yellow{
	color: yellow;
}
.green{
	color: green;
}
.lime{
	color: lime;
}


/* spoiler - invisible until onmouseover, iirc not used */
.spoiler{
	background-color: var(--bgr);
	color: var(--bgr);
}
.spoiler:hover {
	color: var(--high);
}


/* highlighted inline text */
.high{
	font-weight: bold;
	display: inline;
	color:var(--high);
}



/* LINKS */

/* main menu links */
.button {
	margin:10px;
	cursor:pointer;
	font-weight: bold;
	display: block;
	width: auto;
	color:var(--high);
	/*color:hsla(220, 80%, 35%, 1);*/
	width:auto;
}
.button:hover {
	/*background-color: hsla(220, 0%, 0%, 1);*/
	color: var(--text);
}


/* basic links everywhere */
.link {
	cursor:pointer;
	font-weight: bold;
	display: block;
	width: auto;
	color: var(--high);
	padding:10px; 
	width:auto;
	/**/
}
.link:hover {
	color: var(--text);
}

/* when they are inline, like in credits */
.in_link{
	cursor:pointer;
	
	font-weight: bold;
	display: inline;
	color:var(--high);
}
.in_link:hover {
	color: var(--text);
}

.link_dead{
	color: greay;/*hsla(231, 7%, 81%, 1); */
	text-decoration: line-through;
}

/* when the player can pick from several choices included in the text */
.choice{
	cursor:pointer;
	font-weight: bold;
	display: inline;
	color:var(--high);
	border:0;
	padding:0;
}
.choice_active{	
	border: 1px solid var(--high);
	padding-left: 5px;
	padding-right: 5px;
}
.choice_dead{	
	color: grey;/*hsla(231, 7%, 81%, 1); */
	text-decoration: line-through;
}




.grid_container_2{
	display: grid;
	justify-content: start;
	grid-template-columns: repeat(2, auto);  
	grid-column-gap: 10px;
}



/* SLIDERS */
.slider_desc{
	display:block;
	color: var(--highlight);
	
	padding:5px;
 	font-weight: bold;
	
	font-size:105%;
}


input[type=range].slidy {
	-webkit-appearance: none;
	width: 100%;
	margin: 5.5px 0;
	background-color: var(--bgr);
	 
}
input[type=range].slidy:focus {
	outline: none;
}
input[type=range].slidy::-webkit-slider-runnable-track {
	width: 100%;
	height: 9px;
	cursor: pointer;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
	background: #b3b9c7;
	border-radius: 0px;
	border: 0px solid #8e835c;
}
input[type=range].slidy::-webkit-slider-thumb {
	box-shadow: 2.2px 2.2px 1px #000000, 0px 0px 2.2px #0d0d0d;
	border: 2px solid #000000;
	height: 20px;
	width: 24px;
	border-radius: 6px;
	background: #ffffff;
	cursor: pointer;
	-webkit-appearance: none;
	margin-top: -5.5px;
}
input[type=range].slidy:focus::-webkit-slider-runnable-track {
	background: #c2c7d2;
}
input[type=range].slidy::-moz-range-track {
	width: 100%;
	height: 9px;
	cursor: pointer;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
	background: #b3b9c7;
	border-radius: 0px;
	border: 0px solid #8e835c;
}
input[type=range].slidy::-moz-range-thumb {
	box-shadow: 2.2px 2.2px 1px #000000, 0px 0px 2.2px #0d0d0d;
	border: 2px solid #000000;
	height: 20px;
	width: 24px;
	border-radius: 6px;
	background: #ffffff;
	cursor: pointer;
}
input[type=range].slidy::-ms-track {
	width: 100%;
	height: 9px;
	cursor: pointer;
	background: transparent;
	border-color: transparent;
	color: transparent;
}
input[type=range].slidy::-ms-fill-lower {
	background: #a4abbc;
	border: 0px solid #8e835c;
	border-radius: 0px;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range].slidy::-ms-fill-upper {
	background: #b3b9c7;
	border: 0px solid #8e835c;
	border-radius: 0px;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range].slidy::-ms-thumb {
	box-shadow: 2.2px 2.2px 1px #000000, 0px 0px 2.2px #0d0d0d;
	border: 2px solid #000000;
	height: 20px;
	width: 24px;
	border-radius: 6px;
	background: #ffffff;
	cursor: pointer;
	height: 9px;
}
input[type=range].slidy:focus::-ms-fill-lower {
	background: #b3b9c7;
}
input[type=range].slidy:focus::-ms-fill-upper {
	background: #c2c7d2;
}



/* FADE IN - FADE OUT TEXT EFFECT */

.fade_in {
	animation: fadeIn ease 0.2s;
	-webkit-animation: fadeIn ease 0.2s;
	-moz-animation: fadeIn ease 0.2s;
	-o-animation: fadeIn ease 0.2s;
	-ms-animation: fadeIn ease 0.2s;
}
@keyframes fadeIn {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@-moz-keyframes fadeIn {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@-webkit-keyframes fadeIn {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@-o-keyframes fadeIn {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@-ms-keyframes fadeIn {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}


.fade_out {
	animation: fadeOut ease 8s;
	-webkit-animation: fadeOut ease 8s;
	-moz-animation: fadeOut ease 8s;
	-o-animation: fadeOut ease 8s;
	-ms-animation: fadeOut ease 8s;
}
@keyframes fadeOut {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}

@-moz-keyframes fadeOut {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}

@-webkit-keyframes fadeOut {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}

@-o-keyframes fadeOut {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}

@-ms-keyframes fadeOut {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}



/* LOADING PAGE */
#div_load{
	background-color: var(--bgr); 
	
	position:fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	z-index: 30;
	cursor: pointer;
	
	display: flex;
	flex-direction: column; 
	justify-content: center;
	align-items: center;
}
#div_load_top{
	background-color: var(--bgr); 
	color: var(--high);
	
	font-family: "Times New Roman", Times, serif;
	font-weight: bold;
	font-size:300%;
	text-align: center;
	/*font-variant: small-caps;*/
	margin:10px;
	padding:10px;
	
	cursor: pointer;
}
#div_load_bot{
	background-color: var(--bgr); 
	color: var(--text);
	font-size: 150%; /*150%;*/
	margin:10px;
	padding:10px;
	
	cursor: pointer;
}
#div_load_load{
	background-color: var(--bgr); 
	/*padding-top:20px;*/
	position:absolute;
	bottom:50px;
	display: flex;
	flex-direction: row; 
	justify-content: center;
	align-items: center;
}
.div_load_loading{
	margin-left:20px;
	margin-right:20px;
	width:10px;
	height:10px;
	border-radius: 5px;
	background-color: black;
	
}




/*  SAVING - TODO - should be reworked with grid and maybe moved to separate file */
.savebutton {
	margin:10px;
	cursor:pointer;
	font-weight: bold;
	display: block;
	width: auto;
	color:var(--high);
	/*color:hsla(220, 80%, 35%, 1);*/
	width:auto;
}
.savebutton:hover {
	/*background-color: hsla(220, 0%, 0%, 1);*/
	color: var(--text);
}

#div_save_curtain{
	background-color: red; 
	
	
	
	display: none;
	position:fixed;
	left:0;
	top:0;
	/*
	bottom:0;
	right:0;
	*/
	background-color: black; 
	opacity: 1;
	 
	justify-content: center;
/*	align-items: center;*/
	
	
	
	width: 100%;
	height:100%;
	
	z-index: 10;
	
}

#div_save_gui{
	position:absolute;
	background-color: var(--bgr); 
	opacity: 1;
	z-index: 11;
	padding:30px;
}

#tab_saves{
	margin-top:10px;
	margin-bottom:10px;
	color: var(--text);
	
}
#tab_saves td{
	
	padding:7px;
}






/* WARDROBE - TODO - should be cleaned and reworked with grid, probably moved to a separate file */

/* ultra ??? */
#div_ultra{
	position: fixed;
	z-index: 100;
	padding: 10;
	color: black;
	background-color: white;
	
	display: none;
	box-shadow: 9px 9px 16px hsla(100, 7%, 5%, 0.9);;
}

#war_div_holder{
	z-index: 20;
	display: flex;
	flex-direction: row;
	background-color: var(--bgr); 
	
	/*TODO*/
	/*for firefox*/
	scrollbar-width: auto;
	scrollbar-color: var(--highlight) var(--bgr);  
}

#war_div_left{
	min-width: 200px;
	
	padding: 20px;
	
	display: flex;
	flex-direction: column;
	
	background-color: var(--bgr); 
	
	margin-left: 10px;
	margin-right: 10px;

}

#war_div_right{
	min-width: 250px;
	
	padding: 20px;
	display: flex;
	flex-direction: column;
	
background-color: red;
	
	background-color: var(--bgr); 
	margin-left: 10px;
	margin-right: 10px;
	
	overflow: auto;

}

#war_div_trade{
	min-width: 250px;
	
	padding: 20px;
	display: flex;
	flex-direction: column;

background-color: cyan;
	
	background-color: var(--bgr); 
	margin-left: 10px;
	margin-right: 10px;
	
	overflow: auto;

}

#war_div_mid{
	padding-top: 20px; 
	padding-bottom: 20px; 
	/*background-color: cyan;*/
	
	 
}

#war_form_inp{
	margin-top: 10px; 
	margin-bottom: 10px; 
	margin-left: 5px; 
	width: 60%;
}

#war_form_sort{
	margin-top: 10px; 
	margin-bottom: 10px; 
	margin-left: 5px; 
	width: 60%;
}


#war_div_bot{
	bottom: 0; 
/*	background-color: lime;*/
}

.war_item{
	padding: 5px;
	display: block;
	
	cursor:pointer;
	font-weight: bold;
}



.war_item:hover{
	color: var(--bgr);
	background-color: var(--high);
}



/*ASAP*/
#div_left_alt{
	position: absolute;
	width: 50px;
	height: 50px;
	
	cursor:pointer;
	
	clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
	display: none; 
	
	top: 0;
	left: 0;
	/* background-color: var(--bgr); */
	background-color: var(--high);
	/*background-color: hsla(228, 4%, 80%, 1); */
}




