body {
 	font-family: sans-serif;
	font-size: 14px;
	height: 100%;
}

div#topbar ul.nav_links {
    padding: 0;
    margin: 0;
}

div#topbar ul.nav_links li {
    display: inline;
    padding: 3px;
    margin: 3px;
}

div#topbar ul.nav_links ul.admin_links {
    display: inline;
    padding: 0;
    margin: 0;
}

div#topbar ul.nav_links ul.admin_links li {
    display: inline;
    margin: 0;
    padding: 0;
}

div#topbar ul.nav_links ul.admin_links li:before {
    content: "\2022 \00A0";
}

div#topbar ul.nav_links ul.admin_links li.first:before {
    content: " ";
}

label.required {
    font-weight: bold;
}

div.error_messages {
    background-color: #ffcccc;
}

form.cmxform fieldset {
	margin-bottom: 10px;
	border: none;
	border-top: 1px solid black;
	background-color: #ddd;
}

form.cmxform legend {
	padding: 1px;
	border: 1px solid black;
	font-weight: bold;
	background-color: #eee;
}

form.cmxform label {
	display: inline-block;
	margin-bottom: 8px;
	vertical-align: top;
}

form.cmxform fieldset ol {
	margin: 0;
	padding: 0;
	font-size: 12px;
}

form.cmxform fieldset li {
	list-style: none;
	padding: 5px;
	margin: 0;
}

form.cmxform fieldset fieldset {
	border: none;
	margin: 3px 0 0;
}

form.cmxform fieldset fieldset legend {
	padding: 0 0 5px;
	font-weight: normal;
}

form.cmxform fieldset fieldset label {
	display: block;
	width: auto;
}

form.cmxform em {
	font-weight: bold;
	font-style: normal;
	color: #f00;
}

form.cmxform label {
	width: 120px;
}

form.cmxform fieldset fieldset label {
	margin-left: 123px;
}

form.cmxform fieldset input[type=submit] {
	margin-left: 129px;
}

form.cmxform fieldset fieldset input[type=submit] {
	margin-left: 132px;
}

th {
    text-align: left;
}

tr.signed_up {
    background-color: #cfc;
}

tr.busy {
    background-color: #ccc;
}

tr.waitlisted {
    background-color: #ccf;
}

tr.blocked {
    background-color: #fcc;
}

div.agenda {
    background-color: #ffc;
    border: 1px black solid;
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 1em;
}

div.agenda h3 {
    margin-bottom: 0;
    padding-top: 2px;
    background-color: black;
    color: white;
}

div.agenda table {
    border-top: 1px black solid;
    width: 100%;
    border-collapse: collapse;
}

div.agenda td {
    padding: 2px;
    margin: 0;
}

div.agenda table tr.odd {
    background-color: #dda;
}

div.agenda table tr.even {
    background-color: #bb8;
}

table.attendances {
    border-collapse: collapse;
}

table.attendances td {
    padding: 2px;
    border-bottom: 1px #666 solid;
}

.confirmed {
    background-color: #cfc;
}

.confirmed.odd {
    background-color: #beb;
}

.waitlist {
    background-color: #ffc;
}

.waitlist.odd {
    background-color: #eeb;
}

.drop {
    background-color: #fcc;
}

.drop.odd {
    background-color: #ebb;
}

.uncounted {
    background-color: #ccf;
}

.uncounted.odd {
    background-color: #bbe;
}


.legend {
  list-style-type: none;
}

.legend li {
  display: inline-block;
  padding-right: 3em;
  min-width: 13em;
  vertical-align: middle;
  font-weight: bold;
}

.legend_color {
  width: 3em;
  height: 3em;
  border: 1px black solid;
  display: inline-block;
  vertical-align: middle;
}
