.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.clearfix {
	display: inline-block;
}

html[xmlns] .clearfix {
	display: block;
}

* html .clearfix {
	height: 1%;
}

.cm-s-helios {
	&.CodeMirror {
		font-family: Menlo, Monaco, Consolas, Inconsolata, "Lucida Console", Courier, monospace;
		line-height: 16px;
		font-size: 13px;
	}

	.CodeMirror-gutter.stops {
		width: 20px;
	}

	.highlighted.CodeMirror-linebackground {
		background-color: #ffffaa;
	}

	.CodeMirror-gutter-elt .stop {
		width: 16px;
		height: 16px;
		background: url('../images/arrowRight.png');
		margin-left: 2px;
	}
}

body[id="helios"] {
	font-size: 11px;
	font-family: "Lucida Grande", "Segoe UI", helvetica, arial, sans-serif;
	background: #eee;

	a {
		cursor: pointer;
	}

	i {
		opacity: 1;
	}

	[class^="icon-"], [class*=" icon-"] {
		margin-top: 0;
	}

	.CodeMirror {
		position: absolute;
		height: 100%;
		width: 100%;
	}

	.CodeMirror-hints {
		border-radius: 0;
		font-family: "Lucida Grande", "Segoe UI", helvetica, arial, sans-serif;
		font-size: 11px;
		line-height: 1em;
		padding: 0;
		max-height: 120px;
	}

	.CodeMirror-hint {
		border-radius: 0;
		padding: 0 10px;
	}

	.state {
		position: absolute;
		right: 15px;
		top: 10px;
		width: 16px;
		height: 16px;
	}

	.state.modified {
		background: transparent url('../images/modified.png') 50% 50% no-repeat;
	}

	.editor {
		position: absolute;
		top: 0;
		bottom: 23px;
		left: 0;
		right: 0;
	}

	.hl_widget {

		&:focus {
			outline: 0 none;
		}
	}

	.buttons_bar {
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
		z-index: 2;
		padding: 0px 25px;
		height: 21px;
		line-height: 18px;
		border-top: 1px solid #999;
		text-align: right;

		.button {
			height: 17px;
			font-size: 12px;
			min-width: 0;
		}
	}

	.btn, .btn-group > .btn, .btn-group > .dropdown-menu {
		padding: 2px 8px;
	}

	.navbar-fixed-top {
		font-size: 11px;
		line-height: 16px;
	}

	.navbar-fixed-top a span,
	.dialog .nav a span {
		padding: 1px;
		padding-left: 18px;
		background-position: center left;
		background-repeat: no-repeat;
		background-position: 0px -1px;
	}

	.navbar-fixed-top i.close {
		width: 14px;
		height: 16px;
		margin-left: 4px;
		background-image: url('../images/close.gif');
		margin-right: 0;
		background-position: center left;
		margin-top: 2px;
	}

	.navbar-fixed-top a,
	.dialog .nav a {

		span.references {
			background-image: url('../images/references.png')
		}

		span.browser {
			background-image: url('../images/browser.png')
		}

		span.sunit {
			background-image: url('../images/sunit.png')
		}

		span.workspace {
			background-image: url('../images/workspace.png')
		}

		span.debugger {
			background-image: url('../images/debugger.png')
		}
		span.inspector {
			background-image: url('../images/inspector.png')
		}
	}

	.navbar-fixed-top .navbar-inner {
		min-height: 20px;
		background-color: #dbdbdb;
		border-bottom: 1px solid #666;
		background-image: linear-gradient(top, #dfdfdf, #d0d0d0);
		background-image: -webkit-linear-gradient(top, #dfdfdf, #d0d0d0);
		background-image: -moz-linear-gradient(top, #dfdfdf, #d0d0d0);
		background-image: -owebkit-linear-gradient(top, #dfdfdf, #d0d0d0);
		box-shadow: 0 0 0;
	}

	.navbar .nav > li {
		line-height: 16px;
	}

	.navbar .nav > li > a {
		line-height: 22px;
		padding: 0px 8px;
		font-size: 11px;
		color: #444;
		text-shadow: 0 1px 0 #ddd;
	}

	.nav > li > a:hover {
		background: transparent;
	}

	.navbar .nav > .active > a,
	.navbar .nav > .active > a:hover,
	.navbar .nav > .active > a:focus {
		background-color: #bababa;
		background-image: linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		background-image: -webkit-linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), -webkit-linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		background-image: -moz-linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), -moz-linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		background-image: -o-linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), -o-linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		text-shadow: #ddd 0px 1px 0px;
		color: #222;
	}

	.navbar-fixed-top i {
		opacity: 0.4;
		margin-right: 5px;
		height: 12px;
		margin-top: 0;
	}

	.navbar-fixed-top .active i {
		opacity: 0.6;
	}

	.nav-pills.nav-stacked > li > a {
		border-radius: 0;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		padding: 2px 2px 1px 4px;
		margin: 0;
		font-size: 11px;
		color: #111;
		white-space: nowrap;
	}

	[class^="icon-"], [class*=" icon-"] {
		margin-right: 2px;
	}

	.dropdown-menu {
		border-radius: 0;
		padding: 0;
		margin: 3px;
	}

	.nav-pills > .active > a {
		background-color: #ddd;
		color: #fff;
		text-shadow: 0 0 0;
	}

	.focused .nav-pills {
		background-color: #f3f7fb;
	}

	.focused .nav-pills > .active > a,
	.nav-pills > .active > a:hover,
	.dropdown-menu li > a:hover,
	.dropdown-menu li > a:focus,
	.dropdown-submenu:hover > a,
	.dropdown-menu .active > a,
	.dropdown-menu .active > a:hover,
	.CodeMirror-hint-active {
		background: rgba(95, 159, 228, 0.62);
		color: #fff;
		text-shadow: 0 0 0;
	}

	.tool_container {
		position: absolute;
		top: 23px;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.transcript textarea {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		border: 0;
	}

	.tool_container .panes {
		position: relative;
		height: 100%;
		width: 100%;
		overflow: hidden;
	}

	.tool_container .panes .pane {
		position: absolute;
		overflow: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: #fefefe;
	}

	.tool_container .multi_pane {
		position: relative;
		height: 100%;
		width: auto;
		overflow-x: auto;
	}

	.tool_container .multi_pane .pane {
		height: 100%;
		max-width: 300px;
		border-right: 1px solid #888;
	}

	.tool_container .panes .pane > div {
		height: 100%;
		position: relative;
	}

	.tool_container .panes.horizontal > .pane {
		min-height: 50px;
	}

	.tool_container .panes.horizontal > .pane {
		top: 50%;
	}

	.tool_container .panes.horizontal > .pane:first-child {
		top: 0;
		bottom: 50%;
	}

	.tool_container .panes.vertical > .pane {
		left: 50%;
	}

	.tool_container .panes.vertical > .pane:first-child {
		left: 0;
		right: 50%;
	}

	.tool_container .splitter {
		position: absolute;
		border-width: 0;
		z-index: 10;
	}

	.tool_container .splitter.vertical {
		width: 5px;
		left: 50%;
		margin-left: -1px;
		border-left: 1px solid #888;
		height: 100%;
		float: left;
		cursor: ew-resize;
	}

	.tool_container .splitter.horizontal {
		top: 50%;
		height: 5px;
		margin-top: -1px;
		width: 100%;
		border-top: 1px solid #888;
		cursor: ns-resize;
	}

	.tool_container .panes .pane .nav-pills {
		position: absolute;
		overflow-y: auto;
		top: 17px;
		bottom: 17px;
		width: 100%;
		margin: 0;
	}

	.tool_container .pane .nav-pills i {
		display: inline-block;
		width: 16px;
		height: 16px;
		margin-right: 4px;
		background-image: none;
		background-position: top left;
		line-height: 14px;
		vertical-align: text-top;
	}

	.tool_container .pane .nav-pills i.announcement {
		background-image: url('../images/announcement.png');
	}
	.tool_container .pane .nav-pills i.class {
		background-image: url('../images/class.png');
	}
	.tool_container .pane .nav-pills i.collection {
		background-image: url('../images/collection.png');
	}
	.tool_container .pane .nav-pills i.test {
		background-image: url('../images/test.png');
	}
	.tool_container .pane .nav-pills i.exception {
		background-image: url('../images/exception.png');
	}
	.tool_container .pane .nav-pills i.widget {
		background-image: url('../images/widget.png');
	}
	.tool_container .pane .nav-pills i.magnitude {
		background-image: url('../images/magnitude.png');
	}
	.tool_container .pane .nav-pills i.package {
		background-image: url('../images/package.png');
	}
	.tool_container .pane .nav-pills i.private {
		background-image: url('../images/private.png');
	}
	.tool_container .pane .nav-pills i.extension {
		background-image: url('../images/extension.png');
	}
	.tool_container .pane .nav-pills i.initialization {
		background-image: url('../images/initialization.png');
	}
	.tool_container .pane .nav-pills i.package {
		background-image: url('../images/package.png');
	}
	.tool_container .pane .nav-pills i.override {
		background-image: url('../images/override.png ');
	}
	.tool_container .pane .nav-pills i.overridden {
		background-image: url('../images/overridden.png');
	}
	.tool_container .pane .nav-pills i.override-overridden {
		background-image: url('../images/override-overridden.png');
	}
	.tool_container .pane .nav-pills i.warning {
		background-image: url('../images/warning.gif');
	}
	.tool_container .pane .nav-pills i.uncommented {
		background-image: url('../images/uncommented.png');
	}

	.tool_container .list-label {
		font-size: 11px;
		border-radius: 0;
		border-bottom: 1px solid #999;
		border-top: 1px solid #eee;
		background-color: #eee;
		background-image: -webkit-linear-gradient(top, #eee, #ddd);
		background-image: -moz-linear-gradient(top, #eee, #ddd);
		background-image: -o-linear-gradient(top, #eee, #ddd);
		background-image: linear-gradient(top, #eee, #ddd);
		color: #444;
		font-weight: bold;
		text-shadow: 0 0 0;
		padding-left: 4px;
		line-height: 14px;
		height: 15px;
		text-shadow: 0 1px 0 #eee;
	}

	.tool_container .list-label .btn-group.cog {
		position: absolute;
		top: 0;
		right: 0;
		padding: 0;
		margin: 0;
	}

	.tool_container .list-label .btn-group.open .dropdown-toggle {
		box-shadow: 0 0 0;
		border: 0;
	}

	.tool_container .list-label .btn-group > .dropdown-menu {
		padding: 0;
		font-size: 11px;
	}

	.tool_container .list-label .btn-group.cog i {
		margin-top: 1px;
	}

	.tool_container .list-label .cog .btn.dropdown-toggle {
		padding: 0;
		margin: 0;
		line-height: 12px;
		border: 0;
		background: transparent;
	}

	.tool_container .panes .pane .pane_actions {
		position: absolute;
		overflow: hidden;
		width: 100%;
		height: 16px;
		bottom: 0;
		padding: 0;
		margin: 0;
	}

	.tool_container .pane_actions, .tool_container .buttons_bar {
		background: #dadada;
		border-top: 1px solid #666;
		background-image: -webkit-linear-gradient(top, #dadada, #bdbdbd);
		background-image: -moz-linear-gradient(top, #dadada, #bdbdbd);
		background-image: -o-linear-gradient(top, #dadada, #bdbdbd);
		background-image: linear-gradient(top, #dadada, #bdbdbd);
	}

	.tool_container .panes .pane .pane_actions .info {
		padding: 10px 5px 5px;
		font-weight: bold;
		color: #666;
		line-height: 20px;
	}

	.tool_container .panes .pane .pane_actions .btn-group {
		display: inline;
		margin-left: 5px;
	}

	.tool_container .panes .pane .pane_actions label {
		display: inline-block;
		padding-left: 30px;
		font-size: 11px;
		line-height: 16px;
		vertical-align: top;
		text-shadow: #ddd 0px 1px 0px;
		color: #222;

	}

	.tool_container .panes .pane .pane_actions label input {
		float: none;
		vertical-align: top;
		margin-top: 2px;
		margin-right: 5px;
	}

	.tool_container .panes .pane .pane_actions .btn {
		background: transparent;
		border: 0;
		font-size: 11px;
		line-height: 16px;
		padding: 0 5px;
		margin: 0;
		border-radius: 0;
		box-shadow: 0 0 0;
		vertical-align: top;
		/* min-width: 50px; */
	}

	.tool_container .panes .pane .pane_actions .btn:hover {
		background-color: #bbb;
	}

	.tool_container .panes .pane .pane_actions .btn-group .btn:hover {
		background-color: transparent;
	}

	.tool_container .panes .pane .pane_actions .btn-group .btn.active {
		text-shadow: #ddd 0px 1px 0px;
		color: #222;
		background: #bbb;
		background-image: linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		background-image: -webkit-linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), -webkit-linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		background-image: -moz-linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), -moz-linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
		background-image: -o-linear-gradient(left, #777 0%, #bababa 2px, transparent 2px), -o-linear-gradient(right, #777 0%, #bababa 2px, transparent 2px);
	}

	.tool_container .panes .pane .class_side .nav-pills {
		font-weight: bold;
		background: #ffd
	}

	.key_helper {
		z-index: 2001;
		position: fixed;
		top: 120px;
		left: 50%;
		width: 400px;
		max-height: 300px;
		margin-left: -200px;
		background: white;
		box-shadow: 0 0 6px #aaa;
		border: 1px solid #aaa;
		font-size: 11px;

		transition: all .5s;
		-webkit-transition: all .5s;
		-moz-transition: all .5s;
		-o-transition: all .5s;
		-ms-transition: all .5s;


		.command {
			padding: 0;
			display: inline-block;
			width: 50%;

			strong {
				display: inline-block;
				min-width: 1.4em;
				text-align: left;
			}
		}

		#binding-helper-main {
			display: block;
			padding: 5px;
		}

		.label {
			padding: 1px 4px;
			font-family: Menlo, Monaco, "Lucida Console", Courier, monospace;
			background: transparent;
			color: #0E4561;
			text-shadow: none;
			border: 0 none;
		}

		.action {
			padding: 0 0.5em 0 5px;
			color: inherit;
			font-weight: bold;
		}

		.selected {
			background-image: linear-gradient(top, #ccc, #bbb);
			background-image: -moz-linear-gradient(top, #ccc, #bbb);
			background-image: -o-linear-gradient(top, #ccc, #bbb);
			background-image: -webkit-linear-gradient(top, #ccc, #bbb);
			height: 28px;
			padding: 0 8px;
			font-weight: bold;
			font-size: 18px;
			line-height: 28px;
			text-shadow: 0 1px 0 #fff;
			display: block;
			border-bottom: 1px solid #aaa;
		}

		.close {
			font-size: 14px;
			line-height: 28px;
			opacity: 0.6;
			position: absolute;
			top: 0;
			right: 4px;
		}

		.close:hover {
			opacity: 0.8;
		}

		input {
			outline: none;
			font-size: 11px;
			padding: 2px 8px;
			background: #fff;
			border: 1px solid #a1a1a1;
			border-radius: 12px;
			box-shadow: inset 0 0px 2px 0px #aaa;
			margin: 2px 4px;
			line-height: 1em;
		}

		.error .help-inline,
		.error input {
			color: #B91010;
			font-weight: bold;
		}

		// .typeahead.dropdown-menu {
		// 	position: fixed !important;
		// 	top: auto !important;
		// 	bottom: 30px !important;
		// }

		#cog-helper {
			position: fixed;
			bottom: 2px;
			right: 2px;
			z-index: 1000;
			opacity: 0.6;
			transition: all .5s;
			-webkit-transition: all .5s;
			-moz-transition: all .5s;
			-o-transition: all .5s;
			-ms-transition: all .5s;
		}

		#cog-helper:hover {
			opacity: 1;
		}

	}

	#helper {
		z-index: 300;
		top: 50%;
		position: absolute;
		left: 50%;
		margin-left: -220px;
		margin-top: -35px;
		width: 400px;
		text-align: center;
		color: #ddd;
		font-size: 18px;
		font-weight: bold;
		text-shadow: 0 -1px 0 #111;
		padding: 20px;
		background: rgba(0, 0, 0, 0.6);
		border-radius: 40px;
	}

	#overlay {
		z-index: 2000;
		background: rgba(112, 66, 20, 0.1);
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;

		&.light {
			background: rgba(50, 50, 50, 0.1);
		}
	}

	.confirmation, .dialog {
		z-index: 2001;
		background: rgba(243, 243, 243, 0.9);
		background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 5px, transparent 6px);
		background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 5px, transparent 6px);
		background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 5px, transparent 6px);
		background-image: linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 5px, transparent 6px);
		padding: 20px;
		width: 250px;
		position: fixed;
		top: -500px;
		left: 50%;
		margin-left: -135px;
		box-shadow: 0 0 6px #333;
		transition: top .5s;
		-webkit-transition: top .5s;
		-moz-transition: top .5s;
		-o-transition: top .5s;

		.hl_widget {

			.form-actions {
				padding: 0;
				border: 0;
			}
		}

		.nav {
			border: 1px solid #999;

			span {
				font-size: 11px;
				font-weight: normal;
			}
		}

		.title {
			font-size: 16px;
			margin-bottom: 15px;
		}

		&.large {
			width: 400px;
			margin-left: -220px;

			textarea {
				width: 385px;
				height: 200px;
			}
		}

		textarea {
			display: block;
			width: 235px;
		}

		.progress {
			height: 5px;

			.bar {
				background-color: #e9eaf5;
				background-image: -webkit-linear-gradient(top, #B1BDD5, #8999b8);
				background-image: -moz-linear-gradient(top, #B1BDD5, #8999b8);
				background-image: -o-linear-gradient(top, #B1BDD5, #8999b8);
				background-image: linear-gradient(top, #B1BDD5, #8999b8);
			}
		}

		span {
			font-size: 13px;
			font-weight: bold;
		}

		.buttons {
			text-align: right;
			margin-top: 20px;
		}

		&.active {
			top: 0;
		}
	}

	.button {
		border-radius: 3px !important;
		background: #ccc;
		border: 1px solid #9B9B9B;
		height: 20px;
		border-radius: 5px;
		min-width: 68px;
		padding: 0 10px;
		text-align: center;
		margin: 0;
		margin-left: 10px;
		background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .09) 0%, rgba(0, 0, 0, 0.02) 50%, rgba(0, 0, 0, .04) 50.5%, rgba(0, 0, 0, .04) 100%) #fff;
		font: 13px "Lucida Grande", Lucida, Verdana, sans-serif;
	}

	.button.default {
		border-top: 1px solid #535273;
		border: 1px solid #4F4D67;
		border-bottom: 1px solid #4B4B58;
		background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, .3) 50.5%, rgba(255, 255, 255, .45) 95%, rgba(255, 255, 255, .8) 100%) #b1bdd5;
		background: -moz-linear-gradient(bottom, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, .3) 50.5%, rgba(255, 255, 255, .45) 95%, rgba(255, 255, 255, .8) 100%) #b1bdd5;
		-moz-box-shadow: 0 0 3px rgba(69, 113, 184, 0.8);
		-webkit-box-shadow: 0 0 5px rgba(69, 113, 184, 0.44);
		box-shadow: 0 0 5px rgba(69, 113, 184, 0.44);
	}

	.button:hover {
		cursor: pointer;
		border: 1px solid rgba(0, 0, 0, .6);
	}

	.button:active {
		-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, .5);
		-moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, .5);
		box-shadow: inset 0 0 5px rgba(0, 0, 0, .5);
	}

	.button:focus {
		outline: 0;
		border-color: #08C;
		box-shadow: 0 0 5px #08C;
	}

	.doc {
		background: white;
	}

	.doc code .doc pre, .doc p, .doc div {
		font-size: 13px;
	}

	.doc code {
		padding: 1px 4px;
	}
	.doc .head {
		background: #08C;
		padding: 10px;
		font-size: 22px;
		color: white;
	}

	.doc .button {
		float: right;
	}
	.doc .markdown,
	.doc .inheritance {
		padding: 10px;
	}

	.doc h1 {
		font-size: 22px;
		margin: 0 10px;
		border-bottom: 1px solid #666;
	}

	.doc h2 {
		font-size: 16px;
	}

	.transcript_container .list-label {
		height: 16px;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
	}

	.transcript {
		position: absolute;
		top: 17px;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.transcript textarea {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		border: 0;
	}
}