body {
  font-family: arial, helvetica, sans-serif;
  background: url(/images/bg.png) 0 0 repeat-x;
}

#doc {
  margin: 1em auto;
}

/*--- tags -----------------------------------------------------------------*/

label {
  cursor: pointer;
  cursor: hand;
}
abbr {
  border-bottom: 1px dotted #bbb;
}
em {
  font-style: italic;
}
strong {
  font-weight: bold;
}
em strong {
  font-style: italic;
}
hr {
  clear: both;
  height: 1px;
  margin-bottom: 1em;
  border: none;
  border-top: 1px solid #ccc;
}
p {
  clear: both;
  font-size: 110%;
  margin-bottom: 1em;
}

/*--- miscellaneous --------------------------------------------------------*/

span.highlight {
  margin: -2px -4px;
  padding: 2px 4px;
  background-color: #ff0;
}

strong.attention {
  color: #f00;
  font-weight: bold;
  text-transform: uppercase;
}

span.prev,
span.next {
  width: 6em;
}
span.prev {
  position: absolute;
  left: 0;
  padding-left: 10px;
  text-align: left;
}
span.next {
  position: absolute;
  right: 0;
  padding-right: 10px;
  text-align: right;
}

div.recent {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  border: 5px solid #666;
  padding: .5em .75em;
  background-color: #fff;
  color: #000;
}

img.handle {
  cursor: move;
}

p.instructions {
  margin-top: 1em;
  font-size: 95%;
  font-style: italic;
}
p.instructions * {
  font-style: italic;
}

/*--- anchors --------------------------------------------------------------*/

a {
  margin: -3px;
  padding: 3px;
}

a.email {
  padding-right: 17px;
  background: transparent url(/images/icons/email.gif) center right no-repeat;
}

a:link {
  color: #00e;
}
a:visited {
  color: #60e;
}
a:hover {
  background-color: #00e;
  color: #fff;
}

a.back {
  font-weight: bold;
}

a.grant,
a.deny {
  font-size: 95%;
  font-weight: bold;
}

a.grant {
  color: #090;
}
a.grant:hover {
  background-color: #393;
  color: #fff;
}
a.deny {
  color: #c00;
}
a.deny:hover {
  background-color: #933;
  color: #fff;
}

a.small {
  font-size: 90%;
}
a.admin:link,
a.admin:visited {
  margin-left: 0;
  color: #f00;
}
a.admin:hover {
  color: #fff;
  background-color: #f00;
}

/*--- headers --------------------------------------------------------------*/

h2 {
  margin: 1em 0 .5em;
  font-size: 200%;
  font-weight: normal;
  letter-spacing: -1px;
}
h2.center {
  text-align: center;
}

h2.status {
  font-weight: bold;
}
h2.granted {
  color: #393;
}
h2.denied {
  color: #f00;
}
h2.cancelled {
  color: #666;
}

h3 {
  margin-bottom: .5em;
  font-size: 170%;
}

/*--- status ---------------------------------------------------------------*/

span.status {
  font-size: 95%;
  font-weight: bold;
}

.pending {
  color: #990;
}
.granted {
  color: #090;
}
.denied {
  color: #c00;
}
.cancelled {
  color: #666;
}
.full,
.inactive {
  color: #999;
}

/*--- status links ---------------------------------------------------------*/

div.status {
  margin-bottom: 1em;
  font-size: 120%;
  font-style: italic;
}
div.status input {
  width: 1em;
  height: 1em;
}

/*--- organization types ---------------------------------------------------*/

.default {
  background-color: #faa;
}
/* Arts department */
.type_1 {
  background-color: #afa;
}
/* Non-Arts department */
.type_2 {
  background-color: #ccf;
}
/* SSMU */
.type_3,
.type_4,
.type_5,
.type_6,
.type_7 {
  background-color: #ffa;
}
/* McGill group or Sports team */
.type_8,
.type_9 {
  background-color: #fc6;
}
/* Greek association */
.type_10 {
  background-color: #6ff;
}
/* External group */
.type_11 {
  background-color: #faf;
}
/* Uncategorized */
.type_12 {
  background-color: #ddd;
}

/*--- tables ---------------------------------------------------------------*/

table.list {
  clear: both;
  width: 100%;
  margin: .5em 0 3em;
  border-bottom: 1px solid #666;
  font-family: arial, sans-serif;
}

table.list caption span.date {
  padding-right: 10px;
  font-size: 175%;
  font-weight: bold;
  font-family: helvetica, arial, sans-serif;
}
table.list caption span.full {
  color: #999;
}
table.list caption span.highlight {
  margin: -2px -4px;
  padding: 2px 4px;
  background-color: #ff0;
  font-size: 125%;
}
table.list caption a.toggle {
  font-size: 125%;
  float: right;
}
table.list caption img {
  padding-left: 5px;
}
table.list th,
table.list td {
  padding: 0 4px;
  font-size: 100%;
}
table.list th {
  border-bottom: 1px solid #999;
  color: #666;
}
table.list td {
  padding-top: 4px;
}

table.list tr.default td.organization {
  padding-left: 18px;
  background: url(/images/default.gif) center left no-repeat;
}

table.list tr.description td {
  padding: 0 4px;
  font-size: 90%;
  color: #666;
}
table.list tr.description td p {
  margin: 0;
}

/*--- help -----------------------------------------------------------------*/

.help {
  font-size: 110%;
  text-align: center;
  margin-bottom: 1em;
}
.help * {
  display: inline;
}
.help h4 {
  font-weight: bold;
  margin-right: 1em;
  color: #999;
}
.help dt {
  margin: 0;
  font-weight: bold;
}
.help dd {
  margin: 0 1em 0 0;
}
.help dd.last {
  margin-right: 0;
}

.help li.swatch {
  padding: 5px;
  line-height: 250%;
}

/*--- unordered lists ------------------------------------------------------*/

ul.bulleted {
  margin-bottom: 1em;
  font-size: 110%;
}
ul.bulleted li {
  list-style-type: square;
  margin: 0 0 .5em 1.5em;
}

ul.booking {
  font-size: 110%;
}
ul.booking li {
  margin-bottom: .2em;
}

ul.large {
  font-size: 110%;
}
ul.large li {
  padding: .1em;
}

ul.types {
  position: relative;
  z-index: 20;
  float: right;
  width: 12em;
  text-align: right;
}
ul.types a:hover {
  color: #00e;
  background-color: transparent;
}
ul.types li.drop a {
  background-color: #ff0;
}

/*--- definition lists -----------------------------------------------------*/

dl {
  font-size: 110%;
  margin-bottom: 1em;
}
dt {
  font-weight: bold;
  margin: .5em 0 0 1.5em;
}
dd {
  margin-left: 2em;
}
dd ul.bulleted {
  margin-bottom: 0;
}
dd ul.bulleted li {
  margin-bottom: 0;
}

/*--- header ---------------------------------------------------------------*/

#hd {
  position: relative;
  margin-top: .5em;
}

#hd h1 {
  margin-bottom: .5em;
  font-size: 225%;
  font-weight: bold;
  font-family: helvetica, arial, sans-serif;
  letter-spacing: -1px;
  white-space: nowrap;
}
#hd h1,
#hd h1 a:link,
#hd h1 a:visited,
#hd h1 a:hover {
  background-color: transparent;
  color: #999;
  text-decoration: none;
}

#hd p {
  position: absolute;
  top: .5em;
  right: 0;
  margin-bottom: 0;
  color: #666;
  text-align: right;
  white-space: nowrap;
}

#hd #password {
  padding: 2px;
  border: 1px solid #999;
  background-color: #ffc;
}
#hd input.commit {
  padding: 1px;
  border: none;
  background-color: #999;
  color: #fff;
}

/*--- body -----------------------------------------------------------------*/

#bd {
  clear: left;
}

/*--- footer ---------------------------------------------------------------*/

#ft,
#ft p {
  margin-bottom: 1em;
  color: #666;
  font-family: arial, sans-serif;
  font-size: 100%;
  text-align: center;
}

/*--- messages -------------------------------------------------------------*/

.notices,
.errors {
  clear: both;
  margin-bottom: 1em;
  padding: 7px 0 7px 45px;
}

.notices h2,
.errors h2 {
  margin: 0 0 .5em;
  font-size: 125%;
  font-weight: bold;
  text-align: left;
  letter-spacing: 0;
}

/*--- notices --------------------------------------------------------------*/

.notices {
  border: 1px solid #390;
  background: #efb url(/images/messages/notice_big.png) no-repeat 6px 6px;
}
.notices h2 {
  color: #390;
}

/*--- errors ---------------------------------------------------------------*/

.errors {
  border: 1px solid #f00;
  background: #ffc url(/images/messages/error_big.png) no-repeat 6px 6px;
}

.errors h2 {
  color: #c00;
}

.errors li {
  list-style-type: square;
  margin-left: 1.5em;
}

/*--- text replacement -----------------------------------------------------*/

.sr {
  position: absolute;
  top: 0;
  left: -9999em;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
