body,
html {
	margin: 0;
	padding: 0;
}

body {
	background: url(../img/body-bg.gif) 50% 0 repeat-y;
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
}

a:link,
a:visited {
	color: #f44;
	text-decoration: none;
}

a:hover,
a:active {
	color: #f44;
	text-decoration: underline;
}

img {
	border: none;
}

table {
	border-collapse: collapse;
}

table th,
table td {
	border: 1px solid #ccc;
	padding: 0.5em;
}

table th {
	background-color: #eee;
	text-align: center;
}

table td.right {
	text-align: right;
}

table tr.altrow td {
	background-color: #f4f4f4;
}


/* Header */

.wrapper {
	width: 900px;
	margin: 0 auto;
	text-align: left;
}

.header {
	margin-top: 20px;
	height: 205px;
}

.logo {
	margin: 0 20px;
	float: left;
	width: 470px;
}
* html .logo {
	margin: 0 10px;
}

.logo a {
	display:block;
	height:160px;
	background: url(../img/rainbow-logo.gif) 50% 0 no-repeat;
	overflow:hidden;
}

.logo h1 {
	margin: 0;
	padding:0 36px;
	text-indent: -999em;
}

.logo h2 {
	margin: 0;
	padding-top: 15px;
	color: #999;
	font-size: 16px;
	font-weight: normal;
	letter-spacing: 4.7px;
	text-align: center;
}

.employees-left {
	float:left;
	display:inline;
	width:195px;
}

.employees-right {
	float:left;
	display:inline;
	width:195px;

}

.employees a {
	display:block;
}


/* Main Menu */

ul.main-menu {
	clear: both;
	position: relative;
	height: 40px;
	margin: 0;
	padding: 0;
	border-bottom:4px solid #cf0739;
	font-size: 14px;
	font-family: Georgia, Arial,sans-serif;
	list-style: none;
	z-index: 100;
}

ul.main-menu li {
	margin: 0;
	padding: 0;
	float: left;
	display: inline;
	margin-right: 1px;
	position: relative;
}

ul.main-menu li a {
	padding-left: 7px;
	display: block;
	float: left;
	height: 40px;
	line-height: 40px;
	background: url('../img/verical-nav-sprite.gif') 0 -160px no-repeat;
	text-decoration: none;
	text-align: center;
	color: #666;
	overflow: hidden;
	cursor: pointer;
}

ul.main-menu li a span {
	display: block;
	float: left;
	position: relative;
	padding-left: 3px;
	padding-right: 10px;
	height: 40px;
	line-height: 40px;
	overflow: hidden;
	background: url('../img/verical-nav-sprite.gif') 100% -200px no-repeat;
}

ul.main-menu li a:hover {
	background: url('../img/verical-nav-sprite.gif') 0 -80px no-repeat;
	color: #fff;
}

ul.main-menu li a:hover span {
	background: url('../img/verical-nav-sprite.gif') 100% -120px no-repeat;
}

ul.main-menu li.active a {
	background: url('../img/verical-nav-sprite.gif') 0 0 no-repeat;
	color: #fff;
}

ul.main-menu li.active a span {
	background: url('../img/verical-nav-sprite.gif') 100% -40px no-repeat;
}

ul.main-menu ul {
	display: none;
	position: absolute;
	top: 40px;
	left: 0;
	width: 250px;
	margin: 0;
	padding: 0;
	background-color: #eee;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

ul.main-menu ul li {
	display: block;
	float: none;
	position: relative;
	height: auto;
	margin: 0;
	padding: 0;
	background-image: none;
	border-bottom: 1px solid #ccc;
}
ul.main-menu li ul li a,
ul.main-menu li.active ul li a {
	display: block;
	float: none;
	height: auto;
	line-height: 100%;
	padding: 10px;
	background-image: none;
	color: #666;
	text-align: left;
}
ul.main-menu li ul li a:hover,
ul.main-menu li.active ul li a:hover {
	background-color: #ccc;
	background-image: none;
	color: #fff;
}

ul.main-menu ul ul {
	display: none;
	position: absolute;
	top: -1px;
	left: 250px;
	border-top: 1px solid #ccc;
}

/* Main */

.main {
	margin-top: 10px;
	padding-bottom: 50px;
	background: url(../img/main-bg.gif) left top repeat-y;
}

.column {
	position: relative;
	float: left;
}

#content-wrapper {
	width: 510px;
	margin-left: 195px;
	display: inline;
}

#left-sidebar {
	width: 195px;
	margin-left:-705px;
}

#right-sidebar {
	width: 195px;
}

.holly-grail-clear {
	clear: left;
}

#content-user {
	width: 670px;
	margin-right: 27px;
}

#right-user-sidebar {
	width: 203px;
	min-height: 200px;
	margin-top: 10px;
	padding-bottom: 20px;
	background: url('../img/box-bottom.gif') no-repeat bottom left;
	color: #666;
	font-size: 12px;
}

#right-user-sidebar h2 {
	height: 30px;
	margin: 0;
	padding: 20px;
	background: url('../img/box-top.gif') no-repeat top left;
	color: #444;
	font-size: 1.3em;
	font-weight: normal;
}

#right-user-sidebar h3 {
	margin: 20px 0 0 20px;
	font-size: 1.1em;
}

#right-user-sidebar ul {
	list-style: none;
	margin: 0 20px;
	padding: 0;
}

#right-user-sidebar ul li {
	margin: 5px 0;
	padding: 0;
}


/* Info Box */

.info-box {
	height: 71px;
	background: url('../img/box-bg.gif') 0 0  repeat-x #ccc;
	font-size: 12px;
	line-height: 140%;
	color: #666;
}

.info-box a {
	color: #666;
	text-decoration: none;
}

.info-box a:hover,
.info-box a:active {
	text-decoration: underline;
}

.info-box .rainbow-tool {
	float: left;
	width: 155px;
	height: 31px;
	padding: 20px;
	background: url('../img/separator.gif') 100% 50% no-repeat;
}

.info-box .rainbow-tool a {
	display: block;
	height: 31px;
	background: url('../img/rainbow-tool-logo.gif') 0 0 no-repeat;
	text-indent: -999em;
	overflow: hidden;
}

.info-box .user-login {
	width: 480px;
	float: left;
	padding: 8px 10px;
}

.info-box ul.user-links {
	float: right;
	width: 155px;
	height: 31px;
	margin: 0;
	padding: 20px;
	background: url('../img/separator.gif') 0 50% no-repeat;
	text-align: right;
	list-style: none;
}

.info-box ul.user-links li {
	margin: 0;
	padding: 0;
}

.info-box .user-login div.input {
	float: left;
	width: 200px;
	padding: 0;
	clear: none;
	border: none;
}
.info-box .user-login div.submit {
	float: left;
	width: 60px;
	padding: 20px 0 0 0;
	clear: none;
}
.info-box .user-login label {
	display: block;
	float: none;
	clear: none;
	height: 20px;
	color: #666;
	font-size: 11px;
	font-weight: bold;
	text-align: left;
}
.info-box .user-login div.password input,
.info-box .user-login div.text input {
	width: 177px;
	height: 17px;
	padding: 6px;
	background: url('../img/input.gif') 0 0 no-repeat;
	color: #666;
	font-size: 12px;
	font-weight: bold;
}
.info-box .user-login div.submit input {
	height: 30px;
	padding: 5px 10px;
	font-size: 11px;
	font-weight: bold;
}


/* Content */

#content {
	margin: 40px 20px 0;
	font-size: 12px;
	color: #444;
}

#content.admin {
	margin-bottom: 80px;
}

#content h2 {
	margin: 1em 0;
	color: #ff9900;
	font-family: Georgia, Arial,sans-serif;
	font-size: 24px;
	font-weight: normal;
}

#content h3 {
	margin: 1em 0;
	color: #4db848;
	font-family: Georgia, Arial,sans-serif;
	font-size: 18px;
	font-weight: normal;
}

#content h4 {
	margin: 1em 0;
	font-family: Georgia, Arial,sans-serif;
	font-size: 14px;
	font-weight: normal;
}

.left-sidebar-image,
.right-sidebar-image {
	height: 295px;
	width: 195px;
}
.left-sidebar-image p,
.right-sidebar-image p {
	margin: 20px;
	font-size: 12px;
	color: #fff;
}


/* Footer */

.footer {
	width: 900px;
	min-height: 229px;
	margin-top: -50px;
	margin-bottom: 20px;
	background: url(../img/bottom-decoration.png) left top no-repeat;
}
.footer.user {
	min-height: 234px;
	margin-top: 0;
	background: url(../img/bottom-decoration2.png) left top no-repeat;
}

.footer .text-block {
	margin:225px 0 0 15px;
	float:left;
	width:300px;
}

.footer .text-block h4 {
	color:#ff9900;
	font-size:18px;
	font-family: Georgia, Arial,sans-serif;
	font-weight:normal;
}

.footer .text-block p {
	color:#999;
	font-size:13px;
}

.footer .blog-links {
	margin-top:210px;
	float:right;
	width:193px;
}

.footer-links {
	margin-top:15px;
}

.footer-links ul {
	list-style:none;
	float:right;
	margin-right:20px;
	display:inline;
}

.footer-links li {
	float:left;
	display:inline;
	padding:0 4px;
	border-right:1px solid #333;
}

.footer-links li.last {
	padding-right:0 !important;
	border:0 !important;
}

.footer-links a {
	color:#333;
	text-decoration:none;
}


/* Blog and Forum */

.post {
	margin: 1em 0;
}

.post h3 {
	margin: 0.5em 0 0 0;
}

.post .more {
	margin: 1em 0;
	font-size: 90%;
	font-style: italic;
	text-align: right;
}

.post .body {
	margin: 1em 0 2em 0;
}

.post .comments {
	float: right;
	font-size: 90%;
	font-style: italic;
	color: #aaa;
}

.comment {
	margin-bottom: 2em;
	padding-top: 1em;
}

.comment .date {
	float: right;
}

.comment .user {
	font-size: 1.1em;
}

.comment .body {
	margin: 1em 0;
}


/* Forms */

form {
	margin: 0;
}

fieldset {
	margin: 5px 0;
	padding: 5px 0 10px 0;
	border: 1px solid #ccc;
}

fieldset legend {
	margin-left: 20px;
	padding: 0 5px;
	background-color: #fff;
}

.form-error {
	background-color: #fee;
	color: red;
}

label,
.input.static .label {
	display: block;
	float: left;
	width: 120px;
	margin-right: 10px;
	text-align: right;
}
fieldset label,
fieldset .input.static .label  {
	width: 120px;
}

form .required label {
	font-weight: bold;
}

form div.input {
	clear: both;
	padding: 5px 0;
}

form div.input .error-message {
	margin-left: 140px;
	font-size: 11px;
	color: #f00;
}

fieldset div.input .error-message {
	margin-left: 130px;
}

form div.submit {
	padding: 5px 0 15px 130px;
}

form fieldset div.submit {
	padding: 5px 0 5px 130px;
	padding-left: 130px;
}

.input.text input,
.input.password input,
.input textarea {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	padding: 2px;
	border: 1px solid #ccc;
}

.input.select select {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	border: 1px solid #ccc;
	max-width: 320px;
}

.submit input {
	padding: 3px 5px;
	background-color: #ccc;
	color: #444;
	border: 1px outset #ccc;
	font-weight: bold;
}

.checkbox {
	margin-left: 140px;
}
fieldset .checkbox {
	margin-left: 130px;
}
.checkbox label {
	display: inline;
	float: none;
	width: auto;
	margin-left: 5px;
}

.radio label {
	display: inline;
	float: none;
	width: auto;
	position: relative;
	bottom: 2px;
	margin-left: 5px;
}

.radio input {
	margin-left: 10px;
}

/* Flash messages */

#flashMessage.error,
#authMessage.message {
	background: pink url(icons/24-message-warn.png) no-repeat scroll 7px 7px;
	border: 1px solid #800;
	margin: 1em auto;
	padding: 10px 10px 10px 35px;
}
#flashMessage.message {
	background-color: #cfc;
	border: 1px solid #080;
	margin: 1em auto;
	padding: 10px 10px 10px 35px;
}


/* Simple table */

table.simple {
	border: none;
	border-collapse: collapse;
}

table.simple th {
	padding: 0 1em 1em 0;
	background: none;
	border: none;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
}

table.simple td {
	padding: 0 1em 1em 0;
	border: none;
	vertical-align: top;
}


/* Misc styles */

.clearer:after {
	content: ".";
	display: block;
	clear: both;
	font-size: 0;
	line-height: 0;
	height: 0;
	overflow: hidden;
}
.clear {
	clear: both;
}


.green {
	color: green;
}
.red {
	color: red;
}

/* Definition list */

dt {
	float: left;
	clear: left;
	width: 8em;
	margin: 0 1em 1em 0;
	padding: 0;
}

dd {
	float: left;
	width: 40em;
	margin: 0 1em 1em 0;
	padding: 0;
}

dt.relationships,
th.relationships {
	color: #FF8080;
}
dt.aspirations,
th.aspirations {
	color: #FFBF80;
}
dt.income,
th.income {
	color: #E0E000;
}
dt.needs,
th.needs {
	color: #80FF80;
}
dt.body,
th.body {
	color: #80FFFF;
}
dt.organisation,
th.organisation {
	color: #8080FF;
}
dt.work,
th.work {
	color: #C680FF;
}

dd.relationships,
td.relationships  {
	color: #FE0000;
}
dd.aspirations,
td.aspirations {
	color: #FF7F00;
}
dd.income,
td.income {
	color: #C4C400;
}
dd.needs,
td.needs {
	color: #00FF00;
}
dd.body,
td.body {
	color: #00FFFF;
}
dd.organisation,
td.organisation {
	color: #0000FE;
}
dd.work,
td.work {
	color: #8C00FF;
}

.left-sidebar-image .rotate_holder {
	background: #c03;
	color: #fff;
}

.right-sidebar-image .rotate_holder {
	background: #0072BC;
	color: #fff;
}

.rotate_holder {
	min-height: 320px;
}
* html .rotate_holder {
	height: 320px;
}
