html, body 
{
	padding: 0px;
	color: #fff;
	margin: 0px;
	font-family: sans-serif;
	font-size: small;
	background: #7d8ea2; /* Old browsers */
	background: -moz-linear-gradient(top, #7d8ea2 0%, #121413 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7d8ea2), color-stop(100%,#121413)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #7d8ea2 0%,#121413 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #7d8ea2 0%,#121413 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #7d8ea2 0%,#121413 100%); /* IE10+ */
	background: linear-gradient(to bottom, #7d8ea2 0%,#121413 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d8ea2', endColorstr='#121413',GradientType=0 ); /* IE6-9 */
	overflow: hidden;
}

#container
{
	overflow: scroll;
}

#paper
{
	position: relative;
	display: inline-block;
	background: transparent;
	background-image: url(g/grid.png);
}

#paper svg
{
	background: transparent;
}

#paper svg .link
{
	z-index: 2;
}

#menu
{
	position: absolute;
	display: none;
	width: 40%;
	z-index: 10000;
	padding: 8px;
	cursor: pointer;
}

#menu div
{
	clear: right;
	padding: 4px;
	margin-left: 20px;
	margin-right: 20px;
	border-bottom: 1px solid #ccc;
}

#menu div:hover
{
	background-color: black;
}

#flash
{
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 8px;
	font-weight: bold;
	display: none;
}

/*
Editor tools
*/
.marker-target
{
	fill: #fff;
	stroke-width: 0;
}

.marker-vertex
{
   fill: #fff;
}

.marker-vertex:hover
{
   fill: #000;
   stroke: none;
}

.marker-arrowhead
{
   fill: #fff;
   stroke: none;
}

.marker-arrowhead:hover
{
   fill: #000;
}

.link-tools .tool-remove circle
{
   fill: #c0392b;
}

.connection
{
	stroke: #fff;
}

.inPorts circle
{
	fill: #c0392b;
	stroke-width: 0;
}

.outPorts circle
{
	fill: #8c6;
	stroke-width: 0;
}

.port-label
{
	display: none;
}

/*
Node styles
*/

.node
{
	position: absolute;
	background: #666;
	/* Make sure events are propagated to the JointJS element so, e.g. dragging works.*/
	pointer-events: none;
	-webkit-user-select: none;
	padding: 8px;
	box-sizing: border-box;
	z-index: 2;
}

.node.StartNode {
	//border: solid 5px #000;
	//box-sizing: border-box;
	background: #005b0b;
}

.node .label {
	font-weight: bold;
}

.node .label.StartNode{
	color: #9bffa7;
	font-weight: bold;
}


.node.Choice {
	background: #00293f;
}
.node .label.Choice {
	color: #5bc6ff;
	font-weight: bold;
}

.node.Node {
	border: solid 1px #93008a;
	box-shadow:
			inset 0 0 50px #fff,      /* inner white */
			inset 20px 0 80px #f0f,   /* inner left magenta short */
			inset -20px 0 80px #0ff,  /* inner right cyan short */
			inset 20px 0 300px #f0f,  /* inner left magenta broad */
			inset -20px 0 300px #0ff, /* inner right cyan broad */
			0 0 50px #fff,            /* outer white */
			-10px 0 80px #f0f,        /* outer left magenta */
			10px 0 80px #0ff;         /* outer right cyan */
}
.node.Node input {background: linear-gradient(to right, #FFF, #c8c8c8); color: #000}
.node .label.Node {color: #3d003a}


.node.Choice {background: #00293f}
.node .label.Choice {color: #5bc6ff}

.node.Text {background: #e5e5e5}
.node.Text input {background-color: #FFF; color: #000}
.node .label.Text {color: #383838}

.node.Function {background: #6b0000}
.node.Function input {background-color: #ffbfbf; color: #000}
.node .label.Function {color: #ff4747}

.node.Set {background: #594a00}
.node.Set input {background-color: #ffe97f; color: #000}
.node .label.Set {color: #ffe463}

.node.Branch {background: #700065}
.node.Branch input {background-color: #ff8ef3; color: #000}
.node .label.Branch {color: #ffbcf7}

.node.Tree {background: #445900}
.node.Tree input {background-color: #e5ff91; color: #000}
.node .label.Tree {color: #d0f94a}

.node.GoToLabel {
	border: solid 1px #4b0000;
	box-shadow:
			inset 0 0 50px #fff,      /* inner white */
			inset 20px 0 80px #c80000,   /* inner left magenta short */
			inset -20px 0 80px #ec7a00,  /* inner right cyan short */
			inset 20px 0 300px #c80000,  /* inner left magenta broad */
			inset -20px 0 300px #ec7a00, /* inner right cyan broad */
			0 0 50px #fff,            /* outer white */
			-10px 0 80px #c80000,        /* outer left magenta */
			10px 0 80px #ec7a00;         /* outer right cyan */
}
.node.GoToLabel input {background-color: #ffcdaa; color: #000}
.node .GoToLabel.Tree {color: #ec7f85}

.node input, button, select
{
	/* Enable interacting with inputs only. */
	pointer-events: auto;	
	border: none;
	box-sizing: border-box;
	background-color: #456;
	color: #fff;
}

.node .label
{
	color: #ddd;
}

button
{
	float: right;
	border: none;
	border-radius: 8px;
	font-weight: bold;
	width: 16px;
	height: 16px;
	line-height: 0px;
	text-align: middle;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

button.delete:hover
{
	background-color: #c0392b;
}

.node button.add:hover
{
	background-color: #8c6;
}

.node button.remove:hover
{
	background-color: #dc5;
}

.node input, select
{
	width: 100%;
	padding: 4px;
	margin-top: 8px;
	display: block;
}

.node
{
	color: #fff;
}

/*
Context menu
*/
.b-m-mpanel, #menu, #flash
{
	background-color: #444;
	position: absolute;
	z-index: 99997;
	-moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);
}

.b-m-split
{
	font-size: 0px;
	margin: 2px;
	border-bottom: 1px solid #777;
}

.b-m-item, .b-m-ifocus
{
    padding: 8px;
    line-height: 100%;
}

span
{
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

.b-m-ibody
{
	overflow: hidden;
	text-overflow: ellipsis;
}

.b-m-ifocus
{
    background-color: #000;
}
