table.calendar {
  width: 935px;
  border-collapse: collapse;
  border: 3px solid #004584;
  border-top: none;
  margin: 25px 0 1em 15px; }
  table.calendar th {
    background: #004584;
    color: #fff;
    width: 14%;
    padding: 10px 0 5px 0;
    line-height: 1em;
    text-indent: -9999px;
    background-position: 50% 50%;
    background-repeat: no-repeat; }
    table.calendar th.sun {
      background-image: url(../images/calendar/sunday.png); }
    table.calendar th.mon {
      background-image: url(../images/calendar/monday.png); }
    table.calendar th.tue {
      background-image: url(../images/calendar/tuesday.png); }
    table.calendar th.wed {
      background-image: url(../images/calendar/wednesday.png); }
    table.calendar th.thu {
      background-image: url(../images/calendar/thursday.png); }
    table.calendar th.fri {
      background-image: url(../images/calendar/friday.png); }
    table.calendar th.sat {
      background-image: url(../images/calendar/saturday.png); }
  table.calendar td {
    width: 14%;
    background: #fbcf34;
    border: 1px solid #444a89; }
    table.calendar td.numbers, table.calendar td.other_month_numbers {
      border-bottom: none;
      color: #2d3271;
      font-weight: bold;
      padding: 5px 0 0 5px; }
    table.calendar td.days, table.calendar td.otherMonth {
      border-top: none;
      height: 70px;
      color: #0164b7;
      font-size: 70%;
      vertical-align: top;
      padding: 0 6px 10px; }
      table.calendar td.days a, table.calendar td.otherMonth a {
        color: #0164b7;
        display: block;
        line-height: 1em;
        text-decoration: none;
        margin-bottom: 0.3em;
        background-color: #ffee78;
        padding: 3px;
        border-bottom: 1px solid #ce0921;
        border-bottom: 1px solid #ce9021; }
        table.calendar td.days a:hover, table.calendar td.otherMonth a:hover {
          text-decoration: underline;
          background-color: #fff7bf; }
    table.calendar td.otherMonth, table.calendar td.other_month_numbers {
      background: #fac220; }
  table.calendar caption {
    text-align: left;
    padding: 5px 5px 10px 5px;
    height: 40px; }
    table.calendar caption #current_month_name {
      color: #004584;
      font-weight: bold;
      font-size: 120%;
      line-height: 1.2em;
      float: left;
      width: 140px; }
    table.calendar caption #previous_month, table.calendar caption #next_month {
      display: block;
      width: 27px;
      float: left; }
    table.calendar caption a {
      display: block;
      width: 27px;
      height: 26px;
      background-repeat: none;
      text-indent: -9999px;
      outline: none; }
    table.calendar caption #previous_month a {
      background-image: url(/images/events/previous.png); }
    table.calendar caption #next_month a {
      background-image: url(/images/events/next.png); }

#state-selector {
  width: 168px;
  height: 60px;
  padding-left: 24px;
  padding-top: 34px;
  background: url(/images/events/state.png) no-repeat;
  position: absolute;
  right: 0px;
  top: 10px; }
  #state-selector select {
    width: 132px;
    text-align: center;
    font-size: 80%; }

#facebox {
  color: #2d3271;
  font-size: 85%;
  background: url(/images/backgrounds/event.png) no-repeat;
  width: 198px;
  height: 231px;
  padding: 20px 30px; }
  #facebox a.close {
    behavior: none;
    position: absolute;
    right: 15px;
    top: 15px;
    width: 55px;
    height: 22px; }
  #facebox .body .loading {
    text-align: center;
    padding-top: 90px; }
  #facebox .content h3 {
    padding-right: 45px;
    margin: 0.5em 0;
    line-height: 1.3em; }
  #facebox .content p {
    margin: 0.5em 0 1em;
    font-size: 90%; }
  #facebox .content img {
    margin: 0 auto;
    padding: 10px 0;
    display: block; }
  #facebox .content dl.location {
    font-size: 85%; }
    #facebox .content dl.location dt {
      float: left;
      width: 35%; }
    #facebox .content dl.location dd {
      color: #6c6f9b;
      float: left;
      width: 65%; }
