body {
	padding: 0;
	margin: 0;
  width:100%;
  height:100%;
  display:flex;
  font-family: Arial, Helvetica, sans-serif;
  background:rgb(230, 230, 230);
  align-items: stretch;
}

*{
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
}

.controls{
  width:300px;
  background:rgb(0, 0, 0);
  padding:40px;
  font-size:10px;
  position:relative;
  min-height:920px;
}

input[type="file"]{
  font-size:10px;
}

input[type="checkbox"],
input[type="radio"]{
  margin-left:0;
}

.inputRBContainer {
	display: flex;
	width:100%;
	flex-wrap: wrap;

}

.inputRBContainer .inputRB {
	width: 50%;
	flex-basis: 50%;
	flex-grow: 0;
	flex-shrink: 0;
}

/* input[type="checkbox"] {
  display: inline-block;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 1px;
  border: 1px solid #555;
  margin-right: 2px;
  cursor: pointer;
  position: relative;
}

input[type="checkbox"]:checked {
  background: #FF7;
}  */


input[type="checkbox"] {
    position: relative;
    width: 28px;
    height: 14px;
    -webkit-appearance: none;
    background: #ddd;
    outline: none;
    border-radius: 7px;
    /* box-shadow: inset 0 0 8px rgba(216, 216, 216, 1); */
    transition: 0.35s;
}

input:checked[type="checkbox"] {
  background: #FF7;
}

input:checked[type="checkbox"]:before {
	background: #000;
}

input[type="checkbox"]:before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  top: 1px;
  left: 1px;
  background: #999;
  transform: scale(1.1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: .2s;
}

input:checked[type="checkbox"]:before {
  left: 14px;
}

.controlsContainer{
  width:100%;
  color: #FFF;
}

.inputLine{
  margin-bottom:8px;
}

.inputText{

}

button{
  border-radius: 5px;
  width:100%;
  border:none;
  padding:8px 0 6px;
  text-transform: uppercase;
  font-size:12px;
  vertical-align:middle;
}

button#doAnimationRun{
	border-radius:5px 5px 0 0;
	margin-bottom:-1px;
}

button:hover{
  background:#FF7;
  cursor:pointer;
}

button:disabled{
  background: #555;
  color: #000;
  cursor: not-allowed;
}

button:disabled:hover{
  background: #555;
  cursor: not-allowed;
}

button svg{
	width:20px;
	height:auto;
}


.inputText input{
  width:60px;
}

.inputText input.tnl{
  width:60px;
}

.inputSlider input[type="range"] {
  -webkit-appearance: none !important;
  width: 175px;
  height: 2px;
  background: white;
  border: none;
  outline: none;
  margin-right:2px;
  margin-top:10px;
}
.inputSlider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 14px;
  height:14px;
  background: white;
  border: 2px solid white;
  border-radius: 50%;
  cursor: pointer;
}
.inputSlider input[type="range"]::-webkit-slider-thumb:hover {
  background: white;
} 

.inputSlider input[type="range"]::-webkit-slider-thumb:hover {
  background:#FF7;
  border-color:#FF7;
}

.inputSlider input[type="range"]:hover{
  background:#FF7;
}

.inputSlider label{
  line-height:22px;
  vertical-align: top;
}

.inputCB label,
.inputRB label{
  line-height:22px;
  vertical-align: top;
}

.inputRB label{
  margin-right:10px;
}

.canvasContainer{
  width: calc(100vw - 340px);
  height:100vh;
  background:rgb(230, 230, 230);
  border-left:1px solid #000;
  position:relative;
  padding-top:40px;
  padding-left:40px;
}

canvas{
  
}

.controlGroup{
  display:none; 
}

.controlGroup.active{
  display:block;
}

.overallControls{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #555;
}

.ocBottom{
	/* align all elements to the bottom of the screen */
	position: absolute;
	bottom: 20px;
	left:40px;
	right:40px;
	bottom:32px;
	

}

.inputSpacer{
  height:10px;
}

.tabs{
  font-size:13px;
  color: #FFF;
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom: 1px solid #555;

  display:flex;
  justify-content: space-between;
  align-items: center;


}

.tabs .tab{
  opacity:0.5;
  cursor:pointer;
}

.tabs .tab:hover{
  opacity:0.8;
}

.tabs .tab:last-child{
  margin-right:0;
}

.tabs .tab.active{
  opacity:1;
  cursor: default;
  color:#FF7;
}


.inputSliderAnim{
  margin-bottom:15px;
}

.animationTimer{
  width: 100%;
  height: 8px;
  background: #CCC;
  position: relative;
}

.animationTimer .animationBar{
  width: 0;
  height: 8px;
  background: #FF7;
  position: absolute;
  top: 0;
  left: 0;
}

.inputSliderAnim label{
  color:#FF7;
}

.inputSliderAnim.disabled{
  opacity:0.2;
  pointer-events:none;
}