/* Basic stuff */

html {
	background: url("../img/bg.png");
	font-family: sans-serif;
	overflow-y: scroll;
	font-size: 15px;
	color: #555555;
}

body {
	margin: 0;
}

/* Reset a few things */

h1, h2, h3, h4, h5, h6, p, img, ul, li, form, fieldset, table, td, tr, th {
	border-width: 0;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
}

a {
	color: #d5242a;
}
a:hover {
	color: black;
}

input, textarea {
	font-family: sans-serif;
	font-size: 13px;
}

/* curves */

span.corners span.c {
	display: inline !important;
	display: none;
	height: 14px;
	width: 14px;
	overflow: hidden;
	z-index: 2;
	position: absolute;
}
span.corners span span {
	height: 28px;
	width: 28px;
	background-image: url("../img/curves.png");
	overflow: hidden;
	display: block;
	position: relative;
}

span.corners span.ne { top: 0; right: 0; }
span.corners span.ne span { top: -100%; left: 0; }

span.corners span.se { bottom: 0; right: 0; }
span.corners span.se span { top: 0; left: 0; }

span.corners span.sw { bottom: 0; left: 0; }
span.corners span.sw span { top: 0; left: -100%; }

span.corners span.nw { top: 0; left: 0; }
span.corners span.nw span { top: -100%; left: -100%; }

/* page */

div#page {
	width: 800px;
	margin: 0 auto;
	padding: 50px 0;
}

/* header */

div#header {
	position: relative;
	background: url("../img/header_bg.png");
	height: 133px;
}

img#logo {
	position: absolute;
	top: 14px;
	left: 24px;
}

img#phone_number {
	position: absolute;
	top: 36px;
	right: 61px;
}

/* menu */

ul#menu {
	list-style-type: none;
	height: 45px;
	padding: 0 10px 0 12px;
	background: #e6e3d8 url("../img/menu_bar.png") no-repeat 10px 0;
}
ul#menu li {
	list-style-type: none;
	text-transform: lowercase;
	float: left;
}
ul#menu a {
	color: white;
	float: left;
	height: 45px;
	text-decoration: none;
	padding: 0 21px;
	position: relative;
	font-size: 19px;
	cursor: pointer;
}
ul#menu a span {
	float: left;
	height: 41px;
	top: 2px;
	line-height: 38px;
	position: relative;
}
ul#menu a.selected span.linktext,
ul#menu a:hover span.linktext {
	background-color: black;
}

ul#menu a span.linkleft,
ul#menu a span.linkright {
	position: absolute;
	width: 21px;
}

ul#menu a.selected span.linkleft,
ul#menu a:hover span.linkleft {
	left: 0;
	background: url("../img/menu_selected.png") no-repeat top left !important;
	background: none;
}
ul#menu a.selected span.linkright,
ul#menu a:hover span.linkright {
	right: 0;
	background: url("../img/menu_selected.png") no-repeat top right !important;
	background: none;
}

/* main */

div#main {
	padding: 10px;
	background-color: #e6e3d8;
}

div#main a.button {
	position: relative;
	display: block;
	height: 113px;
	width: 206px;
	overflow: hidden;
}
div#main a.button img {
	position: absolute;
	top: 0;
	left: 0;
}
div#main a.button:hover img {
	top: -113px;
	display: inline-block;
}

/* gallery */

div#gallery {
	float: left;
	width: 353px;
}

div#gallery_photo {
	height: 353px;
	width: 353px;
	position: relative;
}

div#gallery_photo img {
	position: absolute;
	top: 0;
	left: 0;
}

div#gallery_caption {
	position: absolute;
	left: 12px;
	bottom: 14px;
	width: 329px;
	height: 59px;
	background: url("../img/caption.png") no-repeat;
	overflow: hidden;
}
div#gallery_caption p {
	color: black;
	padding: 10px 8px 0 10px;
	font-size: 13px;
	line-height: 19px;
}

/* gallery nav */

div#gallery_nav {
	height: 35px;
	padding: 16px 0;
}
div#gallery_nav a,
div#gallery_nav img.label {
	float: left;
}
div#gallery_nav a {
	height: 35px;
	width: 35px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
}
div#gallery_nav a#gallery_prev img {
	position: absolute;
	top: 0;
	left: 0;
}
div#gallery_nav a#gallery_next img {
	position: absolute;
	top: 0;
	left: -35px;
}
div#gallery_nav a#gallery_prev:hover img {
	top: -70px;
	display: inline-block;
}
div#gallery_nav a#gallery_next:hover img {
	top: -70px;
	display: inline-block;
}
div#gallery_nav a#gallery_prev.disabled img {
	top: -35px;
}
div#gallery_nav a#gallery_next.disabled img {
	top: -35px;
}

/* gallery thumbs */

div#gallery_thumb_container {
	width: 354px;
	height: 114px;
	overflow: hidden;
	position: relative;
}

ul#gallery_thumbs {
	list-style-type: none;
	width: 1000px;
	position: relative;
	left: 0;
	top: 0;
}
ul#gallery_thumbs li {
	height: 114px;
	width: 114px;
	float: left;
	margin-right: 6px;
}
ul#gallery_thumbs a {
	position: relative;
	height: 114px;
	width: 114px;
	float: left;
	cursor: pointer;
}
ul#gallery_thumbs a span {
	position: absolute;
	top: 0;
	left: 0;
	height: 114px;
	width: 114px;
	background: url("../img/thumb_overlay.png") no-repeat;
}
ul#gallery_thumbs img {
	display: block;
}

/* inner */

div#inner_main {
	position: relative;
	float: left;
	width: 413px;
	background: url("../img/inner_bg.png") no-repeat bottom left;
	padding-bottom: 20px;
	display: inline;
	margin-left: 13px;
}
div#inner_main span#inner_main_top {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 413px;
	height: 24px;
	background: url("../img/inner_bg_top.png") no-repeat bottom left;
}

div#main div#inner_main a.button {
	margin-top: 40px;
	position: relative;
	left: 151px;
}

/* home */

div#home_photo {
	position: relative;
	width: 228px;
	height: 366px;
	float: left;
}

div#home_main {
	position: relative;
	margin-left: 10px;
	width: 540px;
	height: auto !important;
	height: 366px;
	min-height: 366px;
	background: url("../img/home_bg.png") no-repeat bottom left;
	float: left;
}
div#home_main span#home_main_top {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 540px;
	height: 20px;
	background: url("../img/home_bg_top.png") no-repeat bottom left;
}

div#main div#home_main a.button {
	position: absolute;
	right: 20px;
	bottom: 20px;
}

/* contact us */

div#contact_info {
	position: absolute;
	top: 14px;
	left: 12px;
	height: 209px;
	width: 204px;
	background: url("../img/contact_info_bg.png") no-repeat;
}
div#contact_info div {
	padding: 14px 24px 0 16px;
}
div#contact_info h2 {
	color: #d5242a;
	font-weight: bold;
	font-size: 20px;
	margin: 0 0 10px 0;
}
div#contact_info p {
	margin: 10px 0 14px 0;
	color: black;
	line-height: 20px;
}
div#contact_info p strong,
div#contact_info p a {
	font-weight: bold;
	color: #d5242a;
	text-decoration: none;
}
div#contact_info p a {
	position: relative;
}

/* content */

div#content {
	padding: 24px 24px 0 36px;
}

div#content h1 {
	color: #d5242a;
	font-weight: bold;
	font-size: 20px;
	margin: 0 0 10px 0;
}
div#content h2 {
	color: #434343;
	font-weight: bold;
	font-size: 16px;
	margin: 0 0 10px 0;
}

div#content p {
	margin: 10px 0 14px 0;
	line-height: 19px;
}

div#content ul {
	list-style-type: none;
	margin: 10px 0 14px 0;
	font-size: 15px;
}
div#content li {
	padding: 3px 0 3px 27px;
	background: url("../img/bullet.png") no-repeat 0 3px;
	font-weight: bold;
}
div#content li strong {
	color: #d5242a;
}

/* bottom boxes */

div#bottomboxes {
	background-color: #e6e3d8;
	height: 111px;
}

div.bottombox {
	display: inline;
	position: relative;
	float: left;
	background: url("../img/bottombox_small.png") no-repeat;
	height: 111px;
	width: 228px;
	margin-left: 10px;
}
div.bottombox.large {
	background: url("../img/bottombox_large.png") no-repeat;
	width: 304px;
}

div.bottombox p {
	padding: 14px 14px 0 14px;
	color: #212721;
}
div.bottombox p a {
	font-weight: bold;
}
div.bottombox a.button {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 90px;
	height: 34px;
	overflow: hidden;
}
div.bottombox a.button img {
	position: absolute;
	top: 0;
	left: 0;
}
div.bottombox a.button:hover img {
	top: -34px;
	display: inline-block;
}

/* footer */

div#footer {
	background: url("../img/footer_bg.png");
	height: 136px;
	padding-left: 26px;
}
p#footer_contact {
	color: black;
	font-size: 22px;
	padding-top: 38px;
}
p#footer_contact a,
p#footer_contact strong {
	color: #d5242a;
	font-weight: normal;
	text-decoration: none;
}
p#footer_address {
	color: black;
	font-size: 12px;
	padding-top: 11px;
}
p#footer_address span.footer_address {
	color: #5a5a5a;
}
p#footer_links {
	padding-top: 10px;
	font-size: 13px;
}
p#footer_links a {
	text-decoration: none;
}

/* misc */

div.clear {
	clear: both;
	overflow: hidden;
	height: 0;
}


/* Form */

form {
	margin: 0px;
	margin-bottom: 10px;
}

form fieldset {
	margin: 0px;
	padding: 0px;
	border-width: 0px;
}

input.text {
	border: 1px solid #cccccc;
	padding: 4px;
	font-size:12px;
	margin: 0px;
	width: 180px;
	background-color: white;
}

textarea {
	border: 1px solid #cccccc;
	font-family: sans-serif;
	width: 308px;
	padding: 4px;
}

form div.input {
	padding-top: 6px;
}

form div.field {
	padding-top: 5px;
	background-color: #f5f5f5;
}

form div.field_label {
	float: left;
	width: 150px;
}

form div.field_label label {
	display: block;
	padding-right: 10px;
	padding-top: 6px;
	text-align: right;
	color: #5a5a5a;
	font-size: 13px;
}

form div.field_input {
	margin-left: 150px;
}


fieldset div.error  {
	margin-top: 5px;
}

div.field.error {
	border: none;
	margin-top: 0px;
}

div.field.error p.error {
	margin-top: 0px !important;
}

div.error {
	background-color: #ffa79b !important;
	border: 1px solid #b91600;
	padding: 0px !important;
}

div.error p.error {
	font-size: 13px !important;
	font-weight: bold !important;
	color: #b91600 !important;
	padding: 3px 0px 3px 26px !important;
	margin: 5px 10px 5px 6px !important;
	background-image: url("../img/backroom/error_icon.png") !important;
	background-position: 0px 0px !important;
	background-repeat: no-repeat !important;
}

p.error a {
	color: #7b0f00;
}

form div.field_div {
	clear: both;
	padding-top: 5px;
	border-bottom: 1px solid #dfdfdf;
}
form div.field_div.thicker {
	border-bottom: 2px solid #dfdfdf;
}

form div.field_div label {
	float: left;
}

input.submit {
	margin-top: 6px;
	margin-right: 12px;
	margin-bottom: 10px;
	float: right;
}

input.text {
	width: 260px;
}

input.text:active,
input.text:focus,
textarea:active,
textarea:focus {
	border-color: #300d0f;
}

.asterisk {
	font-size: 22px;
	font-weight: bold;
	color: #d5242a;
	line-height: 10px;
	position: relative;
	top: 3px;
	left: -1px;
}
