/* HTML5 DOCTOR RESET */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,var,sub,sup,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video
{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body{line-height:1}
article,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul,ul{list-style:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:0;padding:0}
input,select{vertical-align:middle}
textarea:focus, input:focus{ outline: 0; }

body {
	font-family: 'HelveticaNeue', Helvetica, sans-serif;	
	font-size: 14px;
	line-height: 1.2;
	min-height: 100vh;
}
.grid-col-6 {
	width: 50%;
	padding: 0 20px 20px;
	float: left;
	box-sizing:border-box;
}
.clearfix:after, #site_holder .row:after {
	content:  '';
	display: table;
	clear: both;
}

textarea {
	width: 100%;
	font-family: 'HelveticaNeue', Helvetica, sans-serif;	
	box-sizing: border-box;
	padding: 5px 10px;
	border: 1px solid #ccc;
	font-size: 14px;
	line-height: 1.2;
	height: 350px;
}
input[type="submit"] {
	background-color: #000;
	border: none;
	padding: 4px 10px;
	border-radius: 3px;
	color: #fff;
	-webkit-appearance: none;
	/*margin-left: 20px;*/
	font-size: 18px;
	font-weight: bold;
	cursor: pointer;
}
input[type="submit"]:hover {
	background-color: #fff;
	color: #000;
}
.top-submit { float: right; margin-top: -30px;}
.wrapper {
	margin: 0 40px;
	min-height: 100vh;
	position: relative;
}
em {
	font-size: 12px;
}
.output {
	width: 400px;
	background: #efefef;
	padding: 10px;
	margin: 0 auto;
	margin-bottom: 20px;
}
pre {
	font-family: monospace;
	background-color: #fff;
	width: 100%;
	margin: 0px auto 10px auto;
	padding: 0.5em;
	border-radius: .25em;
	box-shadow: 0.1em 0.1em 0.5em rgba(0, 0, 0, 0.45);
	line-height: 0;
	counter-reset: line;
}
pre span {
	display: block;
	line-height: 1.5rem;
}
pre span:before {
	counter-increment: line;
	content: counter(line);
	display: inline-block;
	min-width: 25px;
	border-right: 1px solid #ddd;
	padding: 0 .5em;
	margin-right: .5em;
	color: #888;
}
a.new-window {
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: lime;
	background: url(../_img/new-window-icon.png) 0 0 no-repeat;
	background-size: 10px 10px;
	opacity: 0.4;
	margin-left: 3px;
}
a.new-window:hover { opacity: 1; }

.parser-type-wrap {
	background: #fff;
	padding: 10px 20px;
	box-sizing: border-box;
	box-shadow: 0.1em 0.1em 0.5em rgba(0, 0, 0, 0.45);
	float: left;
	margin-bottom: 10px;
}
.parser-type-wrap > label.t {
	font-weight: bold;
	font-size: 16px;
}
.parser-type-wrap > label.o { margin-left: 6px; }

hr.clear, hr.clear_content_cols {
	visibility: hidden;
	height: 0px;
	border: none;
	clear: both;
	float: none;
	font-size: 0px;
	line-height: 0px;
}	
.explanation {
	padding-left: 80px;
	font-style: italic;
	margin-bottom: 10px;
}

.output h1 {
	font-size: 21px;
	padding-bottom: 0;
	margin-bottom: 5px;
}
/* Timelines */
#seconds,
#frames,
#bars {
	position: absolute;
	width: 100%;
	bottom: 20px;
	height: 100px;
	/*overflow-x: hidden;*/
	overflow-y: visible;
	/*overflow: hidden;*/
	/*height: 100px;*/
	left: 0;
}
#seconds:before,
#frames:before,
#bars:before {
	content: 'beats';
	position: absolute;
	font-size: 12px;
	line-height: 15px;
	transform: rotate(-90deg);
	transform-origin: top left;
	position: absolute;
	/*height: 20px;*/
	bottom: 10px;
	left: -20px;
}
#bars:before { bottom: 30px; }
#frames:before { content: 'frames'; }
#seconds:before { content: 'seconds'; }
#seconds > i,
#frames > i,
#bars > i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	/*border-left: 1px solid #000;*/
	background: url(../_img/border-vertical.gif) top left repeat-y #94FF94;
	height: 100px;
}
#bars { height: 120px; bottom:  0; }
/* Frames */
#frames > i { background-image: none;}
#frames { bottom: 120px; }
#frames > i {	background-color: #f3cfff; }
#frames > i:nth-child(even) { background-color: #f7ddff; }
#frames > i:nth-child(10n) {  background-color: #cf40ff; }
/* Seconds */
#seconds {
	bottom: 220px;
	background-color: #B4FFFF;
}
#seconds i {
	background-color: #B4FFFF;
}
/* Counters.. */
#bars > i:nth-child(4n) {
	/*counter-reset: bar_counter;*/
	/*counter-reset: beat_counter;*/
}
#bars {
	counter-reset: beat_counter;
	counter-reset: bar_counter;
}
#bars > i {
	/*position: relative;*/
    counter-increment: beat_counter;
}
#bars > i.b { counter-reset: beat_counter; }

#bars > i:before {
	position: absolute;
	top: 100%;
	left: -10px;
	font-size: 10px;
    content: counter(bar_counter) "." counter(beat_counter) " ";
}
#bars > i.b:before { 
	counter-increment: bar_counter; 
	color: red;
	/*counter-increment: beat_counter;*/
}
/* controls */
#controls {
	background-color: #e6e6e6;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 0 0 5px 5px;
	font-size: 36px;
	line-height: 1;
	border: 1px solid #ccc;	
	border-top: none;
	position: relative;
	z-index: 5;
}
#controls label {
	display: block;
	float: left;
	margin-right: 20px;
	font-size: 18px;
}
#controls input[type="submit"] { float: left;}
#controls input[type="submit"],
#controls input[type="number"] {
	line-height: 1;
	font-size: 36px;
	width: 100px;
	font-weight: bold;
	border-radius: 3px;
	padding: 5px;
	text-align: center;
	border: none;
	box-sizing: border-box;
	height: 50px;
}
#controls input[type="submit"] {
	margin-bottom: -5px;
}
/* */
.num-info {
	position: absolute;
	right: 20px;
	top: 35px;
	font-size: 24px;
	line-height: 1;
	background: #eee;
	padding: 5px 10px;
	border-radius: 3px;
	box-shadow: 1px 1px 0px #666;
}
#timelines {
	position: absolute;
	bottom: 20px;
	left: 0;
	width: 100%;
}
#time-indicator {
	position: absolute;
	bottom: 0px;
	left: 0;
	height: 330px;
	width: 1px;
	background-color: red;
	z-index: 3;
}
/* Export */
#export-button {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 18px;
	line-height: 1.4;
	background-color: #666;
	display: inline-block;
	padding: 5px 10px;
	color: #fff;
	border-radius: 3px;
	box-shadow: -1px 1px 0px #fff;
	cursor: pointer;
}
#export-button:hover { background-color: #000; }
#export-button > em {
	font-size: 12px;
	font-style: normal;
	display: block;
}
/* show explanation */
a#show-explanation {
	font-size: 16px;
	line-height: 1;
	border-radius: 0 0 3px 3px;
	font-weight: bold;
	background-color: #000;
	display: block;
	padding: 5px 8px;
	color: #fff;
	position: absolute;
	right: 5px;
	top: 100%;
	z-index: 111;
	cursor: pointer;
	box-shadow: -1px 1px 0px #fff;
}
#explanation {
	position: absolute;
	top: 100px;
	right: 10px;
	width: calc(100% - 20px);
	box-sizing: border-box;
	border-radius: 0 0 10px 10px;
	padding: 15px;
	background-color: #efefef;
	color: #333;
	z-index: 4;
	font-size: 16px;
	line-height: 1.6;
	opacity: 0;
}
#explanation.positioned { opacity: 1; }
#explanation ol {
	margin-left: 20px;
}
#explanation a {
	color: #333;
}
@media  (max-width: 850px) {
	#controls input[type="submit"],
	#controls input[type="number"] {
		font-size: 18px;
		width: 50px;
	}
}
@media  (max-width: 650px) { 
	#export-button {
		position: static;
		margin-top: 10px;
		clear: both;
		width: 100%;
		box-sizing: border-box;
		float: left;
	}
	#export-button > em { display: inline-block; margin-left: 10px; }
	#controls input[type="submit"],
	#controls input[type="number"] {
		font-size: 14px;
		width: 50px;
	}
	#controls label {
		margin-right: 5px;
	}
}