body {
    background-color: #000000;
	background-image: url(../images/bg.jpg);
	max-height: 100%;
	max-width: 100%;
	height: 100%;
	overflow: hidden;
	position: fixed;
	width: 100%;
	
	font-size: 18px;
	line-height: 1.8em;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
body input,
body textarea {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
	font-size: 16px;
}
body textarea {
	font-size: 12px;
	line-height: 14px;
}


div#dialogFrame .bar .buttonX {
	padding: 0 5px;
}
a {
	color: var(--color_gui)
}
p {
	margin: 0;
}

#menu h2 {
	font-size: 30px;
	width: 100%;
	margin-bottom: 0px;
}
h3 {
	margin-bottom: 0;
}

html.noTouch {
	scrollbar-color: var(--color_gui_b) #000;
}


html .info_Windows,
html .info_Android,
html .info_iOS,
html .info_OSX {
	display: none;
}
html.Windows .info_Windows,
html.Android .info_Android,
html.ApplePhone .info_iOS,
html.OSX .info_OSX {
	display: block;
}



.detBox {
	position: relative;
	height: 100px;
	width: 100%;
	z-index: 1;
}



#editorWaveDisplay {
	position: relative;
	overflow: hidden;
}



#hexaBoard,
#editorWaveDisplay,
.rotaryInput {
	touch-action: none;
}


.regionHighlight,
.regionSelect {
	position: absolute;
	height: 100%;
	background: rgba( 0, 0, 255, 0.1);
	box-shadow: inset 0 0 3px gray;
}
.regionHighlight i,
.regionSelect i {
	height: 100%;
	width: 50px;
	max-width: 33%;
	background: rgba( 0, 0, 255, 0.1);
	float: left;
	display: none;
	top: 0;
	position: absolute;
	left: 0;
}
.regionHighlight i + i,
.regionSelect i + i {
	left: auto;
	right: 0;
	display: none;
}


.regionSelect {
	cursor: w-resize;
	z-index: 2;
}
.regionSelect i {
	cursor: col-resize;
}
.touch .regionSelect i,
.regionSelect:hover i {
	display: block;
}
.touch .regionSelect i,
.regionSelect i:hover {
	background: rgba( 0, 0, 255, 0.2);
}




#editorWaveDisplay canvas {
	cursor: text;
}
#editorWaveDisplay canvas,
.detBox canvas {
	background-color: #000000;
	background-image: linear-gradient( 0deg, rgba( 60, 60, 60,1) 0%, transparent 50%, rgba( 60, 60, 60,1) 100%);
	border-radius: 5px;
	margin-bottom: -10px;
}
.detBox canvas {
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 5px;
	max-width: 100%;
}
.detBox .revealer,
.detBox .detBox_sub {
	display: none;
	position: absolute;
	bottom: 0;
	right: 0;
}
.detBox .revealer {
	top: 0;
	bottom: auto;
	z-index: 1;
}
.detBox .revealer {
	display: block;
}
.detBox:hover .detBox_sub {
	display: block;
	width: 100%;
}
#freqDet {
	color: white;
	text-shadow: 0 0 3px black;
}























#scrollContainer {
	position: relative;
	transform: scale( 1);
	transform-origin: left top 0px;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	width: 4000px;
}
#OSC_instances_cont {
	display: none;
}






input[type=submit],
input[type=button],
html body .button {
	font-size: 20px;
	line-height: 30px;
	margin-bottom: 1px;
	margin-top: 1px;
	padding: 0 4px;
	border-radius: 0.9em;
	border-radius: 5px;
	width: auto;
	color: var(--color_gui);
	background: #234;
}
html body .button .fa {
	line-height: 30px;
	font-size: 22px;
	height: 30px;
	width: 30px;
	margin: 0 -4px;
	text-align: center;
	box-sizing: border-box;
}
.button.active {
	background: transparent;
	box-shadow: 0 0 2px black;
	color: inherit;
}
.nav .button {
	width: 132px;
}

.touch li,
.touch .menu li,
.touch label,
.touch .button,
.touch .button > .fa {
	line-height: 40px;
}
.touch .button.fa,
.touch .button > .fa {
	min-width: 40px;
	text-align: center;
}
.touch #menu div.box.embr {
	padding-top: 40px;
	margin-top: -40px;
}

input[type=submit]:hover,
input[type=button]:hover,
html body .button:hover {
	box-shadow: 0 0 3px black;
}

hr {
	border: 0px;
	height: 1px;
	box-shadow: 0 0 2px black;
	background-color: #8884;
	margin: 5px 0;
	clear: both;
}














li.menu {
	position: relative;
	list-style: none;
	font-size: 15px;
	line-height: 20px;
	display: inline-block;
	height: 20px;
}
li.menu li,
li.menu a,
li.menu a:hover {
	color: white;
	text-decoration: none;
	border-bottom: 0;
	cursor: default;
	white-space: nowrap;
	font-size: 15px;
	line-height: 20px;
	position: relative
}
li.menu ul,
li.menu li ul {
	background: rgba( 0, 0, 0, 0.8);
	position: absolute;
	z-index: 100;
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	width: auto;
	min-width: 150px;
	top: 30px;
	left: 0;
}
li.menu ul li ul {
	top: 0px;
	left: 150px;
}
li.menu:hover > ul,
li.menu li:hover > ul {
	display: block;
}
li.menu ul > a,
li.menu ul > li {
	padding: 0;
	display: block;
}
li.menu ul > a:hover,
li.menu ul > li:hover {
	background: #FFF4;
}
li.menu, li.menu li,
body li.menu a,
body li.menu a:hover {
	font-size: inherit;
	line-height: inherit;
	height: auto;
	color: white;
	text-decoration: none;
	border-bottom: 0;
	cursor: default;
	white-space: nowrap;
}
li.menu i.fa {
	width: 30px;
	text-align: center;
}
li.menu span.key {
	position: absolute;
	right: 0;
}





:root {
	--color_gui: #00AAA0;
	--color_gui_b: #345;
	--hb_color: burlywood;
	--hb_color_n: black;
	--hb_color2: black;
	--hb_color2_n: white;
	--hb_color3: sienna;
	--hb_color3_n: white;
	--hb_color_hl: #00F;
	--hb_trans: transparent;
}






#menu > div {
}
#menu {
	left: 0;
	width: 100%;
}

#menu_m,
#menu_t,
#menu_l {
	position: absolute;
	top: 0;
	padding: 5px;
	box-sizing: border-box;
	z-index: 1;
}
#menu_t {
	left: 0px;
	height: 30px;
	width: 0;
	padding: 5px;
	white-space: nowrap;
	text-shadow: 0 0 3px black;
	z-index: 0;
	pointer-events: none;
}
#menu_m div.cont {
	display: none;
}
#menu_m div.cont_open {
	overflow: visible;
	position: relative;
}


#menu #menu_l {
	width: 120px;
	border-radius: 0 0 0 8px;
	text-align: center;
}
#menu #menu_m,
#menu #menu_l { left: calc( 100% + 10px); transition-duration: 100ms; }
#menu.open #menu_l { left: calc( 100% - 120px); }
#menu.extended #menu_l { left: calc( 100% - 120px - 310px); }
#menu.extended #menu_m { left: calc( 100% - 310px); padding-top: 5px; }
@media handheld, screen and (max-width: 440px) {
	#menu.extended #menu_l { left: 0; }
	#menu.extended #menu_m { left: auto; right: 0; }
}
#menu #menu_l:hover,
#menu #menu_m:hover { z-index: 3; }

#menu_m,
#menu_l {
/*	background: rgba( 0, 0, 0, 0.9);*/
	background-image: linear-gradient( -10deg, #0006, #0000);
	background-image: linear-gradient( 170deg, #0009, #000D);
	background-color: #CBA;
	box-shadow: 0 0 10px black;
}
#menu_m {
	padding: 5px 0 5px 5px;
	height: auto;
	width: 310px;
	max-width: calc( 100% - 40px);
	position: absolute;
	top: 0;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: calc( 100%);
	border-radius: 0 0 0 8px;
	z-index: 2;
}
html.APP.Android #fullScreenButton {
	display: none;
}

#menu div.box {
	display: block;
	box-shadow: 0 0 5px #FFF4;
	padding: 5px;
	border-radius: 5px;
	max-width: 290px;
	
	height: 0px;
	overflow: hidden;
	transition-duration: 100ms;
}
#menu div.box,
#menu div.box label {
	line-height: 40px;
}
#menu label > i:first-of-type {
	margin-left: 5px;
}
#menu input[type="checkbox"],
#menu input[type="checkbox"] + i {
	margin-top: 7px;
}
#menu div.box span.rotaryInput {
	margin-top: 4px;
}

.button.inDrag {
	color: inherit;
}
.button.inDrag::after {
	content: "";
	background: transparent;
	width: 34px;
	display: inline-block;
	position: absolute;
	padding: 2000px;
	top: -1000px;
	left: -1000px;
	z-index: 10;
}


#menu div.box::before {
	font-family: "FontAwesome";
	content: "\f067";
    position: relative;
    top: -21px;
    left: 284px;
	font-size: 12px;
	margin-right: -12px;
}
#menu div.box.embr {
	padding-bottom: 0;
	padding-top: 1.8em;
	margin-top: calc( 4px - 1.8em);
	margin-top: -1.8em;
}
#menu div.box.embr.open {
}
#menu div.box.embr::before {
    top: -48px;

}

#menu div.box.active,
#menu div.box.open {
	height: auto;
	overflow: visible;
	padding-bottom: 5px;
}
#menu div.box.open::before {
	content: "\f068";
}

#menu div.box.active {
	background: black;
}
#menu div.box.active::before {
	content: "\f10c";
}



#menu .big .fa.arrows {
	cursor: grab;
}
#menu .big,
#menu .big .fa {
	height: 50px;
	width: 50px;
	font-size: 40px;
	line-height: 50px;
	margin: 0;
	padding: 0;
}

#menu #hamburgerButton {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	border-radius: 0 0 0 5px;
}
#menu.open #hamburgerButton {
	display: none;
}
#menu .closeButton {
    margin: -5px 0 0 -15px;
    padding: 5px 0 0 5px;
	border-radius: 0 0 5px 0;
}
#menu #cont_closer {
	position: absolute;
	top: 0px;
	margin-top: 0;
	right: 0px;
	z-index: 1;
	display: block;
	height: 56px;
	width: 50px;
	text-align: center;
	box-sizing: border-box;
	border-radius: 0 0 0 5px;
}
#menu #cont_closer,
#menu #cont_closer i {
	line-height: 60px;
	font-size: 40px;
}
disabled .noTouch #menu #cont_closer {
	display: none;
}
#menu a.button.big i.fa-chevron-left {
	padding-left: 10px;
}
table tr td {
	vertical-align: top;
}


#box_tuning ul {
	list-style: none;
	padding: 0;
}
#box_tuning ul li {
	display: inline-block;
	width: 30%;
	text-align: right;
	display: inline-block;

	width: 15%;
	text-align: center;
	line-height: 20px;
	margin: 0;
	padding: 0;
}





#smartOptionContainer {
	position: absolute;
	list-style: none;
	padding: 0;
	margin: 0;
	z-index: 1001;
	min-width: 160px;
	background: #444444;
	box-shadow: 0 3px 3px black;
	max-height: calc( 100% - 20px);
	max-width: calc( 100% - 60px);
	overflow: auto;
}
#smartOptionContainer li {
	padding: 0 5px;
	cursor: pointer;
	border-top: 1px solid #000000;
	line-height: 30px;
}
#smartOptionContainer li.selected {
	background: #222222;
}
#smartOptionContainer li b {
	display: block;
	margin: 0 -5px;
	padding: 0 5px;
	line-height: 20px;
	border: 5px solid black;
}













#hb_lastNoteDisplay {
	background: rgba( 0, 0, 0, 0.3);
	box-shadow: inset 0 0 3px white;
	width: auto;
	display: inline-block;
	padding: 0 3px;
	border-radius: 5px;
}
div.topBar {
	background: sienna;
	box-shadow: inset 0 0 3px black;
	height: 30px;
	width: 100%;
}







#hexaBoard {
}
div.hexaBoard div.keyLine {
	clear: both;
}
div.hexaBoard div.keyLine.odd {
	margin-left: 66px;
}
div.hexaBoard b.key {
	display: inline-block;
	box-sizing: border-box;
	float: left;
	position: relative;
	
	height: 80px;
	width: 80px;
	border-radius: 40px;
	margin: 0 26px -42px 26px;
	font-size: 22px;
	font-weight: bold;
	line-height: 2.4em;
	border: 3px solid #333;
	box-shadow: 0 0 15px black;
	text-align: center;
	vertical-align: middle;
	padding: 10px 0;
	background: #660044;
	color: #FFFFFF;
	z-index: 0;
}
div.hexaBoard b.key:hover {
	z-index: 1;
}



div.hexaBoard.skew1 div.keyLine {
	margin-left: -28px;
}

div.hexaBoard div.keyLine.odd,
div.hexaBoard.skew1 div.keyLine.odd {
	margin-left: 38px;
}
div.hexaBoard.skew1 b.key {
	margin: 0 26px -42px 26px;
}
div.hexaBoard.skew2 div.keyLine.odd {
	margin-left: 40px;
}
div.hexaBoard.skew2 b.key {
	margin: -2px -2px -13px -2px;
}
div.hexaBoard.skew0 div.keyLine {
	margin-left: 20px;
}
div.hexaBoard.skew0 b.key {
	margin: -2px;
	border-radius: 15px;
}













div.hexaBoard.piano div.keyLine.odd {
	transform: rotateX( 180deg);
}
div.hexaBoard.piano div.keyLine.odd b.key {
	transform: rotateX( 180deg);
	padding-top: 0px;
}
div.hexaBoard.rotate.piano b.key {
	transform: rotateZ(0deg) scaleX(-1);
}
div.hexaBoard.rotate.piano div.keyLine.odd b.key {
	transform: rotateZ(180deg);
}
div.hexaBoard.piano div.keyLine {
	margin-top: 5px;
	margin-bottom: 5px;
	margin-left: 0;
}
div.hexaBoard.piano b.key {
	float: left;
	position: relative;
	border: 1px solid gray;
	border-radius: 5px;
	margin: 0;
	margin-left: 4px;
	box-shadow: 0 5px 5px black;
	box-sizing: border-box;
	font-size: 13px;
}
div.hexaBoard.piano b.key.b {
	z-index: 2 !important;
	padding-top: 0px;
	margin-top: 0;
}
div.hexaBoard.piano b.key.b + b.key.b {
    margin-left: 26px;
}

div.hexaBoard.piano b.key {
	width: 40px;
}
div.hexaBoard.piano b.key.b {
	margin-left: -18px;
	margin-right: -22px;
}
div.hexaBoard.piano b.key {
	width: 60px;
}
div.hexaBoard.piano b.key.b {
	margin-left: -30px;
	margin-right: -30px;
}


div.hexaBoard.piano div.keyLine {
	height: 130px;
}
div.hexaBoard.piano b.key {
	height: 80px;
	margin-top: 50px;
}
div.hexaBoard.piano b.key,
div.hexaBoard.piano div.keyLine.odd b.key.b {
	padding-top: 46px;
}
div.hexaBoard.piano div.keyLine b.key.b {
	margin-top: 0px;
	padding-top: 0px;
}


div.hexaBoard.piano.s div.keyLine {
	height: 96px;
}
div.hexaBoard.piano.s b.key {
	height: 60px;
	margin-top: 36px;
}
div.hexaBoard.piano.s b.key,
div.hexaBoard.piano.s div.keyLine.odd b.key.b {
	padding-top: 24px;
}
div.hexaBoard.piano.s div.keyLine b.key.b {
	margin-top: 0px;
	padding-top: 0px;
}


div.hexaBoard.piano.s div.keyLine {
	height: 220px;
}
div.hexaBoard.piano.l b.key {
	height: 120px;
	margin-top: 100px;
}
div.hexaBoard.piano.l b.key,
div.hexaBoard.piano.l div.keyLine.odd b.key.b {
	padding-top: 88px;
}
div.hexaBoard.piano.l div.keyLine b.key.b {
	margin-top: 0px;
	padding-top: 0px;
}




div.hexaBoard.rotate {
	transform: rotateX(180deg) rotateZ(90deg);
	transform-origin: bottom left;
}
div.hexaBoard.rotate b.key {
	transform: rotateX(180deg) rotateZ(90deg);
}
div.hexaBoard.rotate #hb_kb_area {
	transform: none;
}
div.hexaBoard.rotate #hb_kb_area b {
	transform: rotateZ(90deg) scaleX(-1);
}


div.hexaBoard {
	padding-bottom: 12px;
}
div.hexaBoard.flipV,
div.hexaBoard.flipV div.keyLine > *,
div.hexaBoard.flipV #hb_kb_area {
	transform: scaleY(-1);
}


div.hexaBoard.flipH div.keyLine {
	margin-left: 0!important;;
}
div.hexaBoard.flipH div.keyLine.odd {
	margin-right: 38px;
}
div.hexaBoard.flipH div.keyLine > * {
	float: right;
}


div.hexaBoard.rotate.flipV {
	transform: rotateX(180deg) rotateZ(90deg) scaleY(-1);
	transform-origin: bottom left;
}
div.hexaBoard.rotate.flipV b.key {
	transform: rotateZ(90deg);
}
div.hexaBoard.rotate.flipV.piano b.key {
	transform: rotateZ( 0deg);
}
div.hexaBoard.rotate.flipV #hb_kb_area {
	transform: rotateX(180deg) scaleY(-1);
}







div.hexaBoard div.keyLine:empty {
	display: none;
}
div.hexaBoard.spaced div.keyLine b.key {
	margin: 10px;
}
div.hexaBoard.skew1.spaced div.keyLine b.key {
	margin: 10px 16px -16px 36px;
}







div#hexaBoard b.key svg {
	display: none;
}
div#hexaBoard div.hexaBoard.svg b.key svg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	z-index: -1;
	pointer-events: none;
	overflow: visible;
	transform: rotate(15deg);
}
div#hexaBoard div.hexaBoard.skew1.svg b.key svg,
div#hexaBoard div.hexaBoard.skew2.rotate.svg b.key svg {
	transform: rotate(-15deg);
}
div#hexaBoard div.hexaBoard.skew1.rotate.svg b.key svg {
	transform: rotate(15deg);
}
div#hexaBoard div.hexaBoard.svg b.key {
	--c2: transparent;
}
div#hexaBoard div.hexaBoard.svg b.key svg path {
	d: path( "M 14.090085,22.225 2.977585,19.247414 0,8.134915 8.1349145,0 19.247414,2.977586 22.225,14.090085 Z");
	stroke: var(--c2);
	stroke-width: 1.8;
	fill: var(--c);
}
div#hexaBoard div.hexaBoard.svg b.key svg {
	path {
		stroke: var(--c);
		stroke-width: 0.1;
	}
}
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient stop { stop-color: var(--hb_color); stop-opacity: 1; }
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient stop + stop { stop-color: var(--hb_color); stop-opacity: 0; }
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient stop { stop-color: var(--hb_color); stop-opacity: 1; }
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient + stop { stop-color: var(--hb_color); stop-opacity: 0; }
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient#hb_gradient_key_z stop { stop-color: #FFF; stop-opacity: 0.2; }
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient#hb_gradient_key_z stop + stop { stop-color: #888; stop-opacity: 0.1; }
div#hexaBoard div.hexaBoard.svg b.key svg radialGradient#hb_gradient_key_z stop + stop + stop { stop-color: #FFF; stop-opacity: 0.2; }
.Safari div#hexaBoard div.hexaBoard.svg b.key svg path:first-of-type {
	fill: var(--c) !important;
}

div#hexaBoard div.hexaBoard.svg{
	b.key svg path { fill: url(#hb_gradient_key); }
	b.key.b svg path { fill: url(#hb_gradient_key_b); }
	b.key.c svg path { fill: url(#hb_gradient_key_c); }
	b.key.h svg path { fill: url(#hb_gradient_key_h); }
	b.key svg path:last-of-type { fill: url(#hb_gradient_key_z); }
	b.key svg {
		radialGradient#hb_gradient_key stop { stop-color: var(--hb_color); }
		radialGradient#hb_gradient_key_b stop { stop-color: var(--hb_color2); }
		radialGradient#hb_gradient_key_c stop { stop-color: var(--hb_color3); }
		radialGradient#hb_gradient_key_h stop { stop-color: var(--hb_color_hl); }
	}
}


div#hexaBoard div.hexaBoard.svg b.key {
	position: relative;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none;
	line-height: 58px;
    padding-right: 3px;
}

div#hexaBoard div.hexaBoard.skew2.svg div.keyLine.odd {
	margin-left: 38px;
}









@keyframes hb_key_vibra {
	0% { border-width: 3px; }
	25% { border-width: 2px; }
	75% { border-width: 4px; }
	100% { border-width: 3px; }
}
div.hexaBoard b.key.test {
	animation: hb_key_vibra 100ms alternate;
	animation-iteration-count: infinite;
}



#hb_kb_area {
	position: absolute;
	pointer-events: none;
	box-shadow: white 0px 0px 3px;
	border: 1px solid white;
	border-radius: 12px;
	box-sizing: border-box;
	background: #0002;
	z-index: 2;
}
#hb_kb_area::before {
	content: "Keyboard";
	top: -16px;
	position: relative;
}
#hb_kb_area span.key {
  position: absolute;
  left: 0;
  bottom: 0;
}
#hb_kb_area span.key + span.key {
  right: 0px;
  border: none;
  bottom: unset;
  left: unset;
}
#hb_kb_area b {
  position: absolute;
  font-size: 12px;
  color: white;
  text-shadow: 0 0 1px black;
  -webkit-text-stroke: 1px black;
  margin: 10px;
  z-index: 3;
}





#bufferFunctionForm .hidden_looper,
.hidden_keyboard {
	display: none;
}
.keyboard .hidden_keyboard {
	display: unset;
}
.hidden_touch {
	display: none;
}
.touch .hidden_touch {
	display: unset;
}












#menu label .fa {
  width: 18px;
}

#menu_m label {
	display: inline-block;
	width: 140px;
}
#menu_m label.l220 {
	width: 220px;
}
#menu_m select,
#menu_m input {
	width: 100px;
}


#menu_m label > .r,
#menu_m label > input + i,
#menu_m label > span.rotaryInput,
#menu_m label > input,
#menu_m label > select {
	float: right;
}
#menu_m label .r {
	padding: 0 5px;
}
input, input[type=text], input[type=password], input[type=file], textarea, select {
	box-shadow: inset 0 0 2px white;
	line-height: 1.4em;
}

input[type=color],
#menu_m input[type=color] {
	width: 30px;
	margin: 0;
	padding: 0;
}
input.JSAX[type=checkbox], #menu input[type=checkbox] {
	visibility: hidden;
	display: none;
}
input.JSAX[type=checkbox], #menu input[type=checkbox],
input.JSAX[type=checkbox] + i, #menu input[type=checkbox] + i {
	width: 37px;
	height: 22px;
}
input.JSAX[type=checkbox] + i, #menu input[type=checkbox] + i {
	position: relative;
    overflow: hidden;
    border-radius: 11px;
	display: inline-block;
	vertical-align: text-bottom;
}
input.JSAX[type=checkbox] + b::before, #menu input[type=checkbox] + b::before,
input.JSAX[type=checkbox] + i::before, #menu input[type=checkbox] + i::before {
	font-family: 'FontAwesome';
	font-style: normal;
	font-size: 22px;
	line-height: 22px;
	text-align: center;
	visibility: visible;
	content: "\f096"; /* square-o */
	content: "\f0c8"; /* square */
	content: "\f204"; /* toggle */
	content: "\f205"; /* toggle */
	position: absolute;
	transform: scaleX(-1);
	transform-origin: 50% 50%;
	font-size: 32px;
}
input.JSAX[type=checkbox]:checked + i::before, #menu input[type=checkbox]:checked + i::before {
	content: "\f046"; /* square-o */
	content: "\f14a"; /* square */
	content: "\f205"; /* toggle */
	transform: scaleX(1);
}
input.JSAX[type=checkbox]:checked + i, #menu input[type=checkbox]:checked + i {
	background: #0000FF;
}

input.JSAX[type=checkbox] + i.fa::before, #menu input[type=checkbox] + i.fa::before {
	background: #FF0000;
}
input.JSAX[type=checkbox] + i.fa::before, #menu input[type=checkbox] + i.fa::before {
	background: #FF0000;
}
input.JSAX[type=checkbox]:checked + i.fa, #menu input[type=checkbox]:checked + i.fa {
	background: #0000FF;
}
input.JSAX.play[type=checkbox] + i,
input.JSAX.play[type=checkbox] + i::before,
input.JSAX.play[type=checkbox]:checked + i,
input.JSAX.play[type=checkbox]:checked + i::before {
	background: transparent;
	transform: scaleX(1);
	line-height: 22px;
	width: 22px;
	height: 22px;
	border-radius: 0;
	position: relative;
}
input.JSAX.play[type=checkbox] + i::before {
	content: "\f04b"; /* play */
	color: #00FF00;
}
input.JSAX.play[type=checkbox]:checked + i::before {
	content: "\f04d"; /* stop */
	color: #FF0000;
}


#menu_m .bigIcons {
	float: right;
	font-size: 30px;
	margin: -5px 0;
	line-height: unset;
	position: relative;
}
input[name="hb.skew"][value="0"] + span.bigIcons i.fa-plus,
input[name="hb.skew"][value="1"] + span.bigIcons i.fa-plus + i.fa-asterisk,
input[name="hb.skew"][value="2"] + span.bigIcons i.fa-asterisk + i.fa-asterisk,
input[name="hb.skew"][value="piano"] + span.bigIcons i.fa-bars,
input[name="hb.skew"][value="other"] + span.bigIcons i.fa-code,
input[name="hb.skew"][value="html"] + span.bigIcons i.fa-code,
input[name="hb.skew"][value="code"] + span.bigIcons i.fa-superscript,
input[name="hb.skew"][value="function"] + span.bigIcons i.fa-superscript {
	text-shadow: 0 0 1px white;
	color: #0000FF;
}
input[name="hb.html"][value="1"] + i + textarea + div {
  display: none;
}
input[name="hb.html"] + i + textarea {
  display: none;
}
input[name="hb.html"][value="1"] + i + textarea {
  display: block;
}




body input[type=options] {
	padding-left: 3px;
	padding-right: 19px;
	cursor: default;
}
body input[type=options]::placeholder,
body input::placeholder {
	color: white;
	opacity: 1;
}


body input[type=options] + i {
	position: relative;
	line-height: 1px;
	font-size: 0;
}
body input[type=options] + i::before {
	position: absolute;
	left: -22px;
	top: -18px;
	font-size: 22px;
	line-height: 22px;
	font-style: normal;
	font-family: 'FontAwesome';
	content: "\f0d7"; /* caret-down */
	content: "\f107"; /* angle- */
	content: "\f078"; /* chevron- */
	transition-duration: 0.1s;
	transition-timing-function: ease;
	transform: scale( 0.6);
	text-shadow: 0 0 2px black;
}
body input[type=options]:focus + i::before,
body input[type=options]:hover + i::before,
body input[type=options] + i:hover::before {
	left: -10px;
	top: -30px;
	transform: rotate( 90deg);
}
body input[type=options]:focus + i::before {
	transform: rotate( 90deg) scale( 1.5);
}



.fa.button.hint {
	width: 22px;
}







input[type=range] {
	display: none;
}
.rotaryInput + input[type=range] {
	display: none;
}
.rotaryInput {
	position: relative;
	display: inline-block;
	height: 30px;
	width: 30px;
	border-radius: 50%;
	background-image: radial-gradient( white, transparent 2px, transparent 10px,
			rgba(255,255,255,0.5) 11px, rgba( 0,0,0, 0.2) 12px, rgba( 0,0,0, 0.2) 14px, black 15px);
	background-color: var(--color_gui_b);
	color: var(--color_gui_b);
	transition-duration: 0.1s;
	vertical-align: top;
	margin: 0 5px;
    cursor: ns-resize!important;
	box-shadow: 0 0 5px black;
	
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.rotaryInput.inDrag:active b, 
.rotaryInput.inDrag:active b:hover, 
.rotaryInput.inDrag:active:hover b,
.rotaryInput.inDrag:active {
    cursor: grabbing!important;
    cursor: ns-resize!important;
}
.rotaryInput > * {
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.rotaryInput b {
	text-align: center;
    font-size: 12px;
	line-height: 30px;
	color: white;
	height: 50px;
	top: -10px;
	width: 50px;
	left: -10px;
	line-height: 50px;
}
html.noTouch .rotaryInput:hover {
	transform: scale( 2);
}
html.noTouch .rotaryInput.inDrag,
.rotaryInput.inDrag {
	transform: scale( 4);
}
html.noTouch .rotaryInput:hover,
html.noTouch .rotaryInput.inDrag,
.rotaryInput.inDrag {
	overflow: visible;
	z-index: 10;
	text-shadow: 0 0 1px white;
}
/*
html.noTouch .rotaryInput.inDrag b {
	height: 200px;
	top: -84.5px;
	width: 200px;
	left: -84.5px;
	line-height: 200px;
}*/
.rotaryInput i {
	font-style: normal;
	line-height: 12px;
	font-weight: bold;
	text-align: center;
	text-shadow: none !important;
}
.rotaryInput i::before {
	content: ".";
	color: red;
	position: absolute;
	top: -3px;
	left: 12.5px;
	line-height: 1px;
	text-shadow: 0 0 1px red;
}
.rotaryInput i i {
	background-image: linear-gradient( to bottom,  #FFFFFF55 0, #FFFFFF22 20%, #00000033 80%, #00000055 100%);
	height: 100%;
	width: 100%;
}
.rotaryInput.t_1 i::before {
	color: gray;
	content: "";
}
.rotaryInput.t_1.inDrag i::before {
	color: gray;
	content: ".";
}





form#synthInterface input[type=range] + i {
	font-style: normal;
	clear: left;
}



div#dialogFrame {
	position: absolute;
	margin: 5px 0;
	top: 20px;
	left: 20px;
	width: calc( 100% - 40px );
	max-width: 100%;
	max-height: calc(100% - 40px);
	height: calc(100% - 10px);
}
div#dialogContainer {
	position: relative;
	max-width: calc(100% - 10px);
	height: calc(100% - 43px);
	max-height: calc(100% - 43px);
	overflow-y: auto;
}


@media handheld, screen and (max-width: 801px) {
	div#dialogFrame {
		width: 100%!important;
		left: 0px!important;
	}
}









@media (orientation: portrait) {
}
@media (orientation: landscape) {
	html.touch #menu.disabled { display: none; }
}












#MIDIRecorderBox.recording i.fa-circle {
	color: red;
}
#MIDIRecorderBox.playing i.fa-caret-right::before,
#MIDIRecorderBox.recording i.fa-caret-right::before {
	content: '\f04d'; /* fa-stop */
}


#midiFileInfo div.midi_track p,
#midiFileInfo p,
#editorWaveDisplay p {
	animation-duration: 0ms;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	animation-name: midi_playing;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba( 50, 0, 0, 0.2);
	height: 100%;
	width: 100%;
	
	display: none;
	pointer-events: none;
}
@keyframes midi_playing {
	0% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}

#midiFileInfo div.midi_track {
	box-shadow: 0 0 5px black;
	width: 95%;
	overflow-x: hidden;
	padding: 0 0 0 5px;
	border-radius: 5px;
	height: 24px;
}
#midiFileInfo div.midi_track,
#midiFileInfo div.midi_track * {
	font-size: 14px;
}
#midiFileInfo div.midi_track span {
	width: calc(100% - 74px);
	display: inline-block;
}
#midiFileInfo div.midi_track input.ti,
#midiFileInfo div.midi_track i.fa {
	float: right;
	padding: 4px 4px;
	background: black;
	border-radius: 5px;
	margin: 1px;
}
#midiFileInfo div.midi_track input.ti {
	font-size: 12px;
	line-height: 14px;
	width: 22px;
}






.pianoroll {
	background-image: linear-gradient( to top,
		transparent 0, transparent calc(1em / 12),
		#8884 calc(1em / 12 * 1), #8884 calc(1em / 12 * 2),
		transparent calc(1em / 12 * 2), transparent calc(1em / 12 * 3),
		#8884 calc(1em / 12 * 3), #8884 calc(1em / 12 * 4),
		transparent calc(1em / 12 * 4), transparent calc(1em / 12 * 5),
		transparent calc(1em / 12 * 5), transparent calc(1em / 12 * 6),
		#8884 calc(1em / 12 * 6), #8884 calc(1em / 12 * 7),
		transparent calc(1em / 12 * 7), transparent calc(1em / 12 * 8),
		#8884 calc(1em / 12 * 8), #8884 calc(1em / 12 * 9),
		transparent calc(1em / 12 * 9), transparent calc(1em / 12 * 10),
		#8884 calc(1em / 12 * 10), #8884 calc(1em / 12 * 11),
		transparent calc(1em / 12 * 11), transparent calc(1em / 12 * 12));
	font-size: 120px;
	background-image: repeating-linear-gradient( to top,
		transparent 0, transparent 1em, 
		#8882 1em, #8882 2em,
		transparent 2em, transparent 3em,
		#8882 3em, #8882 4em,
		transparent 4em, transparent 5em,
		transparent 5em, transparent 6em,
		#8882 6em, #8882 7em,
		transparent 7em, transparent 8em,
		#8882 8em, #8882 9em,
		transparent 9em, transparent 10em,
		#8882 10em, #8882 11em,
		transparent 11em, transparent 12em);
	font-size: 12px;
}
div#sequencer_tracks div.recorder_track div.trackDisplay {
    position: absolute;
    top: 0px;
    left: 0px;
	height: 0px;
    width: 100%;
}
div#sequencer_tracks div.recorder_track div.trackDisplay div.note {
	position: absolute;
	display: block;
	background: #444444;
	height: 1px;
	width: 20px;
	border-left: 1px solid black;
}







