/*******************************************************************************
	BASIC STYLES
*******************************************************************************/
* {
	box-sizing: border-box;
}

body, html{
	background-color: #1a1a1a;

	font-family: 'Source Code Pro', monospace;
	font-size: .8rem;
	font-weight: 500;
	color: #72767d;

	margin: 0px;
	padding: 0px;
	
	scrollbar-color: #e74c3c rgba(0,0,0,0);
	scrollbar-width: thin;
}

h1{
	color: #e74c3c;
}

::-webkit-scrollbar { width: 8px; height: 3px;}
::-webkit-scrollbar-button {  background-color: rgba(0,0,0,0); width: 0px; height: 0px;}
::-webkit-scrollbar-track {  background-color: rgba(0,0,0,0);}
::-webkit-scrollbar-track-piece { background-color: rgba(0,0,0,0);}
::-webkit-scrollbar-thumb { height: 50px; background-color: #e74c3c; border-radius: 3px;}
::-webkit-scrollbar-corner { background-color: rgba(0,0,0,0);}
::-webkit-resizer { background-color: rgba(0,0,0,0);}

::selection {background: #e74c3c; color: #f8f8f2;}
::-moz-selection {background: #e74c3c; color: #f8f8f2;}

input:invalid {
	box-shadow: none;
}
/*******************************************************************************
	SIDEBAR
*******************************************************************************/
#sidebar{
	background-color: #222222;
	height: 100vh;
	width: 45%;

	right: 0px;
	position: absolute;

	margin: 0px;
	padding: 1.8em;
	overflow: auto;
}

#canvas{
	height: 100vh;
	width: 55%;

	left: : 0px;
	position: absolute;

	margin: 0px;
	padding: 0px;
	overflow: auto;
}
/*******************************************************************************
	Named Places
*******************************************************************************/
.textarea{
	width: 30%;
	height: 45%;

	border-radius: 2px;
	border: 0px solid #ddd;

	background-color: #222222;
	color: #f8f8f2;

	position: absolute;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);	
}

.textarea .header, .textarea input{
	padding: 10px;

	background-color: rgba(0,0,0,0);
	color: #f8f8f2;
}

.textarea .header{
	width: 95%;
	height: 10%;
	margin: auto;

	font-size: 1.6rem;
	font-weight: 500;

	color: #484848;

	border-bottom: 1px solid #484848;

	background-size: contain;
	background-repeat: no-repeat;
	background-position: right top;
}

.textarea .entrycontainer{
	width: 95%;
	margin: 0 auto;
}

.textarea textarea{
	resize: none;

	color: #f8f8f2;
	background-color: #1a1a1a;

	width: 95%;
	height: 1.8em;
	margin: 0.5em auto;
	margin-bottom: 1em;
	padding: 2px 0.5em;
	display: block;

	border-radius: 2px;
	border: 1px solid #484848;
}

.textarea textarea::placeholder {
	color: #484848;
	opacity: 1;
}

.textarea .entryparent{
	height: auto;
	width: auto;

	margin: 0;
	padding: 0;

	display: inline-block;
}

.textarea .entry{
	color: #f8f8f2;
	background-color: #1a1a1a;

	height: 1.8em;

	padding: 0.2em 0.5em;
	font-family: 'Source Code Pro', monospace;
	font-size: 1rem;
	font-weight: 500;

	width: auto;
	margin-bottom: 0.5em;
	margin-right: 0;
	display: inline-block;

	border: 1px solid #484848;
	border-radius: 2px;

	transition: color 100ms, border 100ms;

	cursor: default;
}

.textarea .entry:hover, .textarea .entry:hover .removebutton{
	color: #e74c3c;
	border-color: #e74c3c;
}

.textarea .entry .removebutton{
	color: #484848;
	cursor: pointer;

	transition: color 100ms;
}

.textarea .drop{
	width: 1em;
	height: 2.2em;

	vertical-align: top;
	display: inline-block;
}

#NamedRiversDiv{
	top: 25.625%;
	left: 17.91%;
}

#NamedMountainsDiv{
	top: 74.375%;
	left: 17.91%;
}

#NamedVolcanoesDiv{
	top: 25.625%;
	left: 50%;
}

#NamedDesertsDiv{
	top: 74.375%;
	left: 50%;
}

#NamedLakesDiv{
	top: 25.625%;
	left: 82.08%;
}

#NamedSeasDiv{
	top: 74.375%;
	left: 82.08%;
}
/*******************************************************************************
	Color Bottons
*******************************************************************************/
label{
	font-family: 'Source Code Pro', monospace;
	font-size: 1rem;
	font-weight: 700;
}

input, button, select{
	height: 1.8em;

	padding: 2px;
	border: none;
	font-family: 'Source Code Pro', monospace;
	font-size: 1rem;
	font-weight: 500;
}

select, input[type="text"], input[type="button"], input[type="number"], button[type="text"], button[type="button"], button[type="number"]{
	width: 80%;
	border-radius: 2px;
	border: 0px solid #ddd;

	text-align: left;
}

input[type="checkbox"]{
	position: relative;
	top: 6px;
}

#select{
	width: 20%;
	background-color: #e74c3c;
	display: inline-block;

	text-align: center;
	font-weight: 700;
	color: #1a1a1a;
}

#codeblock{
	height: 75%;
	width: 80%;
	display: block;
	margin: auto;
	margin-top: 1.8em;

	white-space: pre;
	overflow-wrap: normal;
	overflow-x: scroll;
	tab-size: 4;
	-moz-tab-size: 4;

	background-color: #1a1a1a;
	padding: 10px;
	border-radius: 2px;
	border: 0px solid #ddd;

	color: #FFFFFF;
	font-family: 'Source Code Pro', monospace;
	font-size: 1rem;
	font-weight: 500;	
}
/********************************
	Text Input
********************************/
#sidebar .text-input{
	position: relative;

	height: 2em;
	width: 100%;

	padding: 0;
	margin-top: 2em;
	border: none;

	font-family: 'Source Code Pro', monospace;
	font-size: 1rem;
}

#sidebar .text-input label{
	position: absolute;
	font-size: 1.25rem;

	top: 50%;
	left: 0.5em;
	transform: translateY(-50%);

	transition: top 100ms, font-size 100ms;
}

#sidebar .text-input input{
	position: absolute;

	height: 100%;
	width: 100%;
	padding: 0.5em;

	background-color: #0000;
	color: #f8f8f2;
	border: 0px;
	border-bottom: 1px solid #72767d;

	font-family: 'Source Code Pro', monospace;
	font-size: 1.25rem;

	transition: border 100ms;
}

#sidebar .text-input input:focus{
	border-bottom: 1px solid #e74c3c;
}

#sidebar .text-input input:focus ~ label, 
#sidebar .text-input input:valid ~ label{
	font-size: 1rem;
	top: -1rem;
}