/* Malarkey Image Replacement (MIR) 
 * cf: http://www.stuffandnonsense.co.uk/archives/examples/malarkey-method-example.html
 */
.mir { letter-spacing : -1000em; }
/* Just for Opera, but hide from MacIE */
/*\*/html>body .mir { letter-spacing : normal; text-indent : -999em; overflow : hidden;}
/* End of hack */

body h1 { margin-top: 0; }
body table { font-size: 13px; }
body table td,
body table th {
	border: solid 1px #222;
	padding: 2px 4px 2px 4px; }
body table caption {
	font-weight: bold;
	margin-top: 1em; }
body h1 + table caption {
	margin-top: 0;
}
body img { border-style: none; }
body .notice { margin-left: 0.5em; font-weight: bold; color: white; }
body .warning { border: solid 1px #F99; background-color: #933;
	padding: 0.5em; width: 540px; }
body .warning * { margin: 0; }
img.class-icon { vertical-align: -4px; width: 18px; height: 18px; }
h2 + p.subhead { margin-top: -1.6em; font-size: 1.0em;
                 color: #994; }
th.empty, td.empty { border: none; }

.expected { color: #6F6; }
.unexpected { color: #F66; }
.unsigned { color: #FFF; }
.frozen { color: #77F; }

table.calendar caption { font-weight: bold; margin-top: 0.6em;
	width: 380px;
	padding-top: 0.4em; padding-bottom: 0.1em; }
table.calendar caption a {
	padding: 0px 3px 1px 3px;
	margin: 0px 2px 0px 2px;
	text-decoration: none; }
table.calendar { float: left;
	margin-right: 0.8em;
	margin-bottom: 0.8em; }
table.key { float: left; clear: both; margin-top: 0.25em;
            margin-right: 22px; width: 358px; }
table.key tbody.collapsed tr { display: none; }
.raidlead-options { background-color: #233; 
		border: solid 1px #344; padding: 0.5em; }
.raidlead-options a.important { font-weight: bold; }
table.calendar tbody td { color: white;
	width: 40px; height: 50px;
	vertical-align: top;
	padding-bottom: 0px;
	font-family: "times new roman", serif;
	line-height: 1.1em;
	background-image: url('/themes/sf3/img/sf-50x50-bg.png'); }
table.calendar tbody td a:link,
table.calendar tbody td a:visited { color: white; }
table.calendar tbody td a:hover { color: #ffff66; }
table.calendar tbody td.today a:link,
table.calendar tbody td.today a:visited { color: yellow; }
table.calendar tbody td.today a:hover { color: white; }
table.calendar tbody td img {
        border: solid 1px white; margin-right: 2px; }
table.calendar .available-bar { position: absolute; right: 0;
	border: solid 1px black; background-color: white; overflow: hidden; }
table.calendar .available-bar.underfull { background-color: #ff9; }
table.calendar .available-bar.full { background-color: #99f; }
table.calendar .available-bar.overfull { background-color: #9f9; }
table.calendar .available-count { color: #9F9; vertical-align: 10px;
	font-weight: normal; }
table.calendar .weekend {
	background-image: url('/themes/sf3/img/sf-50x50-bg-dark.png'); }
table.calendar .outside-month {
	background-image: none; }
table.calendar .today .daystamp { text-decoration: underline;
	font-weight: bold; color: yellow; }
table.calendar .selected {
	border: solid 1px yellow;
	width: 40px; }
table.calendar .attending img {
	border-color: #9F9; }
table.calendar .not-attending img {
	border-color: #F55; }
table.calendar .multiple img {
	border-color: #99F; }
a.raid { font-weight: bold; }
#day-summary { padding-top: 0.6em;
	 padding-right: 0.5em; }
#day-summary > :first-child { margin-top: 0; margin-bottom: 0; }
#day-summary .raid-info { overflow: hidden; }
#day-summary .raid-info .raidlead-options { font-size: 0.8em; }
table.attendance { font-size: 13px; }
table.attendance th { text-align: right; }
table.attendance td, table.attendance th {
	padding-left: 2px; padding-right: 2px;
	vertical-align: top; }
table.attendance tr.total th,
table.attendance tr.total td {
	border-top: solid 1px; }
p.frozen, p.sign-status { width: 240px;
	text-align: center;
	font-weight: bold; margin-top: 2em; }
p.unsigned { color: white; }
p.available { color: #6F6; }
p.unavailable { color: #F66; }
form.calendar { display: inline; }
form.calendar select { margin-left: 16px; width: 88px; }
form.calendar.single { display: block; }
form.calendar.single input { margin-left: 60px; }
form.calendar.single select { margin-left: 76px; width: 88px; }
#available-button, #unavailable-button {
	border: none; width: 120px; height: 42px;
	cursor: pointer; }
#available-button {
	background-image: url('/themes/sf3/img/available1.png'); }
#unavailable-button {
	background-image: url('/themes/sf3/img/unavailable.png'); }
#signup-multi { margin: 0; }
#signup-multi label { font-size: 91%; }
#signup-multi select { font-size: smaller; }
#all-available-button, #all-unavailable-button {
	position: relative; top: 1;
	border: none; width: 60px; height: 21px;
	cursor: pointer;
}
#all-available-button {
	background-image: url('/themes/sf3/img/available-sm.png'); }
#all-unavailable-button {
	background-image: url('/themes/sf3/img/unavailable-sm.png'); }
#note-edit { margin-left: 60px; }
.note { color: #FFF; cursor: default; font-weight: bold; }
.note img.class-icon { border: solid 1px #FFF; }
.mem-left { text-decoration: line-through; }
.class-icon { margin-right: 0.2em; }
.hidden { display: none; }

table.signs td { color: white;
	vertical-align: top;
	padding-bottom: 0px;
	font-family: sans-serif;
	line-height: 1.1em;
	background-image: url('/themes/sf3/img/sf-50x50-bg.png'); }
table.signs th, table.signs td { width: 8em; }
table.signs td img { border: solid 1px white; margin-bottom: 2px;
                     vertical-align: -45%; }

/* New attendance styles (above are for old xattendance) */
table.attend td { color: white;
	vertical-align: top;
	padding-bottom: 0px;
	font-family: sans-serif;
	line-height: 1.1em;
	width: 8em; }
table.attend td.select { width: 20px; }
table.attend td img { border: solid 1px white; margin-bottom: 2px;
                     vertical-align: -45%; }
table.attend .present { color: #6F6; }
table.attend .missing { color: #F66; }

