/************************************************************
Global Styles */

body {
	margin:0 auto 1em auto;
	padding:0.5em 0;
	font:10pt/1.2 Verdana, Arial, Helvetica, sans-serif;
	background:#ccc;
	min-width:800px;
	max-width:1500px;
}

a img {
	border:none;
}

/************************************************************
Staging notice */

body#staging {
	margin-top:1.5em;
}
body#staging #sidebar {
	padding-top:3em;
}
#staging-notice {
	background:#fb9;
	border-bottom:1px solid #c99;
	text-align:center;
	font-weight:bold;
	font-size:9pt;
	padding:0.5em 0;
	position:fixed;
	top:0;
	left:0;
	width:100%;
}

/************************************************************
Layout: Sidebar */

#sidebar {
	/*float: left;*/
	width:16em;
	padding:1.5em 1em 1em 1em;
	top:0;

	position:fixed;
	overflow-y:auto;
	height:100%;

	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
#sidebar h2 {
	font:14pt/1.2 Georgia,'Times New Roman',Times,serif;
	margin:0 0 0.7em 0;
	padding:0 0 0.1em 0.3em;
	color:#333;
	border-bottom:1px solid #999;
}
#sidebar>ul {
	list-style:none;
	margin:0 0 2.5em 0;
	padding:0;
}
#sidebar>ul>li {
	margin:0 0 1.5em 0;
	padding:1em;
	font-size:85%;
	line-height:1.4;
	background:#fff;
}
#sidebar h3 {
	margin:0;
	font:140%/1.2 Georgia,'Times New Roman',Times,serif;
    color:#669933;
    border-bottom:1px solid #9c6;
}
#sidebar li ul {
	list-style:none;
	margin:0;
	padding:0;
}
#sidebar li li {
	margin:0.5em 0;
}


/************************************************************
Layout: Content */

#content {
	margin:1em 2em 1em 17em;
	/*background-color: #919191;*/
}


/************************************************************
Forms */

textarea {
	vertical-align:top;
	width:99%;
}
input[type="text"].numeric {
	width:5em;
	text-align:right;
}
input[type="text"].tiny {
	width:3em;
}
label[title] {
	border-bottom:1px dashed #666;
	cursor:help;
}


/************************************************************
Login form */

#login-form {
	width:30em;
	margin:0 0 0 -15em;
    position:absolute;
    left:50%;
    top:20%;
}
#login-form td {
	font-size:10pt;
}


/************************************************************
Tables */

table {
	width:100%;
	border-spacing:0;
	border:1px solid #000;
	background:#E6E6E6;
	margin:0 0 1em 0;
}
table.auto {
	width:auto;
}
table caption {
	margin:0;
	padding:8px 20px;
	text-align:left;
	border:1px solid #000;
	border-bottom:none;
	background:#fff;
	font-size:12pt;
}
table th, table td {
	margin:0;
	padding:4px 10px;
	font-size:90%;
	border-bottom: 1px solid #b5b5b5;
}
table th {
	color: #666666;
}
table th[scope="row"] {
	text-align:left;
}
table tr {
	background: #e6e6e6;
}
table tr.summary>* {
	font-weight:bold;
	border-top:1px solid #666;
}

table.left tbody th,
table.left tbody td {
	text-align:left;
}
table.center tr th,
table.center tr td {
	text-align:center;
}
table.right tr th,
table.right tr td {
	text-align:right;
}

/* Hovering */
table.list tbody tr:hover>* {
	background-color:rgba(255,255,255,0.2);
}


/* Invoice color coding */
tr.overdue {
	background-color:#EE6AA7;
}
tr.overdue td,
tr.overdue th {
	border-bottom-color:#D14788;
}
tr.send {
	background-color:#879E3B;
}
tr.send td,
tr.send th {
	border-bottom-color:#697935;
}


/* Nested tables */
table table {
	width:90%;
	margin:0.5em 0;
}
table table caption {
	font-size:10pt;
	padding:0.5em 0.7em;
}



/************************************************************
Messages */

/* Shared */
.message {
	background:#ccc;
	border:1px solid #999;
	padding:0 7px 0.5em 7px;
	margin:0 0 1em 0;
	font-size:9.5pt;
}
.message h3 {
	font-weight:bold;
	font-size:11pt;
	border-bottom:1px solid #999;
	padding:0.2em 0.4em;
	margin:0 -7px 0.5em -7px;
	background:#aaa;
}
.message p {
	margin:0.2em 0;
}

/* Errors */
.error.message {
	background-color:#fcc;
	border-color:#f99;
}
.error.message h3 {
	border-color:#f99;
	background-color:#faa;
}

/* Info */
.info.message {
	background-color:#cdf;
	border-color:#9bf;
}
.info.message h3 {
	border-color:#9bf;
	background-color:#acf;
}


/* Generic / inline error */
p.error, td.error {
	font-weight:bold;
	color:#c00;
	line-height:1.5;
}


/************************************************************
Buttons */

.button {
	display:inline-block;
	background:#999;
	border:1px solid #000;
	font:8.5pt/1.2 Arial,Helvetica,sans-serif;
	padding:0.4em 2em;
	color:#000;
	text-decoration:none;

	background-image:-moz-linear-gradient(top, #eee, #999);
	background-image:-webkit-linear-gradient(top, #eee, #999);

	-moz-border-radius:0.5em;
	-webkit-border-radius:0.5em;
	border-radius:0.5em;
}
.button.action { /* Action button */
	background:#C66;
	background-image:-moz-linear-gradient(top, #F99, #C44);
	background-image:-webkit-linear-gradient(top, #F99, #C44);
}



/************************************************************
Miscellaneous */

/* Text alignment */
.left { text-align:left !important; }
.center { text-align:center !important; }
.right { text-align:right !important; }

.top { vertical-align:top !important; }
.middle { vertical-align:middle !important; }
.bottom { vertical-align:bottom !important; }


/* Boolean color coding */
.yes { color:#591; }
.no { color:#c23; }

/* Status color coding */
.status-ok { color:#591; }
.status-warning { color:#d93; }
.status-negative { color:#c23; }


/* Floating */
.rightFloat { float:right; }

