/*****************************************************************************/
@media all {
/*****************************************************************************/
#sudoku3x3 table {
  border-spacing: none;
  font-size: 18px;
  border: 1px solid black;
  width:4.7Em;
}

#sudoku4x4 table {
  border-spacing: none;
  font-size: 18px;
  border: 1px solid black;
  width:6.3Em;
}

.e table.house1 { background-color: #AAE89A; }
.m table.house1 { background-color: #FFFC9F; }
.h table.house1 { background-color: #FFCC66; }
.f table.house1 { background-color: #E89898; }

table.house2 { background-color: #FFFCCF; }

td.cell, td.fixed-cell {
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  border: 1px solid gray;
  width: 1Em;
  height: 1.5Em;
}

td.cell input {
  border: none;
  width: 1Em;
  text-align: center;
  background-color: transparent;
}

td.fixed-cell {cursor:default}

#copywrite {
	margin-top:1Em;
	font:bold 10px Verdana;
}

.imagefloat
{
	float:right;
	clear:both;
	border:none;
	margin:1em;
}

form#content
{
	position:absolute;
	left:18em;
	top:6em;
}

#generate fieldset
{
	display:block;
	background:#FFFCCF;
	border:1px solid black;
	width:18em;
	margin-bottom:1em;
}

#profile fieldset
{
	display:block;
	background:#FFFCCF;
	border:1px solid black;
	width:26em;
	margin-bottom:1em;
}

#register label, #profile label
{
	width:10em;
	float:left;
	display:block;
	text-align:right;
	margin-right:1em;
	font:normal 12px Verdana;
}
#register label.required{font:bold 12px Verdana}

legend
{
	background:#FFCC66;
	border:1px solid black;
	padding:2px 6px;
}

#content input[type=text], #content input[type=password], #content select{width:15em}

input[type=submit]
{
	background:#FFCC66;
	padding:2px 6px;
}

input[type=radio]
{
	background:#FFFCCF;
}

img#sample
{
	position:absolute;
	//left:40em;
	left:25em;
	top:8em;
}

.error
{
	color:red;
	font-weight:bold;
	padding-left:10em;
}

table#scoreboard {text-align:center; margin:auto;border-collapse: collapse}
table#scoreboard td {width:3Em}
table#scoreboard th {color:green; border-bottom:.5pt solid black}
table#scoreboard .label {font-weight:bold; color:green; text-align:left; border-right:.5pt solid black}
table#scoreboard .ttotal {color:blue; border-top:.5pt solid black}
table#scoreboard .ltotal {color:blue; border-left:.5pt solid black}
table#scoreboard .tltotal {color:red; border-top:.5pt solid black; border-left:.5pt solid black}

table#solved {float:right; border-collapse:collapse; border:1.5pt black solid; font-size:8pt}
table#solved caption {font-size:10pt; font-weight:bold; margin-bottom:1em}
table#solved td {padding:.25em 2em .25em 2em; border-left:.5pt silver solid}
table#solved .odd {background-color:white}
table#solved a {text-decoration:none; color:blue}

body {
	background-color:#eee;
	font-family:Verdana, Arial, sans-serif;
	font-size:13px;
}

#content {
	//margin-left:18Em;
	padding:1Em;
}

#content p { font-size:12pt }

#side {
	position:absolute;
	top:0px;
	left:0px;
	width:15Em;
	padding:1Em;
	font-size:10pt;
	/* Again, the ugly brilliant hack. */
	voice-family:"\"}\"";
	voice-family:inherit;
	width:15Em;

	margin:auto;
	text-align:center;
}

/* Again, "be nice to Opera 5". */
body>#side {width:15Em;}

#footnote {
	width:100%;
	margin-top:5em;
	border-top:1pt black solid;
	font-size:8pt;
}

#footnote p { font-size:8pt }

.idbox {
	font-size:8pt;
	font-weight:bold;
}

.idbox a {
	text-decoration:none;
	font-weight:normal;
	color:blue;
}

.sidebox {
	border:2pt black solid;
	background-color: white;
	padding:.5Em;
	margin-top:2Em;
	text-align:left;
}

#menu {
	position:absolute;
	visibility:hidden;
}

#menu table {
	border-spacing:5px;
	font-size:15px;
}

#menu td.button {
	text-align:center;
	vertical-align:middle;
	font-weight:bold;
	border:3px solid black;
	width:1.5Em;
	height:1.5Em;
	background-color:white;
	cursor:pointer;
}

#menu td.button:hover {background-color:yellow}

#tabs {
	position:relative;
	float:left;
	font-weight:bold;
	color:#444;
	background:silver;
	width:98%;
	margin:1em 0 2em 0;
	padding:0.25em 0.25em 0.25em 1em;
	list-style:none;
}

#tabs LI {
	float:left;
	display:block;
}

#tabs A {
	text-decoration:none;
	font-weight:bold;
	background:silver;
	color:white;
	padding:0 1em;
}

#tabs A:hover,#tabs A:active {color:#444}
#calendar {text-align:center}

a.today {
	text-decoration:none;
	font-weight:bold;
	font-size:8pt;
	color:olive;
}

.calendar {
	margin-left:auto;
	margin-right:auto;
}

table.calendar {border-bottom:1pt silver solid}

table.calendar th {
	height:10px;
	font-size:7pt;
	background-color:white;
}

table.calendar td {
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	width:19px;
	height:10px;
	font-size:9pt;
	color:gray;
	border:none;
}

table.calendar a {
	text-decoration:none;
	font-weight:bold;
	color:blue;
}

col.Saturday , col.Sunday{background-color:#FFFCAF;}
table.calendar td.current {background-color:#AACCFF}
table.calendar td.today {background-color:silver}

table.calendar a:active {color:red}
table.calendar a:hover {color:maroon}
table.calendar a:visited {color:blue}
table.calendar a:visited:hover {color:maroon}

table.calendar caption {
	font-weight:bold;
	margin-top:3px;
	font-size:12pt;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}

table.calendar th {
	color:green;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
}

/*****************************************************************************/
@media print {
/*****************************************************************************/
   body {text-align:center}
   #content table {font-size:13px; margin:auto}
   #menu, #side, #tabs {display:none}
}
