/* Zero out everything */

	/*** No list-markers by default - 
	 *** must redefine bullets w/ bg graphics
	 ***/
	ul {
		list-style: none;
	}

	/*** Avoid browser default inconsistent heading, 
	 *** font-sizes and pre/code
	 ***/
	body, h1, h2, h3, h4, h5, h6, pre, code, td {
		font-size: 1em;
	}

	/*** Remove inconsistent (among browsers) - 
	 *** default padding or margin 
	 ***/
	ul, li, h1, h2, h3, h4, h5, h6, pre, form, body, html, p, blockquote, fieldset,
		input, label, div, dd, dt, dl, table, tr, td, img, hr {
		margin: 0px;
		padding: 0px;
	}

	/*** Prevent blue linked image borders
	 ***/
	a img,:link img,:visited img, fieldset {
		border: none;
	}

	html {
		height: 100%;
	}

/* Fonts */

/* Body */
	body {
		background: url('/images/bg_main.png') repeat-x #f6f6f6;
		color: #000;
/*		font-family: "Arial Narrow"; */
		font-family: "Arial";
		font-size: 14px;
		height: 100%;
	}

	body.login {
		background: url('/images/bg_login.png') repeat-x #01009e;
	}

	a {
	}

/* Frame */
	#frame {
		margin: 0px auto;
		position: relative;
		width: 960px;
	}

	#frame .logo {
		left: 410px;
		position: absolute;
		top: 124px;
	}

	#frame .login-form {
		left: 410px;
		position: absolute;
		top: 168px;
	}

	#frame .login-form input {
		background: #fff;
		border: 1px solid #25baff;
		font-size: 22px;
		height: 36px;
		margin-bottom: 19px;
		width: 300px;
	}

	#frame .login-form input.button {
		font-size: 14px;
	}

	#frame .login-form input.button {
		background: #b6b6b6;
		border: 0;
		color: #fff;
		height: 26px;
		left: 230px;
		position: relative;
		width: 70px;
	}

	#frame .login .error {
		left: 410px;
		position: absolute;
		top: 80px;
	}

/* Header */
	#header {
		color: #fff;
		height: 120px;
		position: relative;
		z-index: 100;
	}

	#header a {
		color: #fff;
		text-decoration: none;
	}

	#header ul {
		left: 54px;
		position: absolute;
		top: 20px;
	}

	#header ul li {
		float: left;
	}

	#header ul li a {
		background: #3366ff;
/*		background: #b4c7e6; */
		border: 1px solid #fff;
		border-radius: 5px;
			-moz-border-radius: 5px;
			-webkit-border-radius: 5px;
		display: block;
		height: 37px;
		line-height: 37px;
		margin-right: 20px;
		text-align: center;
		width: 96px;
	}

	#header .welcome {
		position: absolute;
		right: 0;
		text-align: right;
		top: 31px;
	}

/* Nav */
	#nav {
		float: left;
		width: 165px;
	}

	#nav ul {
		border-bottom: 1px solid #b6d3e2;
		margin: 10px;
		width: 150px;
	}

	#nav ul li {
	}

	#nav ul li a {
		color: #2c4d5d;
		font-family: arial;
		font-size: 18px;
		font-weight: bold;
		display: block;
		height: 45px;
		line-height: 45px;
		text-decoration: none;
	}

	#nav ul li a div.icon {
		height: 32px;
		float: left;
		padding-top: 5px;
	}

	#nav ul li a div.text {
		float: right;
	}

/* Content */
	#content {
		background: url('/images/bg_content-center.png') repeat-y;
		float: left;
		min-height: 550px;
		padding: 0 10px;
		position: relative;
		width: 775px;
	}

	#content .bg-top {
		background: url('/images/bg_content-top.png') no-repeat;
		height: 20px;
		left: 0;
		position: absolute;
		top: 0;
		width: 795px;
	}

	#content .bg-bottom {
		background: url('/images/bg_content-bottom.png') no-repeat;
		bottom: 0;
		height: 23px;
		left: 0;
		position: absolute;
		width: 795px;
	}

	#content .title {
		background: #b4c7e6;
		border-bottom: 1px solid #4a4a4a;
		color: #000;
		font-size: 30px;
		height: 45px;
		line-height: 45px;
		margin-top: 20px;
		padding: 0 10px;
	}

/* Main */
	#main {
		background: #eef;
		margin: 10px;
		position: relative;
		z-index: 10;
	}

	#main div.buttons {
		height: 55px;
	}

	#main a.button {
		background: #3366ff;
/*		background: #b4c7e6; */
		border: 1px solid #006391;
		border-radius: 5px;
			-moz-border-radius: 5px;
			-webkit-border-radius: 5px;
		color: #fff;
		display: block;
		height: 37px;
		line-height: 37px;
		margin-right: 20px;
		text-align: center;
		text-decoration: none;
		width: 96px;
	}

	#main a.box {
		background: #f4f4f4;
		border: 1px solid #435065;
		height: 16px;
		margin: 0 2px;
		padding: 0 9px;
	}

	/* Dashboard */
	#main .dashboard {
	}

	#main .dashboard .appointment {
		border-top: 1px solid #000;
		clear: both;
		font-size: 18px;
		margin: 10px;
		overflow: hidden;
		padding: 10px 0;
	}

	#main .dashboard .appointment h1 {
		padding-bottom: 10px;
	}

	#main .dashboard .appointment h1.sales {
        color: #007;
	}

	#main .dashboard .appointment h1.installation {
        color: #070;
	}

	#main .dashboard .appointment h1.service {
        color: #077;
	}

	#main .dashboard .appointment h1.measure {
        color: #770;
	}

	#main .dashboard .appointment h1.no-type {
        color: #700;
	}

	#main .dashboard .appointment .clock {
		float: left;
		padding-right: 10px;
	}

	#main .dashboard .appointment .details {
		float: left;
		width: 690px;
	}

	#main .dashboard .appointment .details p {
		padding-bottom: 5px;
	}

	/* Tables */
	#main table {
		border: 1px solid #b4c7e6;
		border-spacing: 0;
	}

	#main table th {
		background: #b4c7e6;
		border-top: 1px solid #e6eaf5;
		font-size: 13px;
		text-align: left;
	}

	#main table th:first-child {
		border-left: 1px solid #e6eaf5;
	}

	#main table tr.odd {
		background: #e6eaf5;
	}

	#main table tr.even {
		background: #f4f4f4;
	}

	#main table tr td {
		border-top: 1px solid #b4c7e6;
	}

	/* Table, user-list */
	#main table.user-list th.icon {
		width: 70px;
	}

	#main table.user-list th.username {
		width: 125px;
	}

	#main table.user-list th.name {
		width: 155px;
	}

	#main table.user-list th.role {
		width: 160px;
	}

	#main table.user-list th.email {
		width: 210px;
	}

	#main table.user-list th.edit {
		width: 55px;
	}

	#main table.user-list tr td {
		height: 50px;
	}

	#main table.user-list td.icon img {
		padding-left: 15px;
	}

	/* Table, client-list */
	#main table.client-list th.company {
		width: 175px;
	}

	#main table.client-list th.name {
		width: 115px;
	}

	#main table.client-list th.address {
		width: 140px;
	}

	#main table.client-list th.phone {
		width: 100px;
	}

	#main table.client-list th.email {
		width: 190px;
	}

	#main table.client-list th.view {
		width: 55px;
	}

	#main table.client-list tr td {
		height: 40px;
	}

	#main table.client-list .company {
		padding-left: 10px;
	}

	/* Table, phone-list */
	#main table.phone-list {
		margin-top: 10px;
	}

	#main table.phone-list th.icon {
		width: 55px;
	}

	#main table.phone-list th.name {
		width: 75px;
	}

	#main table.phone-list th.phone {
		width: 100px;
	}

	#main table.phone-list th.edit {
		width: 55px;
	}

	#main table.phone-list tr td {
		height: 25px;
	}

	#main table.phone-list .icon {
		padding-left: 10px;
	}

	/* Table, email-list */
	#main table.email-list {
		margin-top: 10px;
	}

	#main table.email-list th.icon {
		width: 55px;
	}

	#main table.email-list th.email {
		width: 75px;
	}

	#main table.email-list th.edit {
		width: 55px;
	}

	#main table.email-list tr td {
		height: 25px;
	}

	#main table.email-list .icon {
		padding-left: 10px;
	}

	/* Table, address-list */
	#main table.address-list {
		margin-top: 10px;
		position: relative;
		z-index: 100;
	}

	#main table.address-list th.icon {
		width: 55px;
	}

	#main table.address-list th.name {
		width: 100px;
	}

	#main table.address-list th.address {
		width: 250px;
	}

	#main table.address-list th.city {
		width: 150px;
	}

	#main table.address-list th.related {
		width: 60px;
	}

	#main table.address-list th.appt {
		width: 60px;
	}

	#main table.address-list th.edit {
		width: 55px;
	}

	#main table.address-list tr td {
		height: 35px;
	}

	#main table.address-list .icon {
		padding-left: 10px;
	}

	#main table.address-list div.related {
		position: static;
	}

	#main table.address-list div.related-hidden {
		background: #fff;
		box-shadow: 0 0 5px #000;
			-moz-box-shadow: 0 0 5px #000;
			-webkit-box-shadow: 0 0 5px #000;
		display: none;
		right: 30px;
		padding: 10px;
		position: absolute;
		width: 200px;
	}

	#main table.address-list div.related:hover div.related-hidden {
		display: block;
	}

	#main table.address-list div.related div.related-hidden a:hover {
		text-decoration: underline;
	}

	/* Table, notes */
	#main table.notes {
		margin-top: 10px;
	}

	#main table.notes2 td {
		padding: 2px;
		vertical-align: top;
	}

	#main table.notes th.user, #main table.notes2 td.user {
		width: 100px;
	}

	#main table.notes th.dt-stamp, #main table.notes2 td.dt-stamp {
		width: 75px;
	}

	#main table.notes th.note, #main table.notes2 td.note {
		width: 520px;
	}

	#main table.notes th.edit, #main table.notes2 td.edit {
		width: 55px;
	}

	#main table.notes2 td.edit {
		padding-top: 10px;
	}

	/* Table, schedule-list */
	#main table.schedule-list {
		margin-top: 10px;
	}

	#main table.schedule-list td {
		padding: 2px;
		vertical-align: top;
	}

	#main table.schedule-list th.icon {
		width: 50px;
	}

	#main table.schedule-list th.date {
		width: 75px;
	}

	#main table.schedule-list th.time {
		width: 100px;
	}

	#main table.schedule-list th.details {
		width: 460px;
	}

	#main table.schedule-list th.view {
		width: 55px;
	}

	#main table.schedule-list td.icon {
		padding-left: 10px;
	}

	#main table.schedule-list td.view {
		vertical-align: middle;
		width: 55px;
	}

	#main table.schedule-list tr td {
		height: 35px;
	}

	/* Forms */
	#main form h1 {
		font-size: 18px;
		font-weight: normal;
		padding-bottom: 10px;
	}

	#main form.wide-575 {
		width: 600px;
	}

	#main form.wide-575 div.box {
		padding-bottom: 20px;
	}

	#main form.wide-575 div.box h2 {
		font-size: 24px;
		font-weight: normal;
		padding-left: 170px;
	}

	#main form div.textarea {
		height: 170px;
	}

	#main form div.textbox {
		height: 50px;
	}

	#main form div.checkbox {
		clear: both;
		overflow: hidden;
	}

	#main form div.textbox span.text, #main form div.textarea span.text {
		display: block;
		float: left;
		font-size: 24px;
		padding-right: 25px;
		text-align: right;
		width: 170px;
	}

	#main form div.textbox input.text, #main form div.textbox select.text {
		background: #e8e8e8;
		border: 1px solid #006694;
		font-size: 22px;
		height: 30px;
		width: 398px;
	}

	#main form div.textarea textarea.text {
		background: #e8e8e8;
		border: 1px solid #006694;
		font-size: 22px;
		height: 150px;
		width: 398px;
	}

	#main form div.checkbox span.input {
		display: block;
		float: left;
		line-height: 26px;
		text-align: right;
		width: 190px;
	}

	#main form div.checkbox span.text {
		display: block;
		float: left;
		font-size: 20px;
		padding-left: 10px;
	}

	#main form div.buttons {
		text-align: right;
	}

	#main form div.no-service {
		color: #f00;
		font-size: 22px;
	}

	#main form input.button {
		background: #3366ff;
		border: 1px solid #006391;
		border-radius: 5px;
			-moz-border-radius: 5px;
			-webkit-border-radius: 5px;
		color: #fff;
		height: 37px;
		line-height: 37px;
		margin-left: 20px;
		text-align: center;
		text-decoration: none;
		width: 96px;
	}

	/* Client */
	#main .client {
		overflow: hidden;
	}

	#main .client a {
		color: #777;
		text-decoration: none;
	}

	#main .client h1 {
		background: #006897;
		border-bottom: 1px solid #9fc5d7;
		font-size: 28px;
		height: 49px;
		line-height: 49px;
	}

	#main .client h1 a {
		color: #fff;
	}

	#main .client h1 img {
		padding: 0 15px;
		vertical-align: middle;
	}

	#main .phone, #main .email {
		clear: both;
		overflow: auto;
		position: relative;
	}

	#main>.client>.email {
		min-height: 50px;
	}

	#main .phone table.phone-list, #main .email table.email-list {
	}

	#main .phone .notice {
		color: #f00;
		font-size: 22px;
		left: 315px;
		position: absolute;
		top: 10px;
	}

	#main .client a.phone, #main .client a.email {
		bottom: 0;
		color: #fff;
		left: 375px;
		position: absolute;
	}

	#main .client a.address {
		bottom: 0;
		color: #fff;
		left: 491px;
		position: absolute;
	}

	#main .client .info {
		font-size: 18px;
		padding-bottom: 20px;
	}

	#main .client .info h1 {
		font-size: 22px;
	}

	#main .client .contact {
		overflow: hidden;
		padding-bottom: 20px;
	}

	#main .notes {
		overflow: hidden;
		position: relative;
		padding-bottom: 10px;
	}

	#main .notes .overflow {
		margin-bottom: 10px;
		max-height: 200px;
		overflow: auto;
	}

	#main .notes form textarea {
		background: #e8e8e8;
		border: 1px solid #006694;
		font-size: 22px;
		height: 90px;
		width: 625px;
	}

	#main .notes form input {
		bottom: 10px;
		font-family: "Arial Narrow";
		position: absolute;
	}

	/* Calendar */
	#main .header {
		position: relative;
		z-index: 10;
	}

	#main .header .views {
		overflow: hidden;
	}

	#main .header .views ul {
		padding-left: 195px;
	}

	#main .header .views ul li {
		float: left;
		padding: 2px 10px;
	}

	#main .header .views ul li a {
		color: #777;
	}

	#main .header .views ul li a:hover {
		color: #aaa;
	}

	#main .previous {
		float: left;
		text-align: center;
		width: 100px;
	}

	#main .header h1 {
		float: left;
		font-size: 24px;
		font-weight: normal;
		text-align: center;
		width: 550px;
	}

	#main .header h1 a {
		color: #000;
		text-decoration: none;
	}

	#main .next {
		float: right;
		text-align: center;
		width: 100px;
	}

	#main .previous a, #main .next a {
		color: #000;
		text-decoration: none;
	}

	#main .header .previous a, #main .header .next a {
		color: #777;
		font-weight: bold;
		text-decoration: none;
	}

	#main .month-view, #main .week-view, #main .day-view {
	}

	#main .month-view .table, #main .week-view .table, #main .day-view .table {
		clear: both;
	}

	#main .month-view table, #main .week-view table, #main .day-view table {
		margin-bottom: 20px;
	}

	#main .month-view table th, #main .week-view table th {
		width: 106px;
	}

	#main .day-view table th {
		width: 750px;
	}

	#main .month-view table tr td {
	}

	#main .week-view table tr td, #main .day-view table tr td {
		min-height: 500px;
		vertical-align: top;
	}

	#main .month-view table tr td, #main .week-view table tr td {
		border-right: 1px solid #b4c7e6;
	}

	#main .month-view table tr td:last-child, #main .week-view table tr td:last-child {
		border-right: 0;
	}

	#main .month-view table tr td div.cell {
		min-height: 100px;
		position: relative;
	}

	#main .week-view table tr td div.cell, #main .day-view table tr td div.cell {
		height: 100%;
		position: relative;
	}

	#main table tr td span.day {
		display: block;
	}

	#main .month-view table tr td div.appointment {
		color: #fff;
		font-family: arial;
		font-size: 10px;
		line-height: 12px;
		margin: 1px;
		padding: 2px;
	}

	#main .week-view table tr td div.appointment {
		color: #fff;
		padding: 2px;
		margin: 1px;
	}

	#main .day-view .users {
		display: table-cell;
	}

	#main .day-view table tr td div.appointment {
		color: #fff;
		margin: 1px;
		padding: 2px;
	}

	#main table tr td div.appointment {
		position: relative;
	}

	#main table tr td div.appointment a {
		color: #fff;
		display: block;
		text-decoration: none;
	}

	#main table tr td div.clear {
		height: 100%;
		left: -2px;
		position: absolute;
		top: -2px;
		width: 100%;
		z-index: 200;
	}

	#main table tr td div.clear a {
		display: block;
		height: 100%;
	}

	#main table tr td div.appointment .balloon {
		display: none;
		left: -50px;
		position: absolute;
		width: 293px;
		z-index: 100;
	}

	#main .month-view table tr td div.appointment .balloon {
		bottom: 10px;
	}

	#main .week-view table tr td div.appointment .balloon {
		bottom: 40px;
	}

	#main table tr td div.appointment .balloon .top {
		background: url('/images/bg_balloon-top.png') no-repeat;
		height: 18px;
	}

	#main table tr td div.appointment .balloon .content {
		background: url('/images/bg_balloon-content.png') repeat-y;
		color: #000;
		font-family: "Arial Narrow";
		font-size: 14px;
		line-height: 16px;
		padding: 0 20px;
		min-height: 100px;
	}

	#main table tr td div.appointment .balloon .content p , #main .day-view table tr td div.appointment p, #main .schedule-view p {
		margin-bottom: 10px;
	}

	#main table tr td div.appointment .balloon .bottom {
		background: url('/images/bg_balloon-bottom.png') no-repeat;
		height: 64px;
	}

	#main .week-view table tr td div.appointment span.address {
		font-size: 12px;
	}

	#main table tr td div.cell div.sales {
		background: #007;
	}

	#main table tr td div.cell div.installation {
		background: #070;
	}

	#main table tr td div.cell div.service {
		background: #077;
	}

	#main table tr td div.cell div.measure {
		background: #770;
	}

	#main table tr td div.cell div.no-type {
		background: #700;
	}

	#print {
		background: #fff;
		border: 1px solid #b4c7e6;
		box-shadow: 0 0 10px #000;
			-moz-box-shadow: 0 0 10px #000;
			-webkit-box-shadow: 0 0 10px #000;
		display: none;
		height: 160px;
		padding: 10px;
		position: absolute;
		width: 180px;
	}

	#print input, #print select {
		background: #e8e8e8;
        border: 1px solid #006694;
        font-size: 18px;
        height: 25px;
        width: 180px;
	}

	#print form input.button {
		margin: 0;
		width: 180px;
	}

/* Footer */
	#footer {
		clear: both;
		color: #475d61;
		height: 80px;
		position: relative;
	}

/* Misc */
	.error {
		color: #f00;
	}

/* Admin */

