body {
	background: #ddd;
	font-family: sans-serif;
}

/* header */
div#header, div#footer {
	margin: 0;
	padding: 1em;
	background: #444;
	color: #fff;
	text-align: center;
}
div#header {
	margin-bottom: 2em;
}
div#footer {
	margin-top: 2em;
}
div#header h1 {
	padding: 0;
	margin: 0;
}
div#header h1 a {
	text-decoration: none;
	color: #fff;
}
div#footer p {
	padding: 0.5em 0;
	margin: 0;
}
div#header p {
	font-size: 80%;
	margin: 1em 0 0 0;
	padding: 0;
}
div#footer p a, div#footer p a:visited,
div#header p a, div#header p a:visited {
	color: #0ff;
}
div#footer p a:focus, div#footer p a:hover, div#footer p a:active,
div#header p a:focus, div#header p a:hover, div#header p a:active {
	color: #0f0;
}

/* content */
div#content p a, div#content p a:visited {
	color: #00f;
}
div#content p a:focus, div#content p a:hover, div#content p a:active {
	color: #080;
}
p.fail, span.fail {
	font-weight: bold;
	font-size: 120%;
	background: #ff0;
	color: #800;
	padding: 0.5em;
}
p.succeed, span.succeed {
	font-weight: bold;
	font-size: 120%;
	background: #0f0;
	color: #000;
	padding: 0.5em;
}
p small {
	font-size: 80%;
}
div#content form p label {
	font-weight: bold;
	vertical-align: top;
    width: 15em;
    float: left;
    text-align: right;
    margin-right: 0.5em;
}
div#content form p label em, div#content p span.requiredlabel {
	color: #f00;
	font-weight: bold;
	font-style: italic;
}
body.upload div#content form p img {
	vertical-align: middle;
}
body.upload div#content form p span.rotateoption {
	width: 200px;
	margin: 0 32px 0 0;
}
body.upload div#content form p span.rotateoption input[type="radio"] {
	margin-right: 20px;
}

p.admin, span.admin, div.admin {
	color: #000;
	background: #ff0;
}
p.admin, div.admin {
	padding: 0.5em;
}
span.admin {
	padding: 0 0.5em;
}

/* photo navigation */
div#content ul.photonav {
	width: 90%;
	position: relative;
	height: 2em;
	list-style-type: none;
	margin: 32px auto;
	padding: 0;
}
div#content ul.photonav li {
	position: absolute;
	font-weight: bold;
}
div#content ul.photonav li a, div#content ul.photonav li a:link, div#content ul.photonav li a:visited {
	color: #080;
	text-decoration: none;
}
div#content ul.photonav li a:hover, div#content ul.photonav li a:focus, div#content ul.photonav li a:active {
	color: #080;
	background-color: #0f0;
}
div#content ul.photonav li.first {
	left: 0;
}
div#content ul.photonav li.prev {
	left: 8em;
}
div#content ul.photonav li.next {
	right: 8em;
}
div#content ul.photonav li.last {
	right: 0;
}
div#content div.photocomment {
	font-style: italic;
    padding: 0.25em 0.75em;
    background: #eee;
    margin: 1em 0;
}

/* page navigation */
div.pagenav {
	font-size: 90%;
	padding: 0;
	margin: 4px 0 4px 0;
	overflow: hidden;
	clear: both;
}
* html div.pagenav {
	width: 100%;
}
div.pagenav p {
	float: left;
	padding: 0;
	margin: 0;
}
div.pagenav ul {
	float: right;
	padding: 0;
	margin: 0;
	right: 0;
	list-style-type: none;
}
div.pagenav ul li {
	float: left;
	width: 3.5em;
	text-align: center;
	color: #f00;
	padding: 0;
	line-height: 100%;
}
div.pagenav ul li.prevnext, div.pagenav ul li.prevnext a {
	font-weight: bold;
}
div.pagenav ul li.pagenum a, div.pagenav ul li.firstlast a {
	text-decoration: underline;
}
div.pagenav ul li a {
	display: block;
	text-decoration: none;
}
div.pagenav ul li a, div.pagenav ul li a:link, div.pagenav ul li a:visited {
	color: #080;
}
div.pagenav ul li a:hover, div.pagenav ul li a:active {
	color: #080;
	background-color: #0f0;
}

/* maps */
div#map {
	width: 500px;
	height: 500px;
}
div#mapinput {
	display: none;
}
body.search div#mapinput div#map {
	width: 600px;
	height: 250px;
}
body.upload div#mapinput div#map {
    margin-left: 15em;
}

/* images on index page */
body.index table.imagelist {
	margin: 0;
	padding: 6px 0;
	border: 0;
	background: #888;
	border-collapse: separate;
	border-spacing: 8px 1px;
}
body.index table.imagelist tbody tr td {
	vertical-align: middle;
	text-align: center;
}
body.index table.imagelist tbody tr td img {
	border: none;
}

/* user list */
body.userlist table {
	border-collapse: collapse;
	table-layout: auto;
	font-size: 90%;
	width: 100%;
}
body.userlist table thead tr th {
	font-weight: bold;
	background-color: #CCC;
	color: #000;
}
body.userlist table tbody tr td {
	background-color: #FFF;
	color: #000;
}
body.userlist table tbody tr td,
body.userlist table thead tr th {
	padding: 2px 8px 2px 8px;
	border-width: 2px 0px 2px 0px;
	border-style: solid;
	border-color: #ddd;
	text-align: left;
	vertical-align: top;
}


/* search form */
body.search form {
	margin: 0 0 2em 0;
	padding: 0.25em 1em;
	background: #ccc;
}

body.search table.imagelist {
	margin: 0;
	padding: 0;
	border-collapse: separate;
	border-spacing: 0 8px;
	font-size: 85%;
}
body.search table.imagelist tbody tr {
	background: #fff;
}
body.search table.imagelist tbody tr td {
	vertical-align: top;
	padding: 8px;
	line-height: 150%;
}

