*{
	margin: 0;
	padding: 0;
}

body{
	background: #441012 url(/images/background.jpg);
	background-position: center top;
	background-repeat: repeat-x;
}

fieldset pre {
	color: #000;
	background: #fff;
	border: 2px dashed #048;
	padding: 10px;
	margin: 5px;
}

#container {
	width: 835px;
	margin: 0 auto;
}

#header {
}

#logo {
	padding: 0;
	margin: 0;
}
#logo a {
	display: block;
	text-indent: -2000px;
	height: 60px;
	width: 468px;
	background-image: url(/images/logo.jpg);
}

#nav {
	font-family: "Avenir", Helvetica, Arial, sans-serif;
	background: #fff;
	list-style: none;
	height: 50px;
	padding-left: 0;
	border-bottom: 2px solid #350b0d;
}
#nav li {
	float: left;
}
#nav li a {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: bold;
	padding: 0;
	height: 50px;
	text-decoration: none;
	background-image: url(/images/nav.png);
	background-repeat: no-repeat;
}

#nav li a span {
	visibility: hidden;
}


#nav-index a		{ background-position: 0px 0;		width: 41px;	}
#nav-companions a	{ background-position: -41px 0;		width: 114px;	}
#nav-members a		{ background-position: -155px 0;	width: 93px;	}
#nav-rates a		{ background-position: -248px 0;	width: 70px;	}
#nav-contact a		{ background-position: -318px 0;	width: 91px;	}
#nav-recruitment a	{ background-position: -409px 0;	width: 114px;	}
#nav-press a		{ background-position: -523px 0;	width: 66px;	}
#nav-services a		{ background-position: -589px 0;	width: 87px;	}
#nav-links a		{ background-position: -676px 0;	width: 65px;	}

#nav-index a:hover											{ background-position: 0px -50px;	  }
#nav-companions.current a	,	#nav-companions a:hover		{ background-position: -41px -50px;	  }
#nav-members.current a		,	#nav-members a:hover		{ background-position: -155px -50px;  }
#nav-rates.current a		,	#nav-rates a:hover			{ background-position: -248px -50px;  }
#nav-contact.current a		,	#nav-contact a:hover		{ background-position: -318px -50px;  }
#nav-recruitment.current a	,	#nav-recruitment a:hover	{ background-position: -409px -50px;  }
#nav-press.current a		,	#nav-press a:hover			{ background-position: -523px -50px;  }
#nav-services.current a		,	#nav-services a:hover		{ background-position: -589px -50px;  }
#nav-links.current a		,	#nav-links a:hover			{ background-position: -676px -50px;  }



#sub-nav {
	background: #a009ce;
	list-style: none;
	height: 25px;
	padding-left: 16px;
}
#sub-nav li {
	float: left;
}
#sub-nav li a {
	display: block;
	font-size: 13px;
	padding: 1px 10px;
	height: 23px;
	text-decoration: none;
	color: #fff;
	border-right: 1px solid #a915d6;
}

#sub-nav li.last a {
	border-right: 0;
}

#sub-nav li.current a, #sub-nav li a:hover {
	background: #5e0b78;
}



#page-header {
	height: 30px;
	padding: 14px 0 21px 0;
	position: relative;
	color: #fff;
}

#page-header h1 {
	font: 24px Arial, Helvetica, Verdana, sans-serif;
	margin: 0;
	width: 600px;
	color: #fff;
}

#login {
	position: absolute;
	top: 15px;
	right: 0;
	margin: 0;
	padding: 0;
}


#content {
	background: #fff url(/images/page_background.png);
	background-repeat: repeat-y;
	margin: 0 -5px;
	text-align: justify;
	width: 845px;
	margin-bottom: 40px;
}


#content-top, #content-bottom {
	background-repeat: no-repeat;
}

#content-bottom {
	background-image: url(/images/page_background_top.png);
	background-position: left top;
	width: 795px;
	padding: 0 25px 25px 25px;
}

#content-top {
	background-image: url(/images/page_background_bottom.png);
	background-position: left bottom;
}


#footer {
	position: relative;
	top: 22px;
	font-size: 10px;
	padding: 5px 0;
}

#footer, #footer a {
	color: #efd2e7;
}


table {
	border-collapse: collapse;
}

table th, table td {
	vertical-align: baseline;
	text-align: left;
	padding: 2px 0;
}


/*	Content:
-------------------------------------------------- */

#content {
}

#companion-search-form {
	padding: 2px 0 10px 0;
	margin-bottom: 10px;
	border-bottom: 1px solid #d4c1f3;
}

#companion-search-form td {
	padding: 0 2px;
}

#companion-search-form .submit_button {
	font-size: 1em;
}

#search-hit-count {
	margin: 10px 0;
}


/*	Companion pages:
-------------------------------------------------- */

#statistics th {
	width: 135px;
	padding-right: 8px;
}

.review {
	
}
.review blockquote {
	padding: 2px 0 8px 0;
	margin-bottom: 4px;
	border-bottom: 1px solid #d4c1f3;
}


form #review_body {
	width: 475px;
	height: 150px;
	margin: 5px 0;
}

form #review_author_name {
	font-size: 13px;
}

form #review_body, form #review_author_name {
	width: 99%;
}

#add-review .submit_button {
	font-size: 16px;
}




#add-review div.field_with_errors {
	width: auto;
}

input.submit_button {
	font-size: 1.5em;
	padding: 0 10px;
	font-weight: bold;
}


#page {
	margin-right:  30px;
	width: 485px;
	float: left;
}


#list-companions {
	margin-left: -2px;
	margin-right: -32px;
}
#companions-selection {
	width: auto;
	margin: 0 auto;
}

#list-companions div, #companions-selection div {
	float: left;
	width: 153px;
	height: 260px;
	padding: 2px 2px 10px 2px;
}
#list-companions div img, #companions-selection div img {
	width: 153px;
}

#pictures {
	width: 250px;
	float: left;
	margin: 0 20px -5px 0;
}
#pictures img {
	margin-bottom: 5px;
	width: 250px;
}

#companion-name {
	margin: 15px 0 20px 0;
}

th {
	font-weight: bold;
}

#rates tbody th {
	width: 240px;
}
#rates tbody td {
	width: 130px;
}





input, textarea {
	font-size: 13px;
	font-family: inherit;
}
select {
	vertical-align: text-bottom;
	font-size: 13px;
	font-family: inherit;
}
option {
	font-size: 14px;
	font-family: inherit;
	padding: 0 0.3em;
}
/*input[type=submit] {
	display: inline;
	vertical-align: bottom;
}*/

/* notices and errors */

.flashmessage {
	font-size: 1.1em;
	padding: 0.4em 0.8em;
	margin: 0 0 12px 0;
}

p.error {
	border: 1px solid #f60;
	color: #f60;
	background-color: #FFF1DB;
}

form table p.error {
	border: 0;
}

.error, .error_message {
	color:#900;
	font-weight: bold;
}

.error_message {
	clear: both;
}

.error em {
	font-size: 18px;
	color: #003d4c;
}

div.error {
  padding: 2px;
  border: #f60 solid 2px;
}

.notice, .message {
	color: #02a74c;
	border: 1px solid #01c20a;
	font-size: 14px;
	background-color: #e6f9e7;
	padding: 0.5em;
	margin: 1em 0;
	display:block;
}
.tip {
	color: #656565;
	background-color: #ddd;
}

label.has_errors {
	color: #f60;
}
span.required {
	font-weight: bold;
}
div.field_with_errors {
	border: 2px solid #f60;
	background: #FFF1DB;
	margin: 0;
	padding: 0;
	background-image: url(/images/error_icon.gif) baseline right;
}

.error, .error_message {
	color:#f60;
	font-weight: bold;
}

.field_with_errors #review_body, .field_with_errors #review_author_name {
	width: 99.5%;
	margin: 0;
}

form td.error_message {
	width: 40px;
	padding: 0;
	background-image: url(/images/error_icon.gif);
	background-repeat: no-repeat;
	background-position: 5px center;
}
table .error_message {
	border: 0;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	text-indent: -2000px;
	background-position: center left;
}
