body, td{
	font-family: Arial, Helvetica, sans-serif; 
	font-size: 12px;
	color: #333;/*default colour for text*/
	padding:0;
	margin:0;}

a {text-decoration:underline; color:black;}
a:hover {text-decoration:underline;}
a:active {color:silver;}
a.sel {color:#f76c97;}
img{border:0;}
h1, h2, h3, h4, h5 {margin:0.3em 12px 0.3em 12px;position:relative; }
h1 {font-size:1.3em;}
h2 {font-size:1.2em;}
h3 {font-size:1.1em;}
h4 {font-size:1.1em;}
h5 {font-size:1.1em;}
p {margin:0.5em 12px 0.6em 12px;padding:0;vertical-align:top;position:relative;}
br {line-height:0.2em;padding:0;margin:0;}
caption {text-align:left;margin:0.4em 12px 0.4em 12px;padding:0;}
table {margin:0.4em 10px 0.4em 10px;padding:0;vertical-align:bottom;position:relative;}
td {text-align:left;padding:2px;margin:0;vertical-align:bottom;border-top:1px #c4e2f4 solid;font-size:0.9em;}
th {text-align:left;padding:2px;font-size:10px;color:#1c8095;}
td p {margin:0.1em 1px;padding:0;}
ol,ul {padding:0; margin:0.4em 12px;}
li {padding:0;margin:0.2em 0 0 2em;}
ul li {zoom:1;}
ol li {	list-style-type: decimal;	display: list-item;}
em {}

.fr {float:right;display:inline;}
.fl {float:left;display:inline;}
.ar{text-align:right;}
.ac{text-align:center;}
.al{text-align:left;}

a.arrowright {
	font-weight:bold;
	background:url(/images/bg_linkarrow_right.gif) no-repeat right center;
	padding-right: 12px;
	text-decoration: none;
}
a.arrowleft {
	font-weight:bold;
	background:url(/images/bg_linkarrow_left.gif) no-repeat left center;
	padding-left: 12px;
	text-decoration: none;
}
h3 a {
	text-decoration: none;
}

body {
	/*default background*/
	background:white;
	position:relative;
	}
#footer{
	color:#666;
	position:relative;
	font-size:0.9em;
}
#footer a {
	text-decoration: none;
}
#footer p.langswitch {
	float: right;
	z-index: 1;
}
/*other stuff*/
#header,
#container,
#footer {
	width:920px;
	margin:0px auto;
	position:relative;
	overflow:hidden;
}

#content {
	width:100%;
	padding:0 0 2em 0;
	overflow:hidden;
	min-height:35em;
}
.home #content {
	/*width:760px;*/
	padding:0;
	z-index:10;
	min-height:4em;
	overflow:visible; /*needed to show the overlay*/
}
#content.narrow {
	width:710px;
	float:right;
}
#side {
	width:200px;
	float:left;
	padding-top:1.2em;
}

/*////////////////
*	Header stuff
////////////////*/
#header{
	/*Aim for overall height of 165px*/
	padding:51px 0 20px 0;
	overflow:hidden;
}
#header h1{
	/*Image height 65px*/
	position:absolute;	
	top:33px;
	left:10px;
	margin:0;
	}

#header div.menu {
	position:relative;
	margin:0;
	zoom:1;
	width:100%;
}
#header ul {
	float:right;
	margin:0;
	z-index:100;
}
#header .menu li {
	float:left;
	display:inline;
	margin:0 0 0 2px;
	padding:2px 0 4px 0;
	position:relative;
	list-style-type: none;
	list-style-image: none;
	zoom:1;
}
#header .menu li a {
	text-decoration:none;
	margin:4px;
	color:#333;
}
#header .menu li a.sel {
	font-weight:bold;
	color:#000;
}
#header .menu li a:hover {
	color:#990100;
}


/*////////////////
*	sidebar content stuff
////////////////*/

#side ul.menu {
	list-style-type: none;
	list-style-image: none;
	display:block;
	position:relative;
	margin:top:1em;
	margin-bottom:2em;
	}

#side .menu li {
	list-style-type: none;
	list-style-image: none;
	display:block;
	position:relative;
	zoom:1;
	margin:0.4em 0;
}
#side li a {
	color:black;
	text-decoration:none;
}

#side li.sel a {
	font-weight:bold;
	color:#000;
}

#side li a:hover {
	color:black;
	text-decoration:underline;
}
#side li div.rx,
#side li div.ry {
	width:10px;
	zoom:1;}

/*////////////////
*	MultiBlock content stuff
////////////////*/

#container h1 {
	margin-top:1em;
}

/*general*/
#container div.img p,
#container div.imghalf p{
	/*image note*/
	font-size:0.85em;
	margin: 0.4em 18px 0.4em 10px;
}
#container .impact {
	background-color:#81cf12;
	padding:8px 0;/*make room for corners*/
	color:white;
}
#container p.seemore {
	position:relative;
	overflow:hidden;
}
#container p.seemore a {
	background:transparent url(/images/bg_seemore.gif) no-repeat left center;
	color:white;
	padding:2px 0px 2px 12px;
	text-decoration:none;
	line-height:1.4em;
}
#container p.seemore a.buynow {
	background:transparent url(/images/bg_seemore_cart.gif) no-repeat left center;
	padding-left:34px;
}
#container p.seemore a:hover {
	color:black;
}
#container p.seemore a span {
	background:transparent url(/images/bg_seemore_tail.gif) no-repeat right center;
	padding:3px 12px 3px 0px;
}
#container .impact p.seemore a {
	background:transparent url(/images/bg_seemore_impact.gif) no-repeat left center;
	color:black;
}
#container .impact p.seemore a span {
	background:transparent url(/images/bg_seemore_impact_tail.gif) no-repeat right center;
}

/*////////////////
*	#content specific
////////////////*/
#content .fr {float:right;display:inline;clear:right;}
#content .fl {float:left;display:inline;clear:left;}

#content div.imghalf.fl {margin-right:8px;}

#content div.leveler{clear:both;}
#content .smallblock,
#content .fullblock,
#content .halfblock,
#content .fullimg {
	margin:10px 10px;
	/*margin:1px 0 1px 0;*/
	padding:8px 0;
	position:relative;
	overflow:hidden;
	}
#content .smallblock {
	font-size:0.9em;
	width:440px;
}	
#content .halfblock {
	width:440px;
	position:relative;
	}
#content .fullblock,
#content .fullimg {
	clear:both;
	width:96%;
}
#content .fullimg div.img {
	background:white url(/images/bg_fullimg_bot.gif) no-repeat right bottom;
	/*width:530px;*/
	padding:0 0 0 0;
	margin:1px auto;
}
#content .fullimg div.img div {
	padding:0 0 18px 0;
	background: url(/images/bg_fullimg_left.gif) no-repeat left bottom;
}
#content .fullimg div.img img.full {
	/*width:502px;*/
	padding:10px 18px 00px 10px;
	background:transparent url(/images/bg_fullimg_top.gif) no-repeat right top;
}


#content  div.imghalf {
	width:402px;
	padding:0px;
}
#content div.imghalf img {
	width:400px;
	padding:0;
	border:1px #333 solid;
}
#content .impact div.imghalf {
	background:#333;
}

#content .smallblock p,
#content .smallblock h3,
#content .smallblock div {
	margin:0.1em 0 0.1em 0;
	line-height:130%;
	padding:0;
}

#content .smallblock p {
	margin-left:128px;
	margin-bottom:1.5em;
}

#content .smallblock div.img {
	/*image container*/
	margin-right:8px;
	float:left;
	clear:left;
	display:inline;
	position:relative;
	width:120px;
	height:120px;
	z-index:100;
}
#content .smallblock div.img img {
	width:120px;
	height:120px;
}
	
#content .smallblock p.seemore {
	position:absolute;
	bottom:1px;
	right:1px;
	margin:0;
}
/*////////////////
	Lang choice page
////////////////*/
.choose #content{
	padding-top:15em;
}
.choose p.lang{
	margin-top:8em;
	position:relative;
	height:40px;
}
.choose p.lang a{
	width:120px;
	height:25px;
	display:block;
	position:absolute;
}
.choose p.lang a span {
	display:none;
	visibility:hidden;
}
.choose a.en{
	background:url(/images/bg_lang_en.gif) no-repeat left top;
	left:52%;
}
.choose a.es{
	background:url(/images/bg_lang_es.gif) no-repeat left top;
	right:52%;
}

/*////////////////
	Homepage stuff
////////////////*/
#content .homepageblock {
	background:#9adcfd url(/images/hp_overlay_bot.jpg) no-repeat left top;
	position:relative;
	padding:0;
	margin:0;
	height:233px;
}
#content .homepageblock div.inner {
	/*the text block*/
	height:233px;
	width:304px;
	padding-left:456px;
	font-size:0.9em;
	overflow:hidden;
}
#content .homepageblock div.overlay {
	/*This contains just the foreheads : Need to keep width to a minium to reduce interference with the menu */
	background:transparent url(/images/hp_overlay_top.png) no-repeat left top;
	_background:none;
	width:337px;
	height:57px;
	position:absolute;
	top:-57px;
	z-index:1000;
}

#content .homepageblock a {
	font-weight:bold;
	color:#ef4b18;
}

.home #content .codeblock {
	margin:0;
	padding:0;
}





/*////////////////
*	Main menu
////////////////*/

p.menu{
	text-align:right;
	font-size:1.1em;
}

p.menu a.cart {
	padding-right:17px;
	background:transparent url(/images/bg_cartlink.gif) right center no-repeat;
}

div.submenu {
	margin:0;
	position:relative;
	padding:0;
	background:#f9f9f9 url(/images/bg_submenu_shadow.gif) left top repeat-x;
	border-top:1px #fff solid;
	border-bottom:1px #f2f1f1 solid;
}
div.submenu p{
	text-align:right;
	font-size:1em;
	margin-top:0px;
	margin-bottom:0px;
	color:dimgray;
}
div.submenu a{
	color:#68a351;
}

/*popupimage*/
body.popupimg{
  }
	
/*
*	Homepage gallery
*/

body.home .gallery {
	width:800px;
	margin:10px auto;
	position:relative;
	overflow:hidden;
}
body.home .gallery tr {
	position:relative;
}
.thumb {
	width:150px;
	position:relative;
	border:none;
	margin:5px;
	float:left;
	display:inline; /*IE6*/
	zoom:1;
	_margin:4px; /*IE6*/
}
.thumb img {
	width:150px;
	height:150px;
	border:1px gray solid;
}
.thumb span.caption {
	/*Total height of 150px*/
	position:absolute;
	width:142px;
	height:90px;
	padding-top:60px;
	padding-left:4px;
	padding-right:4px;
	top:0;
	left:0;
	display:none;
	border:1px gray solid;
}
.thumb a {
	text-decoration: none;
}

.thumb a:hover span.caption {
	display:block;
	background:white;
	color:black;
	text-align:center;
	vertical-align:middle;
	text-decoration: none;
	cursor: pointer;
}

/*mini gallery*/
#item {
	overflow:hidden;
}
#item .gallery {
	width:280px;
	float:right;
	position:relative;
	overflow:hidden;
}
#item .gallery .thumb {
	width:80px;
}
#item .gallery .thumb img {
	width:80px;
	height:80px;
}
#item span.caption {
	/*Total height of 80px*/
	position:absolute;
	width:80px;
	height:50px;
	padding-top:30px;
	border:1px gray solid;
	top:0;
	left:0;
	display:none;
	font-size:0.9em;
}
#item .gallery .thumb a:hover span.caption {
	display:block;
	background:white;
	color:black;
	text-align:center;
	vertical-align:middle;
}

/*display layout for photo or photographer*/
#item .main {
	width:426px;
	margin:0;
	padding:0;
	float:left;
}
#item .info {
	width:280px;
	float:right;
}
#item img {
	/*border:1px #333 solid;*/
}
/*book*/
#book {
	overflow:hidden;
}

#book .main{
	width:310px;
	float:left;
}
#book img {
	border:1px #333 solid;
	height:auto;
}
#book .gallery {
	position:relative;
	overflow:hidden;
}
#book .gallery .thumb {
	width:180px;
}
#book .gallery .thumb img {
	width:180px;
}
#book span.caption {
	display:block;
	position:relative;
	width:auto;
	height:auto;
	border:none;
	padding:0;
}

/*Books intro list*/
.booklist {
	position:relative;
	overflow:hidden;
	width:780px;
	margin:1px auto;
}
.booklist .book {
	width:182px;
	position:relative;
	border:none;
	margin:5px;
	float:left;
}
.booklist .book img{
	/*border:1px #333 solid;*/
}
.booklist .book .caption{
	clear:both;
	display:block;
}

/*owners list*/
div.owner {
	overflow:hidden;
}

/*////////////////
*	Contact Form
////////////////*/

input, select, textarea{
	border:1px #333 solid;
	width:26em;
	font-family: Arial, Helvetica, sans-serif;
	font-size:12px;
	padding:1px 2px;
}
input.chbx {width:auto;border:none;}

div.formElement {
	position:relative;
	clear:both;
	padding:1px 0;
	zoom:1;
	overflow:hidden;
	}

div.formElement.invalid {
	position:relative;
	border-top: 1px #ff0000 dotted;
	border-bottom: 1px #ff0000 dotted;
	padding: 2px 1px 2px 1px;
	margin: 3px 0px 3px 0px;
	background-color: #eee;
	vertical-align: top;
	display: block;
	white-space: nowrap;}

div.formElement.valid {
	position:relative;
	/*height:1%;*/
	padding: 1px 2px 1px 2px;
	margin: 0px 0px 2px 0px;
	display: block;
	white-space: nowrap;}
	
Xdiv.formElement.invalid.required input {background-color: #eee;}
Xdiv.formElement.invalid.required option {background-color: #eee;}

Xdiv.formElement.valid.required input,
Xdiv.formElement.valid.required option,
Xdiv.formElement.valid.required textarea {background-color: #eee;}


div.label,
label.blk {
	display:inline;
	float: left;
	clear: none;
	color: #333;
	margin-top: 2px;
	margin-right:5px;
	text-align: right;
	vertical-align: top;
	width:10em;
	}
div.input,
span.blk {
	display:inline;
	margin-right:2px;
	float:left;
	clear:none;
	}

div#invalidFormHeader {
	position:relative;
	/*height:1%;*/
	/*border: 2px #ff0000 dashed;*/
	padding: 4px 20px 4px 20px;
	font-size: 13px;
	background: gold url("/admin/images/bg_errorheader.gif") top left repeat-x;
	color: black;
	font-weight: bold;
	}

div.errTxt {
	margin-top: 3px;
	padding: 2px 2px 0px 1em;
	color: #0000a0;
	font-weight: bold;
	vertical-align: top;
}

div.hintreq:first-letter {
	color: red;
	margin-left: -1em;
}
	
div.hintreq {
	float:left;
	clear:none;
	display:inline;
	margin-top: 3px;
	padding: 2px 2px 0px 1em;
	color: #0000a0;
	font-size:11px;
	vertical-align: top;
}

div.outputtext {
	float:left;
	clear:none;
	margin-top: 3px;
	padding: 2px 2px 0px 2px;
	font-size:11px;
	vertical-align: top;
}

div.hint {
	float:left;
	clear:none;
	margin-top: 2px;
	padding: 2px 2px 0px 1em;
	color: #0000a0;
	font-size:11px;
	vertical-align: top;
}

