.ref{
	font: normal normal 12px/18px Consolas, "Liberation Mono", Menlo, "Courier New", Courier, monospace;
	color: #333;
  }

  /* reset default styles for these elements */
  .ref i,
  .ref span,
  .ref r,
  .ref a{
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
	text-align: left;
	display: inline;
	text-decoration: inherit;
	white-space: normal;
	background: none;
  }

  /* meta content (used to generate tooltips) */
  .ref > div,
  .ref > t{
	display: none;
  }

  /* show help cursor when mouse is over an entity with a tooltip */
  .ref [data-tip],
  .ref [h]{
	cursor: help;
  }

  /* pointer if inside a link */
  .ref a > [data-tip],
  .ref a > [h]{
	cursor: pointer;
  }

  /* links */
  .ref a{
	color: inherit;
	border-bottom: 1px dotted transparent;
	border-color: inherit;
  }

  /* tooltip; note that the js overrides top/left properties, this is why we use margin  */
  #rTip{
	display: none;
	position: absolute;
	z-index: 99999;
	font-size: 12px;
	white-space: pre;
	text-align: left;
	text-shadow: 0 -1px 0 #191919;
	line-height: 16px;
	background: #222;
	color: #888;
	border: 0;
	border-radius: 4px;
	opacity: 0.90;
	box-shadow:0 0 4px rgba(0,0,0, 0.25);
	-webkit-transition: opacity .25s, margin .25s;
			transition: opacity .25s, margin .25s;
  }

  #rTip.visible{
	display: table;
	margin: 10px 0 0 15px;
  }

  #rTip.visible.fadingOut{
	opacity: 0;
	margin: 20px 0 0 25px;
  }

  #rTip [data-cell],
  #rTip [c]{
	padding: 2px 7px;
  }

  #rTip [data-title], #rTip [data-desc]{
	padding: 8px;
	display: block;
	color: #ccc;
  }

  #rTip [data-desc]{
	padding-top: 0px;
	color: #777;
  }

  #rTip [data-cell][data-varType],
  #rTip [c][data-varType]{
	padding: 10px;
	background: #333;
	box-shadow: inset -1px 0 0 #444;
	border-right:1px solid #111;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
  }

  #rTip [data-cell][data-sub],
  #rTip [c][data-sub]{
	padding: 8px 10px 10px 10px;
	background: #333;
	box-shadow: inset 0 1px 0 #444;
	border-top:1px solid #111;
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
  }

  #rTip [data-table] [data-cell]:first-child,
  #rTip [t] [c]:first-child{
	font: bold 11px Helvetica, Arial;
	color: #888;
  }

  #rTip [data-table] [data-cell]:nth-child(2),
  #rTip [t] [c]:nth-child(2){
	color: #edd078;
  }




  /* base entity - can be nested */
  .ref span, .ref r{
	white-space: pre;
	display: inline;
  }

  /* key-value dividers, property & method modifiers etc. */
  .ref i{
	white-space: pre;
	color: #aaa;
  }

  /* source expression (input) */
  .ref [data-input]{
	margin: 2px 0 0;
	padding: 10px 7px;
	display: block;
	color: #ccc;
	background-color: #333;
	border-bottom: 1px solid #fff;
  }

  .ref [data-backtrace]{
	float: right;
  }

  .ref [data-output]{
	background: #f9f9f9;
	border: 1px solid #eee;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	box-shadow: inset 0px 4px 4px #f3f3f3, inset 0px -8px 8px #fff;
	padding: 2px 5px;
	margin: 0 0 4px;
	text-shadow: 0 1px 0 #fff;
	display: block;
  }

  /* expand/collapse toggle link for groups */
  .ref [data-toggle]{
	display: inline-block;
	vertical-align: -3px;
	margin-left: 2px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 7px 0 7px 10px;
	border-color: transparent transparent transparent #CC0033;
	cursor: pointer;
	-webkit-transition: all ease-in .15s;
			transition: all ease-in .15s;
  }

  /* collapse graphic */
  .ref [data-toggle][data-exp]{
	-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
			transform: rotate(90deg);
  }

  .ref [data-group],
  .ref [g]{
	display: none;
  }

  .ref [data-toggle][data-exp] ~ [data-group],
  .ref [data-toggle][data-exp] ~ [g]{
	display: block;
  }

  /* group sections */
  .ref [data-table],
  .ref [t]{
	display: table;
  }

  /* section titles */
  .ref [data-tHead]{
	font: bold 11px Helvetica, Arial;
	color: #bcbcbc;
	text-transform: lowercase;
	margin: 12px 0 2px 10px;
	display: block;
  }

  /* emulate a table for displaying array & object members */
  /* section row */
  .ref [data-row],
  .ref [r]{
	display: table-row;
  }

  /* zebra-like rows */
  .ref [data-output] [data-row]:nth-child(odd){background: #f4f4f4;}
  .ref [data-output] [data-row]:nth-child(even){background: #f9f9f9;}
  .ref [data-output] [r]:nth-child(odd){background: #f4f4f4;}
  .ref [data-output] [r]:nth-child(even){background: #f9f9f9;}

  /* section cells */
  .ref [data-cell],
  .ref [c]{
	display: table-cell;
	width: auto;
	vertical-align: top;
	padding: 1px 0 1px 10px;
  }

  /* last cell of a row (forces table to adjust width like we want to) */
  .ref [data-output] [data-table],
  .ref [data-output] [t],
  .ref [data-output] [data-cell]:last-child,
  .ref [data-output] [c]:last-child{
	width: 100%;
  }



  /* tag-like appearance for boolean, null and resource types */
  .ref [data-true],
  .ref [data-false],
  .ref [data-null],
  .ref [data-unknown],
  .ref [data-resource],
  .ref [data-match],
  .ref [m]{
	font: bold 11px Helvetica, Arial;
	color: #fff;
	padding: 1px 3px;
	text-transform: lowercase;
	text-shadow: none;
	border-radius: 2px;
	margin-right: 5px;
	background-color: #eee;
	background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 40%,rgba(0,0,0,0.1) 100%);
	background-image: linear-gradient(to bottom, rgba(255,255,255,0.1) 40%,rgba(0,0,0,0.1) 100%);
  }

  /* string matches */
  .ref [data-match],
  .ref [m]{
	background-color: #d78035;
  }

  /* boolean true */
  .ref [data-true]{
	background-color: #339900;
  }

  /* boolean false */
  .ref [data-false]{
	background-color: #CC0033;
	color: #fff;
  }

  /* null value */
  .ref [data-null],
  .ref [data-unknown]{
	background-color: #eee;
	color: #999;
	text-shadow: inherit;
  }

  /* resources */
  .ref [data-resource]{
	background-color: #0057ae;
  }

  .ref [data-resourceProp]{
	font: bold 11px Helvetica, Arial;
	color: #999;
  }

  /* integer or double values */
  .ref [data-integer],
  .ref [data-double]{
	color: #0099CC;
  }

  /* string values */
  .ref [data-string]{
	background: #e8f0e1;
	color: #669933;
	padding: 3px 1px;

	/* prevent long strings from breaking the page layout */
	  white-space: -moz-pre-wrap; /* Mozilla */
	  white-space: -hp-pre-wrap; /* HP printers */
	  white-space: -o-pre-wrap; /* Opera 7 */
	  white-space: -pre-wrap; /* Opera 4-6 */
	  white-space: pre-wrap; /* CSS 2.1 */
	  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
	  word-wrap: break-word; /* IE */
	  word-break: break-all;
  }

  .ref [data-string][data-special]{
	background: none;
	padding: 0;
  }

  .ref [data-string][data-special] i{
	background: #faf3dc;
	color: #d78035;
  }

  /* arrays & objects */
  .ref [data-array],
  .ref [data-array] ~ i,
  .ref [data-object],
  .ref [data-object] ~ i,
  .ref [data-resource] ~ i{
	color:#CC0033;
  }

  .ref [data-method]{
	font-weight: bold;
	color: #0057ae;
  }

  .ref [data-const][data-inherited],
  .ref [data-prop][data-inherited]{
	color: #999;
  }

  .ref [data-prop][data-private],
  .ref [data-method][data-private]{
	color: #CC0033;
  }

  /* inherited methods */
  .ref [data-method][data-inherited]{
	font-weight: bold;
	color: #6da5de;
  }

  /* method arguments */
  .ref [data-param]{
	font-weight: normal;
	color: #333;
  }

  /* optional method arguments */
  .ref [data-param][data-optional]{
	font-style: italic;
	font-weight: normal;
	color: #aaa;
  }

  /* group info prefix */
  .ref [data-gLabel],
  .ref [gl]{
	font: bold 11px Helvetica, Arial;
	padding: 0 3px;
	color: #333;
  }

  /* tiny bubbles that indicate visibility info or class features */
  .ref [data-mod]{
	font: bold 11px Helvetica, Arial;
	text-shadow: none;
	color: #fff;
  }

  .ref [data-input] [data-mod]{
	color: #444;
  }

  .ref [data-mod] span,
  .ref [data-mod] r{
	display: inline-block;
	margin: 0 2px;
	width: 14px;
	height: 14px;
	text-align: center;
	border-radius: 30px;
	line-height: 15px;
  }

  .ref [data-mod-interface],
  .ref [data-mod-abstract]{
	background: #baed78;
  }

  .ref [data-mod-anonymous]{
	background: #444;
  }

  .ref [data-mod-protected]{
	background: #edd078;
  }

  .ref [data-mod-private]{
	background: #eea8b9;
  }

  .ref [data-mod-iterateable]{
	background: #d5dea5;
  }

  .ref [data-mod-cloneable]{
	background: #bdd7d1;
  }

  .ref [data-mod-final]{
	background: #78bded;
  }

  /* regular expression (colors partially match RegexBuddy and RegexPal) */
  .ref [data-regex]{
	font-weight: bold;
	text-shadow: none;
	padding: 1px 0;
	background: #e6e6e6;
	word-wrap: break-word;
  }

  /* char class */
  .ref [data-regex-chr]{
	background: #ffc080;
	color: #694c07;
  }

  .ref [data-regex-chr-meta]{background: #e0a060;} /* char class: metasequence */
  .ref [data-regex-chr-range]{background: #ffcf9b;} /* char class: range-hyphen */

  /* metasequence */
  .ref [data-regex-meta]{
	background: #80c0ff;
	color: #105f8c;
  }

  /* group: depth 1 */
  .ref [data-regex-g1]{
	background: #00c000;
	color: #fff;
  }

  /* group: depth 2 */
  .ref [data-regex-g2]{
	background: #c3e86c;
	color: #648c1c;
  }

  /* group: depth 3 */
  .ref [data-regex-g3]{
	background: #008000;
	color: #fff;
  }

  /* group: depth 4 */
  .ref [data-regex-g4]{
	background: #6dcb99;
	color: #fff;
  }

  /* group: depth 5 */
  .ref [data-regex-g5]{
	background: #00ff00;
	color: #2c8e24;
  }

  .ref [data-error]{
	background: #CC0033;
	color: #fff;
	border-radius: 0 0 4px 4px;
	padding: 2px 5px;
	margin: 0 0 4px;
	display: block;
  }

  /* make labels and less-relevant text non-selectable */
  .ref [data-match],
  .ref [m],
  .ref [data-tHead],
  .ref [data-gLabel],
  .ref [gl],
  .ref [data-mod]{
	-webkit-user-select: none;
	   -moz-user-select: none;
		-ms-user-select: none;
			user-select: none;
  }
