body
{
	overflow: hidden;
}

#workspace
{
	display: flex;
	display: -webkit-box;
}

#viewport
{
	flex: 1;
	
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#feffe8+0,d6dbbf+100;Wax+3D+%231 */
	background: #feffe8; /* Old browsers */
	background: -moz-linear-gradient(top,  #feffe8 0%, #d6dbbf 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #feffe8 0%,#d6dbbf 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #feffe8 0%,#d6dbbf 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffe8', endColorstr='#d6dbbf',GradientType=0 ); /* IE6-9 */

}

#workspace canvas
{
	width: 75%;
}

#controls
{
	width: 22%;
}

fieldset
{
	border: none;
}

.ui-tabs .ui-tabs-panel
{
	padding: 0;
}

#context-menu
{
	position: fixed;
}

ul.token-input-list, div.token-input-dropdown
{
	width: 200px;
}

ul.components, #rigs ol
{
	padding: 0;
	margin: 0;
	list-style: none;
	
	display: flex;
	flex-flow: row wrap;
}

/*TODO  Mobile resize.*/
ul.components>li, #rigs ol>li
{
	box-sizing: border-box;
	margin: 2px;
	padding: 4px;
	border: 1px dashed lightgrey;
	flex-basis: calc(50% - 4px);
}

ul.components figure, #rigs figure
{
	background-color: white;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	padding-bottom: 100%;
	
	position: relative;
}

ul.components figcaption, #rigs figcaption
{
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	text-align: right;
	font-size: 6pt;
}

ul.components figcaption>span, #rigs figcaption>span
{
	display: inline-block;
	background: rgba(255,255,255,0.75);
	font-weight: bold;
	padding: 3px;
	text-shadow: 0px 0px 1px white;
}

.draggable-helper
{
	display: block;
	
	width: 92px;
	height: 92px;
	
	opacity: 0.75;
	
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	
	pointer-events: none;
}

#scroller
{
	overflow: scroll;
	overflow-x: hidden;
}

#dock
{
	/* background: red; */
	position: fixed;
	text-align: center;
	left: 0;
	bottom: 0;
	width: 100%;
}

#dock>*
{
	opacity: 0.25;
	transition: opacity 0.3s;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}

#dock>*:hover
{
	opacity: 1.0;
}

#trash
{
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
}

#trash.highlight
{
  -webkit-animation-name: hvr-buzz;
  animation-name: hvr-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
	
	opacity: 1.0;
}

textarea[name="annotation-text"]
{
	display: block;
	width: 90%;
	max-width: 90%;
	margin: 0 auto;
	height: 3em;
}

p.sharing img
{
	cursor: pointer;
	height: 48px;
}

input[name='search']
{
	box-sizing: border-box;
	width: 100%;
}

#library
{
	position: relative;
}

#library>.loader
{
	position: absolute;
	top: 50%;
	left: 50%;
}

#preloader
{
	background-color: white;
	
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	
	text-align: center;
}

#preloader>img
{
	height: 80vh;
}

#preloader>.loader-horizontal
{
	position: fixed;
	bottom: 0.5em;
	left: 50%;
	transform: translateX(-50%);
}

ul.bullet.tooltip
{
	margin: 0;
	padding-left: 0.8em;
}

ul.bullet.tooltip img
{
	height: 1em;
}

#help-dialog a
{
	display: block;
}

#controls
{
	position: relative;
}

#controls #grabber
{
	position: absolute;
	right: 100%;
	top: 50%;
	background: white;
	background: lightgrey;
	border: 1px solid grey;
	box-shadow: 2px 2px 5px white inset;
	border-top-left-radius: 1em;
	border-bottom-left-radius: 1em;
	border-right: none;
	padding: 1em 2px;
	font-size: 2em;
	transform: translateY(-50%);
	cursor: pointer;
}

#controls #grabber:after
{
	font-family: FontAwesome;
	content: "\ab";
}

#controls.active #grabber:after
{
	content: "\bb";
}

#controls
{
	transition: width 1s;
}

#controls:not(.active)>.tabs
{
	overflow: hidden;
}

#controls:not(.active)
{
	width: 0%;
}

#controls.active
{
	width: 22%;
}

@media screen and (orientation: portrait)
{
	#controls.active
	{
		width: 66%;
	}
}

@media (pointer:coarse)
{
	#controls>.tabs:first-child>ul
	{
		display: flex;
		overflow: scroll;
		white-space: nowrap;
	}
}

@media print
{
	#workspace>*:not(#viewport)
	{
		display: none;
	}
}

h3 {
	margin-left: 10px;
}