html, body
{
	margin: 0px;
	height: 100%;
	overflow: hidden;
	font-family: Arial, Verdana;
	tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	user-select: none;
	-o-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
}

body
{
	position: relative;
	min-width: 700px;
}

.page-content
{
	position: absolute;
	top: 55px;
	left: 0px;

	width: 100%;
	height: calc(100% - 55px);
}

.hidden
{
	display: none;
}

#debug
{
	position: absolute;
	top: 0px;
	left: 0px;
	color: #fff;
	padding: 10px;
	z-index: 2000;
	background-color: rgba(0, 0, 0, 0.85);
}

.bold
{
	font-weight: bold;
}

.canvas-wrapper
{
	position: absolute;
	top: 0px;
	left: 0px;

	width: 100%;
	height: 100%;
}

.canvas-wrapper > #static-schematic
{
	position: absolute;
	top: 0px;
	left: 0px;

	transform-origin: top left;
}

.canvas-wrapper > canvas
{
	position: absolute;
	top: 0px;
	left: 0px;

	width: 100%;
	height: 100%;
}

.canvas-wrapper > .component
{
	pointer-events: none;
	position: absolute;
	top: -100%;
	left: -100%;

	padding: 8px;

	max-width: 240px;

	color: #fff;
	font-size: 12px;
	font-weight: bold;

	opacity: 0.0;
	border-radius: 4px;
	background-color: #4a6a7a;
	border: 1px solid #547a89;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);

	transition: opacity 0.25s;
}

.canvas-wrapper > .component.visible
{
	opacity: 1.0;
}

/*
	Page Frame
*/

#page-frame
{
	position: absolute;
	left: 0px;
	width: 100%;
}

.page-content.nav-top #page-frame
{
	bottom: 0px;
	height: calc(100% - 86px);
}


.page-content.nav-bottom #page-frame
{
	top: 0px;
	height: calc(100% - 86px);
}

/*
	Aspect Ratio Block
*/

.aspect-block-outer
{
	display: table;
	width: 100%;
	height: 100%;
}

.aspect-block-inner
{
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}

.aspect-block
{
	display: block;
	margin: 0 auto;
	position: relative;
}

.popup-message
{
	width: 100%;
	height: 100%;
	display: table;
	position: fixed;
	top: 0px;
	left: 0px;
	background-color: rgba(0, 0, 0, 0.8);
}

/*
	Popup Message
*/

.popup-message.closed
{
	display: none;
}

.popup-message > div
{
	display: table-cell;
	vertical-align: middle;
}

.popup-message .message
{
	width: 300px;
	margin: 0px auto;
	border-radius: 7px;
	background-color: #fff;
	box-shadow: 1px 3px 1px rgba(0, 0, 0, 0.3);
}

.popup-message .content
{
	padding: 10px;
	padding-top: 20px;
	padding-bottom: 20px;
}

.popup-message .button
{
	cursor: pointer;
	width: 60px;
	margin: 0px auto;
	margin-top: 20px;
	color: #fff;
	padding: 10px;
	text-align: center;
	border-radius: 7px;
	background-color: #a50000;
}

/*
	Step Bar
*/

.step-container
{
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

#step-bar
{
    max-width:650px;

	margin: auto;
    margin-bottom:20px;
	padding: 20px 35px;

	color: white;
	font-size: 20px;

	background-color: rgba(67,66,68,0.95);
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);

    transition: opacity 0.5s;
}

#step-bar .title-text
{
	margin-bottom: 5px;
    color:#c8c04c;
	font-weight: bold;
	display: inline-block;
}

#step-bar .step-num-text
{
    display:none;
    padding-left:10px;
}

#step-bar .text
{
	font-size: 16px;
    margin-top: 6px;
}

#step-bar .text [data-component]
{
	color: #c8c04c;
	cursor: pointer;
	text-decoration: underline;
}

#step-bar .text .bold
{
	color: #c8c04c;
}

#steps
{
	display: none;
}

.legend
{
	position: absolute;
	top: 0px;
	right: 0px;

	margin: 20px;

	opacity: 1.0;
	border: 1px solid #424243;
	box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.55);

	transition: opacity 0.5s;
}

.legend.faded
{
	opacity: 0.2;
}

#step-bar.faded 
{
    opacity: 0.4;
}

.legend .title
{
	color: #fff;
	text-align: center;

	padding: 10px;
	background-color: #59595b;
}

.legend ul
{
	margin: 0px;
	padding: 10px;

	list-style: none;

	background-color: #fff;
}

.legend ul li
{
	color: #424243;
	font-size: 11px;
	line-height: 19px;
	font-weight: bold;

	padding-left: 25px;

	position: relative;
}

.legend ul li:before
{
	content: " ";

	position: absolute;
	left: 0px;

	margin: 4px;

	width: 12px;
	height: 12px;

	background-color: red;
}

.legend ul li.battery-voltage:before
{
	background-color: #ff0000;
}

.legend ul li.start-circuit:before
{
	background-color: #ffa000;
}