@import url('https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i');
@import url('https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic');
/*@import url('https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i');*/

html {
	height: 100%;
}
body {
	background: #fff url(../img/bg/graphy.png) repeat 0 -45px;
	font: 13px Ubuntu,arial,sans-serif;
	height: 100%;
	min-width: 1200px;
}

/* special elements */
#client-switcher {
	border-bottom-left-radius: 3px;
	color: #222;
	cursor: default;
	font: 10px Ubuntu,arial,sans-serif;
	overflow: hidden;
	position: fixed;
	right: 0;
	text-align: right;
	top: 0;
	transition: opacity 0.5s;
	user-select: none;
	z-index: 999999;
}
#client-switcher.active {
	box-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
#client-switcher .arrow {
	background-color: rgba(0, 0, 0, 0.75);
	color: #af5;
	line-height: 15px;
	padding: 2px 6px;
	text-transform: uppercase;
}
#client-switcher .list {
	background-color: rgba(255, 255, 255, 0.9);
	color: #000;
	display: none;
	text-transform: lowercase;
}
#client-switcher.active .list {
	display: block;
}
#client-switcher .list span {
	display: block;
	padding: 2px 6px;
}
#client-switcher .list span:not(.arrow):hover {
	background-color: #888;
	color: #fff;
}
#client-switcher span.current {
	background-color: #f44 !important;
	color: #fff;
}
#active-users-wrapper {
	border-bottom-right-radius: 3px;
	color: #222;
	cursor: default;
	font: 10px Ubuntu,arial,sans-serif;
	left: 0;
	overflow: hidden;
	position: fixed;
	top: 0;
	user-select: none;
	z-index: 999999;
}
#active-users-wrapper span {
	background-color: rgba(255, 255, 255, 0.9);
	color: #000;
	display: none;
	opacity: 0.1;
	padding: 0 6px 0 0;
	text-transform: lowercase;
	transition: opacity 0.5s;
}
#active-users-wrapper br {
	display: none;
}
#active-users-wrapper.active span {
	display: inline;
	opacity: 1;
}
#active-users-wrapper.active br {
	display: block;
	opacity: 1;
}
#active-users-wrapper span.r4 {
	background-color: #f00;
	color: #fff;
}
#active-users-wrapper span.p.r3 {
	background-color: orange;
}
#active-users-wrapper span.p.r8 {
	background-color: #08a;
}
#active-users-wrapper span.p.r13 {
	background-color: #0a0;
}
#active-users-wrapper span.p.r14 {
	background-color: #740;
}
#active-users-wrapper span.p.r10 {
	background-color: #a0c;
}
#active-users-wrapper span.dark {
	background-color: rgba(0, 0, 0, 0.75);
	color: #af5;
	display: inline;
	line-height: 15px;
	padding: 2px 6px 2px 0;
	text-transform: uppercase;
}
#active-users-wrapper span.au-uri {
	background-color: #fc0;
	color: #000;
	display: none;
	margin-left: 10px;
}
#active-users-wrapper.show-uri span.au-uri {
	display: inline-block;
}

/* navbar */
.navbar-wrapper {
	background-color: #fff;
	box-shadow: 0 0 8px #222;
	left: 0;
	padding: 10px 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999;
}
.navbar {
	font-size: 12px;
	font-weight: 500;
	margin: 0 auto;
	table-layout: fixed;
	text-transform: uppercase;
	width: 1080px;
}
.navbar td {
	vertical-align: middle;
}
.navbar td a,
.navbar .nav-item a {
	color: #222;
	margin: 0 30px;
}
.navbar td a:hover,
.navbar .nav-item a:hover {
	color: #3cf;
}
.navbar td a .user-info-wrapper {
	line-height: 10px;
	padding-right: 10px;
	text-align: right;
}

/* page layout */
#body-wrapper {
	min-height: 100%;
	position: relative;
}
#inner-wrapper {
	/* height of header and footer */
	padding: 100px 0 200px 0;
}
.page-wrapper {
	background-color: rgba(255, 255, 255, 1);
	border: 1px solid #d5d5d5;
	border-radius: 2px;
	margin: 0 auto;
	width: 1080px;
}
.page-wrapper + .page-wrapper {
	margin-top: 10px;
}
.page-alert {
	background-color: #eee;
	border: 1px dashed #aaa;
	border-radius: 3px;
	margin-bottom: 20px;
	padding: 10px 20px;
}
.page-alert.success {
	background-color: #efe;
	border-color: #6a6;
	color: #040;
}
.page-alert.warning {
	background-color: #ffe;
	border-color: #aa6;
	color: #440;
}
.page-alert.error {
	background-color: #fee;
	border-color: #c66;
	color: #400;
}
#content {
	color: #222;
	line-height: 1.5em;
	min-height: 200px;
	padding: 0 40px 40px 40px;
	width: 1000px;
}
#footer {
	background-color: #222;
	bottom: 0;
	box-shadow: 0 0 8px #000;
	color: #aaa;
	font-size: 12px;
	left: 0;
	line-height: 1.5em;
	padding: 50px 0 48px 0;
	position: absolute;
	width: 100%;
}
#footer > table {
	margin: 0 auto;
	table-layout: fixed;
	width: 1000px;
}
#footer a {
	color: #0bf;
}
#footer a:hover {
	color: #2cf;
}

/* inputs */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
textarea,
select {
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #333;
	font: 14px Ubuntu,sans-serif;
	padding: 7px 15px;
	text-shadow: 0 0 5px rgba(255, 255, 255, 0.15);
}
select {
	padding-bottom: 9px;
	padding-top: 9px;
}
input.dollars {
	background-image: url(../img/dollar_sign.png);
	background-repeat: no-repeat;
	background-position: 8px 11px;
}

::-webkit-input-placeholder { color: #666; }
::-moz-placeholder { color: #666; }
:-ms-input-placeholder { color: #666; }

/* headings */
.page-wrapper > h1 {
	background-color: #eee;
	border-bottom: 1px solid #d5d5d5;
	color: #000;
	font: 700 11px Roboto, sans-serif;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
	padding: 15px 0 14px 0;
	text-indent: 20px;
	text-transform: uppercase;
}
h3 {
	color: #333;
	font: 700 12px Roboto, sans-serif;
	letter-spacing: 0.15em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

/* notices, warning, errors */
div.notice {
	border-left: 3px solid #222;
	border-right: none;
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
	border-bottom-right-radius: 2px;
	border-top-right-radius: 2px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.35);
	padding-bottom: 2px;
}
div.notice.right {
	border-left: none;
	border-right: 3px solid #222;
	border-bottom-left-radius: 2px;
	border-top-left-radius: 2px;
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
	margin-left: auto;
}
div.notice h3 {
	border-bottom: 1px solid #ddd;
	line-height: 1em;
	margin: 0;
	padding: 15px 20px 12px 20px;
	text-align: left;
}
div.notice p {
	line-height: 1.5em;
	margin: 0;
	padding: 15px 20px;
	text-align: left;
}
div.notice p + p {
	padding-top: 0;
}
div.notice.error {
	border-color: #f02;
}
div.notice.warning {
	border-color: #fc0;
}
div.notice.success {
	border-color: #0c0;
}
div.notice.small {
	padding-bottom: 0;
}
div.notice.small h3 {
	padding: 11px 20px 8px 20px;
}
div.notice.small p {
	padding: 10px 20px;
}

/* flash notifications */
#flash-notify-wrapper {
	align-items: flex-end;
	bottom: 10px;
	display: flex;
	flex-direction: column;
	position: fixed;
	right: 10px;
	z-index: 1000;
}
#flash-notify-wrapper .flash {
	animation: flash-fade-in ease 1s;
	background: #333;
	border-radius: 3px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.3);
	margin: 8px 0;
	padding: 0 4px 0 8px;
}
#flash-notify-wrapper .flash .message {
	color: #fff;
	font-size: 14px;
	padding: 7px 12px;
}
#flash-notify-wrapper .flash.success .message {
	border-left: 5px solid #0b6;
}
#flash-notify-wrapper .flash.warning .message {
	border-left: 5px solid #ea0;
}
#flash-notify-wrapper .flash.error .message {
	border-left: 5px solid #f20;
}

@keyframes flash-fade-in {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

/* buttons */
button {
	border: none;
	background-color: #111;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
	color: #fff;
	font: 400 12px Ubuntu, sans-serif;
	letter-spacing: 0.1em;
	margin: 0;
	overflow: hidden;
	padding: 12px 40px;
	position: relative;
	text-transform: uppercase;
	user-select: none;
}

/* button glimmer effect on hover */
button:not(:disabled)::after {
	content: '';
	background: linear-gradient(125deg,transparent,transparent 20%,rgba(255,255,255,0.6) 45%,rgba(255,255,255,0.6) 55%,transparent 80%,transparent);
	height: 100%;
	left: -200px;
	position: absolute;
	top: 0;
	width: 200px;
}
button:hover::after {
	animation: button-glimmer 750ms;
}
@keyframes button-glimmer {
	0%   { left: -180px; }
	100% { left: 100%; }
}

/* button variations */
button.small {
	padding: 9px 25px;
}
button.mini {
	padding: 6px 10px;
}
button.micro {
	font-size: 10px;
	padding: 4px 6px;
}
button + button {
	margin-left: 50px;
}
button + button.small {
	margin-left: 20px;
}
button + button.mini {
	margin-left: 10px;
}
button + button.micro {
	margin-left: 5px;
}
button:hover {
	background-color: #1ce;
}
button:active {
	background-color: #2df;
}
button:disabled {
	opacity: 0.4;
}
button.clear {
	background-color: transparent;
	border: 2px solid #222;
	border-radius: 6px;
	color: #222;
}
button.clear:hover {
	background-color: rgba(0,0,0,0.1);
}
button.clear:active {
	background-color: rgba(0,0,0,0.2);
}
button.clear.white {
	border-color: #fff;
	color: #fff;
}
button.clear.white:hover {
	background-color: rgba(255,255,255,0.1);
}
button.clear.white:active {
	background-color: rgba(255,255,255,0.2);
}
button.grey {
	background-color: #fafafa;
	color: #444;
}
button.grey:hover {
	background-color: #f5f5f5;
}
button.grey:active {
	background-color: #eee;
}
button.red {
	background-color: #f30;
}
button.red:hover {
	background-color: #f41;
}
button.red:active {
	background-color: #f60;
}
button.green {
	background-color: #2a2;
}
button.green:hover {
	background-color: #3b3;
}
button.green:active {
	background-color: #4c4;
}
button.yellow {
	background-color: #fd0;
	color: #111;
}
button.yellow:hover {
	background-color: #fe1;
}
button.yellow:active {
	background-color: #ff2;
}

/* drag-and-drop upload form */
form.drop-upload {
	background-color: #eee;
	outline: 2px dashed rgba(0,0,0,0.15);
	outline-offset: -5px;
	padding: 10px;
	position: relative;
	width: 100%;
}
form.drop-upload.adv-upload .dragndrop {
	display: inline;
}
form.drop-upload.dragover {
	background-color: #ccc;
}
form.drop-upload input {
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	width: 0.1px;
	z-index: -1;
}
form.drop-upload .upload-msg {
	display: none;
}
form.drop-upload .label-wrapper {
	padding: 30px 0 28px 0;
	text-align: center;
}
form.drop-upload label {
	cursor: pointer;
}
form.drop-upload .progress {
	background-color: rgba(0,0,0,0.5);
	height: 2px;
	width: 0;
}
form.drop-upload.uploading input,
form.drop-upload.uploading label {
	display: none;
}
form.drop-upload.uploading .upload-msg {
	display: block;
}

/* misc markup */
strong {
	color: #09f;
}
p {
	margin: 1em 0;
}
p.page_desc {
	background-color: rgba(255, 255, 255, 0.25);
	border: 1px dashed #ddd;
	border-radius: 2px;
	margin: 10px 0 40px 0;
	padding: 20px;
}
hr {
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #fff;
}

/* links */
a {
	color: #09f;
	cursor: pointer;
	outline: none;
	transition: color 0.35s, text-shadow 0.35s;
}
a:hover {
	color: #0bf;
}