/* --- HTML + Body --- */

html {
	height: 100%;
	margin: 0;
	padding: 0;
	width: 100%;
}
body {
	font-family: "Trebuchet MS", "Arial", sans-serif;
	font-size: small;
	height: 100%;
	margin: 0;
	padding: 0;
	width: 100%;
}
#maindiv {
	height: 100%;
	width: 100%;
}

/* --- Globals --- */

a {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a img {
	border: none;
}
blockquote {
	font-style: italic;
	margin: 0;
	padding: 2em;
}
.boxlink {
	padding: 0.2em 0.5em 0.2em 0.5em;
}
.bulletlist {
	list-style-type: square;
	margin-left: 2em;
}
code {
	display: block;
	font-family: "Bitstream Vera Sans Mono", monospace;
	font-size: 1em;
	margin: 0;
	padding: 2em;
}
.errorpointer,
.hiddenpointer {
	font-family: "Verdana";
	font-weight: bold;
}
.errortext {
	font-weight: bold;
}
.faketable {
	border: none;
	padding: 0;
}
.faketable td {
	margin: 0;
	padding: 0;
}
.flatlinklist li {
	display: inline;
	list-style-type: none;
	white-space: nowrap;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
}
h1 {
	font-size: 2em;
}
h2 {
	font-size: 1.5em;
}
h3 {
	font-size: 1.2em;
}
img {
	vertical-align: middle;
}
input {
	font-family: "Trebuchet MS", "Arial", sans-serif;
}
.oneline {
	overflow: hidden;
	white-space: nowrap;
}
.popup {
	white-space: nowrap;
}
.popup img {
	display: none;
	position: absolute;
}
q.pullquote {
	float: right;
	font-size: 1.2em;
	font-style: italic;
	font-weight: bold;
	margin: 1em 0 1em 1em;
	padding: 1em;
	width: 10em;
}
q.pullquote:after,
q.pullquote:before {
	content: '';
}
select,
textarea {
	font-family: "Trebuchet MS", "Arial", sans-serif;
	font-size: 1em;
}
.separated {
	margin-top: 3em;
}
ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.u {
	text-decoration: underline;
}
var {
	font-family: "Bitstream Vera Sans Mono", monospace;
	font-style: normal;
	font-size: 1em;
}

/* --- Header --- */

#header {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
}
#headerbackground {
	position: absolute;
	top: 0;
	left: 0;

	height: 51px;
	width: 100%;
}
#headercontent_photo {
	padding-right: 10em;	/* : MARGIN_PHOTO */
	padding-left: 10em;		/* = MARGIN_PHOTO */
}
#headercontent {
	padding-right: 18em;	/* : RIGHTSIDE_WIDTH */
	padding-left: 10em;		/* : LEFTSIDE_WIDTH */
}
#headerlinks {
	padding-top: 5px;
	margin-right: 200px;	/* = fn(MINIPHOTOFRAME_WIDTH) */
}
#headerlinks a {
	text-decoration: none;
}
#headerlinks a:hover,
#headerlinks .selected {
	padding-top: 5px;
}
#headershadow {
	position: absolute;
	top: 51px;
	left: 0;

	height: 15px;			/* = SHADOW_HEIGHT */
	width: 100%;
}
#logo {
	float: left;

	cursor: pointer;
	height: 92px;			/* = LOGO_HEIGHT */
	width: 95px;			/* = LOGO_WIDTH */
}
#miniphoto {
	position: relative;
	top: 27px;
	left: 25px;
}
#miniphotoframe {
	position: absolute;
	top: 0;
	right: 0;

	margin-right: 18em;		/* = RIGHTSIDE_WIDTH */
}
#miniphotoframe #latestphotoblog {
	position: relative;
	top: -5px;
	left: 43px;

	font-size: 0.85em;
	font-weight: bold;
	margin-left: 25px;
}
#miniphotoframe div {
	position: relative;
	left: 43px;

	height: 173px;			/* : MINIPHOTOFRAME_HEIGHT */
	width: 229px;			/* : MINIPHOTOFRAME_WIDTH */
}
#miniphotocutout {
	float: right;

	height: 66px;			/* = fn(MINIPHOTOFRAME_HEIGHT) */
	margin: 0 0 1em 1em;
	width: 170px;			/* = fn(MINIPHOTOFRAME_WIDTH) */
}
#papercontent #loginnotice {
	font-size: 0.85em;
	margin-top: 1em;
	margin-bottom: 3em;
	padding: 1em;
}
#photoprimary #loginnotice {
	font-size: 0.85em;
	margin: 1em 0 2em 20em;
	padding: 1em;
}
#sitetitle {
	cursor: pointer;
	height: 51px;
	margin-left: 95px;		/* = LOGO_WIDTH */
	width: 105px;
}
#sitetitle span {
	display: none;
}

/* --- Message Boxes --- */

#errorbox,
#noticebox,
#successbox {
	cursor: pointer;
	margin: 1em;
	padding: 1em;
	padding-top: 0.5em;
	position: fixed;
	top: 0;
	right: 0;
	text-align: center;
	width: 30em;
	z-index: 1000;
}
#errorbox li,
#noticebox li,
#successbox li {
	padding-top: 0.5em;
}
.closebox {
	padding: 2px;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 0.8em;
}

/* --- Page Structure --- */

#photoprimary {
	padding-top: 92px;		/* = fn(MINIPHOTOFRAME_HEIGHT), just for consistency */
}
#primary {
	padding-top: 92px;		/* = fn(MINIPHOTOFRAME_HEIGHT) */
	padding-right: 18em;	/* = RIGHTSIDE_WIDTH */
	padding-left: 10em;		/* = LEFTSIDE_WIDTH */
}
#sidebar,
#sidebar_front {
	position: absolute;
	top: 0;
	right: 0;

	margin-right: 1em;		/* : RIGHTSIDE_MARGIN */
	width: 17em;			/* = RIGHTSIDE_WIDTH - RIGHTSIDE_MARGIN */
}
#sidebar {
	margin-top: 107px;		/* = fn(MINIPHOTOFRAME_HEIGHT) */
}
#sidebar_front {
	margin-top: 180px;		/* = fn(MINIPHOTOFRAME_HEIGHT) */
}

/* --- Paper --- */

#paperborder_top,
#paperborder_bottom {
	height: 15px;			/* = PAPER_BORDER_SIZE */
}
#paperborder_left,
#paperborder_right {
	width: 15px;			/* = PAPER_BORDER_SIZE */
}
#papercontent {
	padding: 1em 2em 250px 61px;	/* bottom = fn(FOOTERIMAGE_HEIGHT), left = CLIP_WIDTH - 23px */
}
#papercontent a {
	text-decoration: underline;
}
#papercontent a:hover {
	text-decoration: none;
}
#papercontent .hiddenlinks a {
	text-decoration: none;
}
#papercontent .hiddenlinks a:hover {
	text-decoration: underline;
}
#papercontent .tagcloud {
	text-align: justify;
}
#papercontent .tagcloud a {
	padding: 0 0.2em 0 0.2em;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}
#papercontent .tagcloud a:hover {
	text-decoration: underline;
}

/* --- Photo --- */

#photo .faketable {
	width: 100%;
}
#photo table table {
	margin: auto;
}
#photoborder_top,
#photoborder_bottom {
	height: 15px;
}
#photoborder_left,
#photoborder_right {
	width: 15px;
}
#photo_center {
	font-size: 1px;			/* stupid IE */
	line-height: 0;			/* stupid Mozilla */
	padding: 5px;
	vertical-align: top;
}
#photoarchives {
	margin: auto;
	padding-top: 3em;
	padding-bottom: 5em;
	width: 944px;
}
#photooverlay_previous,
#photooverlay_next {
	background: url("images/spacer.gif");
	cursor: pointer;
	display: block;
	position: absolute;
}
#phototext {
	padding: 3em 18em 10em 18em;		/* left, right = RIGHTSIDE_WIDTH */
}
#phototext a {
	text-decoration: underline;
}
#phototext a:hover {
	text-decoration: none;
}
#phototext .hiddenlinks a {
	text-decoration: none;
}
#phototext .hiddenlinks a:hover {
	text-decoration: underline;
}

/* --- Main Content Area --- */

.bloglinks {
	margin-top: 2em;
}
.comment,
.comment_photo {
	position: relative;
	left: -1em;

	padding: 1.5em 1em 1.5em 1em;
}
#commentform .blurlabel {
	display: block;
}
#commentform li {
	margin-bottom: 0.4em;
}
#commentform .textinput {
	width: 20em;
}
#commentform #body {
	height: 6em;
	width: 80%;
}
#keyboardnotice {
	font-size: 0.85em;
	margin-top: 4em;
}
.photoblogmonth {
	margin-top: 3em;
}
.photoblogmonth h1 {
	margin: 6px;
	position: absolute;
}
.photoblogmonth td {
	height: 88px;
	line-height: 0;			/* stupid Mozilla */
	vertical-align: top;
	width: 128px;
}
.photoblogmonth td span {
	line-height: 1em;
	margin: 8px 0 0 8px;
	position: absolute;
	padding: 0.1em;
}
.photoblogmonth td img {
	margin: 4px;
}
.photoblogmonth .shift {
	position: relative;
	top: 6em;

	margin-bottom: 6em;
}
.sidenotes {
	position: absolute;

	line-height: 1.1em;
	margin-left: -9em;		/* = LEFTSIDE_WIDTH - 1em */
	width: 9em;				/* = LEFTSIDE_WIDTH - 1em */
}
.sidenotes_photo {
	position: absolute;

	line-height: 1.1em;
	margin-left: -14em;		/* = LEFTSIDE_WIDTH - 1em !!! */
	width: 14em;			/* = LEFTSIDE_WIDTH - 1em */
}
.sidenotes ul {
	position: relative;
	left: -80px;			/* = fn(CLIP_WIDTH) */

	font-size: 0.85em;
	text-align: right;
}
.sidenotes_photo ul {
	position: relative;
	left: -3em;

	font-size: 0.85em;
	text-align: right;
}
.sidenotes a,
.sidenotes_photo a {
	text-decoration: none !important;
}
.sidenotes a:hover,
.sidenotes_photo a:hover {
	text-decoration: underline !important;
}
.title {
	margin-top: 1em;
	margin-bottom: 0.8em;
}
.title span {
	position: absolute;
	vertical-align: middle;

	height: 55px;
	margin-top: -11px;		/* = fn(CLIP_HEIGHT) */
	margin-left: -84px;		/* = CLIP_WIDTH */
	width: 84px;
}

/* --- Admin Components --- */

#adminform #body {
	height: 30em;
}
#adminform .title .textinput {
	font-size: 2em;
	font-weight: bold;
}
#adminform .textinput,
#adminform .sidenotes select,
#adminform .sidenotes_photo select,
#adminform textarea {
	width: 99%;
}
#adminform textarea {
	height: 5em;
}

/* --- Sidebar --- */

.sidebarcontent {
	font-size: 0.85em;
	padding: 1em 0 3em 1.5em;
}
.sidebarcontent li {
	list-style-type: square;
}
.sidebartitle {
	padding-top: 2px;
}
.sidebartitle span {
	font-weight: bold;
}

/* --- Dialogs --- */

#dialogoverlay {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
}
#dialogoverlay[id] {			/* meant for new browsers only */
	background-image: url("images/shadow.png");
}
#dialogoverlay .faketable {
	width: 100%;
	height: 100%;
}
#dialogoverlay .faketable td {
	vertical-align: middle;
}
.dialog {
	display: none;
}
.dialogcontent {
	margin: auto;
}

/* --- Footer --- */

#footer {
	margin: 1em 18em 0 10em;		/* right = RIGHTSIDE_WIDTH, left = LEFTSIDE_WIDTH */
	padding: 0 15px 1em 15px;		/* left, right = PAPER_BORDER_SIZE */
}
#footer_photo {
	margin: 1em 18em 0 18em;		/* left, right = RIGHTSIDE_WIDTH */
	padding-bottom: 1em;
}
.footersection {
	margin-bottom: 1em;
	padding-bottom: 1em;
}
#feedicon {
	padding-top: 0.1em;
	position: absolute;
}
#feedlinks {
	padding-left: 24px;
}
