/* Reset */

body {color:#000;background:white;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym {border:0;font-variant:normal;}
sup,sub {line-height:0px;vertical-align: text-top;}
sub {vertical-align:text-bottom;}
input, textarea, select{font-family:inherit;font-size:inherit;font-weight:inherit;}

/* Base */

h1 {
  font-size: 138.5%;
}
h2 {
  font-size: 123.1%;
}
h3 {
  font-size: 108%;
}
h1,h2,h3 {
  margin: 1em 0;
}
h1,h2,h3,h4,h5,h6,strong {
  font-weight: bold;
}
abbr,acronym {
  border-bottom: 1px dotted #888;
  cursor: help;
}
em {
  font-style: italic;
}
blockquote,ul,ol,dl {
  margin: 1em;
}
ol,ul,dl {
  margin-left: 2em;
}
ol li {
  list-style: decimal outside;
}
ul li {
  list-style: disc outside;
}
dl dd {
  margin-left: 1em;
}
caption {
  margin-bottom: .5em;
  text-align: center;
}
p,fieldset {
  margin-bottom: 1em;
}

/* Fonts */

body {
  font: 13px/1.22 "Century Schoolbook", Georgia, "Times New Roman", Times, serif;
  *font-size:small;
  *font:x-small;
}
table {
  font-size:inherit;
  font:100%;
}
pre,code,kbd,samp,tt {
  font-family:monospace;
  *font-size:108%;
  line-height:99%;
}

/* app base */

h1 {
  color: #2fc5f8;
  text-align: center;
}

h2 {
  color: #2fc5f8;
}

a, a:active, a:visited {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.button-to {
  display: inline;
}

/* app layout */

html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
  min-height: 100%;
  min-width: 670px;
  background: transparent repeat;
}

body.twocol {
  min-width: 1000px;
  min-height: 560px;
}

#page_structure {
  position: relative;
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
}

body.twocol #page_structure {
  width: 920px;
/*  margin: 0 0 0 20px; */
}

#page_background {
  position: relative;
  background: url(/images/center_shadow.png) repeat-y center top;
  width: 558px;
  margin: 0 auto;
  min-height: 100%;
}

body.twocol #page_background {
  margin: 0 0 0 auto;
}

#page_wrapper {
  position: relative;
  margin: 0 5px;
}

#sponsor_corner {
  position: absolute;
  top: 0;
  right: 1px;
  z-index: 99;
}

#top_logo {
  display: block;
  position: absolute;
  width: 425px;
  height: 71px;
  left: 59px;
  z-index: 1;
}

#glow_character {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 30px;
}

#glow {
  display: block;
  position: relative;
  width: 236px;
  height: 191px;
  margin: 0 auto -86px auto;
}

#character_container {
  position: relative;
  margin: 0 auto;
  width: 300px;
}

.character {
  display: block;
  position: relative;
  width: 76px;
  height: 99px;
  margin: 0 auto -100px auto;
  top: -57px;
}

.big_character {
  width: 175px;
  height: 158px;
  top: -72px;
  margin-bottom: -100px;
}

.login_character {
  width: 118px;
  height: 122px;
  left: 7px;
  top: -65px;
}

.edit_character {
  width: 117px;
  height: 111px;
  top: -71px;
}

.invite_guest_character {
  width: 155px;
  height: 99px;
  left: 0px;
  top: -52px;
}

.admin_character {
  width: 118px;
  height: 122px;
  top: -69px;
}

.personal_character {
  width: 118px;
  height: 122px;
  top: -64px;
}

#session_info {
  position: absolute;
  top: 38px;
  left: 38px;
  width: 100px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 85%;
  color: white;
  z-index: 1;
}

#session_info a {
  font-family: Helvetica, Arial, sans-serif;
  color: white;
}

#see_events {
  position: absolute;
  right: 38px;
  top: 38px;
  z-index: 1;
  color: white;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 85%;
  text-align: center;
  text-decoration: none;
}

#see_events:hover {
  text-decoration: underline;
}

#flash {
  position: absolute;
  top: 78px;
  left: 280px;
  width: 196px;
  height: 92px;
  padding: 14px 24px 20px 36px;
  background: url(/images/bubble_top.png) no-repeat;
  text-align: center;
}

#page_content {
  position: relative;
}

#footer_buffer {
  height: 100px;
}

#footer {
  position: absolute;
  bottom: 10px;
  width: 100%;
  height: 90px;
}

#about_link {
  position: absolute;
  left: 16px;
  bottom: 6px;
}

#legal_link {
  position: absolute;
  right: 16px;
  bottom: 6px;
}

#jfm_flags {
  display: block;
  position: absolute;
  top: -2px;
  left: 37px;
}

#experience {
  display: block;
  position: absolute;
  left: 208px;
  top: 42px;
}

/* Forms */

textarea {
  overflow-y: auto;
  resize: none;
}

input.text, textarea {
  background: transparent;
  padding: 6px;
  border: none;
  margin-left: -6px;
  font: 138.5% "Century Schoolbook", Georgia, "Times New Roman", Times, serif;
  color: #fff1a4;
  text-align: center;
}

input.disabled_text {
  background: transparent;
  padding: 8px;
  border: none;
  margin-left: -8px;
  font-size: 138.5%;
  color: #fff1a4;
}

.simple_form {
  position: relative;
  width: 420px;
  margin: 0 auto;
}

.simple_form p, .simple_form label {
  font: 13px/17px Helvetica, Arial, sans-serif;
  color: white;
}

label.field_label {
  display: block;
  font: 12px "Century Schoolbook", Georgia, "Times New Roman", Times, serif;
  text-align: center;
  margin-bottom: 1px;
}

.simple_form a {
  font-family: Helvetica, Arial, sans-serif;
  color: #fff1a4;
}

.long_text p, .long_text a {
  font: 13px/1.22 "Century Schoolbook", Georgia, "Times New Roman", Times, serif;
}

body.twocol .simple_form {
  width: 320px;
}

.form_line {
  position: relative;
  clear: both;
  width: 100%;
  margin: 0 0 4px 0;
  text-align: center;
}

.form_line p {
  margin-bottom: 0px;
}

.form_separated {
  margin-top: 20px;
}

.field_wrapper {
  border: 2px solid #361020;
}

.form_buttons {
  text-align: center;
  margin-top: 20px;
}

.button {
  width: 130px;
  height: 29px;
  padding-bottom: 2px;
  border: none;
  background: url(/images/button.png);
  font: bold 85% Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: white;
  cursor: pointer;
}

.wide {
  width: 100%;
}

.prompting_field {
  position: relative;
  background: transparent;
  z-index: 2;
}

.field_prompt {
  position: relative;
  top: 6px;
  height: 10px;
  margin-bottom: -10px;
  z-index: 1;
  color: #a28a94;
  font-style: italic;
  text-align: center;
}

.error, .simple_form .error {
  font-weight: bold;
  color: #f33;
}

.LV_invalid {
  display: block;
  position: absolute;
  width: 127px;
  height: 52px;
  padding: 8px 16px 10px 18px;
  top: -16px;
  right: -170px;
  color: red;
  background: url(/images/bubble_error.png) no-repeat;
  text-align: center;
  ;
}

.LV_invalid_left .LV_invalid {
  left: -172px;
  padding: 8px 20px 10px 11px;
  background: url(/images/bubble_error_left.png) no-repeat;
}

.sub_bg {
  width: 387px;
  height: 121px;
  background: url(/images/sub_bg.png);
}

#captcha_container {
  width: 100%;
  text-align: left;
}

/* event/new & event/edit */

#event_name_box {
  margin: 20px auto;
}

#event_name_box h1 {
  margin: 0;
  padding: 9px 0 2px 0;
  font-size: 16px;
}

#event_name_box_bg {
  position: relative;
  width: 330px;
  height: 60px;
  margin: 0 auto;
  background: #502233;
  border: 1px solid #85475b;
}

#event_name_box textarea {
  margin: 0;
  height: 44px;
  width: 318px;
  border: none;
  overflow-y: auto;
}

#cal_icon {
  position: absolute;
  left: 106px;
  bottom: 6px;
  cursor: pointer;
  z-index: 4;
}

#when_table {
  width: 100%;
}

#when_cell {
  position: relative;
  width: 137px;
  padding-right: 10px;
  z-index: 3;
}

#event_when {
  width: 97px;
  padding-right: 32px;
}

#event_time {
}

/* event/show & event/edit_guests */

body.twocol #event_card_column {
  position: absolute;
  left: -370px;
  top: -110px;
  width: 483px;
  height: 450px;
}

body.onecol #event_card_column {
  position: relative;
  width: 483px;
  height: 450px;
  margin: 0 auto;
}

#event_card {
  position: absolute;
  width: 350px;
  height: 210px;
  left: 50px;
  top: 90px;
  color: white;
  text-align: center;
}

#card_bg_left {
  position: absolute;
  left: -45px;
  top: 120px;
}

#card_bg_right {
  position: absolute;
  left: 345px;
  top: 56px;
  z-index: 9;
}

#event_card a {
  color: white;
}

.event_name, .event_when {
  display: block;
  font-size: 21px;
  font-weight: bold;
  color: #fff1a4;
}

.event_name {
  height: 56px;
  overflow-y: auto;
  font-weight: bold;
}

.event_where {
  display: block;
  height: 36px;
  overflow-y: auto;
}

#event_card_description {
  width: 320px;
  height: 65px;
  overflow-y: auto;
  margin: 0 auto;
}

#card_buttons {
  position: absolute;
  left: 90px;
  top: 420px;
}

#card_buttons *, .form_buttons * {
  display: inline;
}

#icalendar_link {
  display: block;
  color: #5A1A37;
  margin: 8px 0pt 0pt 38px;
}

#icalendar_link a {
  color: #5A1A37;
}

#icalendar_link p {
  margin: 0px 0px 4px 8px;
}

#event_cancelled_msg {
  padding: 12px;
  background: red;
  color: white;
  font-size: 16px;
  text-align: center;
}

#event_guests {
  position: relative;
  margin: 30px auto 0 auto;
  width: 387px;
  color: #fff1a4;
}

#event_add_guests {
  margin-top: 2em;
}

#guest_entry {
  position: relative;
  width: 387px;
  height: 135px;
  background: url(/images/sub_bg_long_pt.png);
}

#guest_entry h1 {
  margin: 0;
  font-size: 16px;
  padding: 5px 0 2px 0;
}

#guest_typein {
  width: 330px;
  margin: 0 auto;
  background: #502233;
  border: 1px solid #85475b;
}

#guest_typein .LV_invalid {
  top: 20px;
}

#add_guests_btn {
  display: block;
  margin: 0 auto;
}

#guest_entry_help_btn {
  position: absolute;
  right: 12px;
  top: 48px;
  font: bold 18px Helvetica, Arial, sans-serif;
  color: #2fc5f8;
  cursor: pointer;
}

#guest_entry_help_btn:hover {
  text-decoration: none;
}

#guest_entry_help {
  position: absolute;
  right: -60px;
  top: 76px;
  width: 380px;
  padding: 8px;
  z-index: 9;
  background: #eee;
  border: 2px solid #361020;
  font: 12px/16px Helvetica, Arial, sans-serif;
  line-height: 16px;
  color: black;
}

#guest_entry_help tt {
  display: block;
  margin: 5px 0;
  font: bold 12px/16px Helvetica, Arial, sans-serif;
  color: #361020;
}

#new_guests {
  width: 316px;
  height: 50px;
  margin-left: 2px;
  padding: 4px 0px 6px 4px;
  border: none;
  color: #fff1a4;
  font-size: 13px;
  text-align: left;
}

#new_guests_auto_list {
  margin-left: 7px;
  z-index: 9;
  color: black;
  font-family: Helvetica, Arial, sans-serif;
  cursor: pointer;
}

#new_guests_auto_list ul {
  margin: 0;
}

#new_guests_auto_list li {
  background: white;
  border: 1px solid #361020;
  padding: 4px;
  list-style: none;
}

#new_guests_auto_list li strong {
  background: #fff9db;
}

#new_guests_auto_list li.selected {
  background: #97e2fb;
}

#max_guest_warning {
  width: 300px;
  margin: 0px auto 8px auto;
  font-family: Helvetica, Arial, sans-serif;
  border: 4px solid #FFF1A4;
  padding: 4px;
}

#guest_list_warning {
  width: 300px;
  margin: 0 auto;
  font-family: Helvetica, Arial, sans-serif;
  color: #2fc5f8;
}

#guest_list {
  width: 320px;
  margin: 8px auto;
}

#guest_list div {
  position: relative;
  list-style: none;
  min-height: 1.5em;
  width: 330px;
  margin-left: -5px;
}

#guest_list .delete_button {
  position: absolute;
  right: 16px;
  top: 15px;
  cursor: pointer;
}

.response_header {
  color: #2fc5f8;
  font-size: 123.1%;
  text-align: center;
  border-bottom: 1px solid #B96B81;
}

.event_guest {
  padding: 8px 0px;
}

.event_guest_hvr {
  background: #5b253c;
}

.event_guest .name {
  font-size: 116%;
}

.event_guest .email {
  font: normal 100% Helvetica, Arial, sans-serif;
  padding-left: 0.5em;
  color: #fff1a4;
}

.event_guest .quantity {
  display: block;
  float: right;
  padding-left: 2em;
}

.event_guest .response_text {
  font: normal 100% Helvetica, Arial, sans-serif;
  margin-top: 4px;
}

.event_guest .error {
  margin-bottom: 8px;
}

#event_add_guests .name, #event_add_guests .email, #event_add_guests .error {
  display: block;
  text-align: center;
}

#guest_entry .submit {
  text-align: center;
}

#event_existing_guests {
  margin: 20px auto 0 auto;
  width: 320px;
}

#event_guest_summary {
  width: 320px;
  margin-right: -100px;
  margin-bottom: 12px;
}

#summary_confirmed {
  color: #2fc5f8;
  font-size: 138.5%;
}

#summary_unconfirmed {
  font-style: italic;
}

/* guests/edit */

#response_edit {
  position: relative;
  margin: 30px auto 0 auto;
  color: #fff1a4;
}

#response_line {
  position: relative;
  width: 500px;
  margin-right: -170px;
  height: 30px;
  text-align: left;
}

.response_choice {
  display: block;
  float: left;
  position: relative;
  margin-right: 46px;
  z-index: 2;
}

.response_choice label {
  padding-left: 0.5em;
  color: #2fc5f8;
  font-size: 123.1%;
  font-family: "Century Schoolbook", Georgia, "Times New Roman", Times, serif;;
}

/* events/index */

#event_listing {
  width: 100%;
  margin: 32px 0 48px 0;
  text-align: center;
}

#event_listing h1 {
  width: 387px;
  height: 113px;
  margin: 0 auto;
  background: url(/images/sub_bg.png);
  line-height: 100px;
}

.event {
  position: relative;
  margin: 24px auto 0 auto;
  width: 300px;
  color: #fff1a4; 
}

.event .thumbnail {
  position: absolute;
  width: 97px;
  height: 90px;
  left: -90px;
}

.event .name {
  padding-bottom: 4px;
  width: 320px;
  margin-left: -10px;
  border-bottom: 1px solid #B96B81;
}

.event .name a {
  margin: 0 10px;
  color: #2fc5f8;
  font-size: 123.1%;
}

.event .when {
  margin-top: 8px;
  font-size: 123.1%;
}

.event .location {
  font-size: 123.1%;
}

.event .summary {
  margin-top: 8px;
  font: 12px "Century Schoolbook", Georgia, "Times New Roman", Times, serif;
  color: white;
}

.event .summary span {
  font-weight: normal;
  padding: 0.5em;
}

/* calendar */

.calendar {
  position: absolute;
  z-index: 9;
}

.cal_container {
  background: white;
  width: 206px;
  padding: 6px;
  margin-left: -7px;
}

.cal_header {
  background: #66460c;
  color: white;
  text-align: center;
  padding: 3px;
}

.cal_month {
  font: bold 17px "Century Schoolbook", Georgia, "Times New Roman", Times, serif;
}

.cal_year {
  font: 11px Helvetica, Arial, sans-serif;
}

.cal_body {
  width: 190px;
  margin: 0 auto;
}

.cal_days table {
  width: 100%;
  margin: 6px 0;
  border: none;
  text-align: center;
  font: 11px Helvetica, Arial, sans-serif;
}

.cal_days td {
  padding: 3px 1px 1px 2px;
  border-bottom: 1px solid white;
}

.cal_day_header {
  font: bold 11px Helvetica, Arial, sans-serif;
  color: #66460c;
}

.cal_day_off {
  color: #999999;
}

.cal_day_on {
  color: #565656;
  cursor: pointer;
}

.cal_days td.cal_selection {
  background: #336600;
  color: white;
  font-weight: bold;
}

.cal_other_month {
  color: white;
}

.cal_hover {
  background: #edf3de;
}

.cal_footer {
  height: 20px;
  font: bold 9pt Helvetica, Arial, sans-serif;
  color: #336600;
}

.cal_prev {
  width: 70px;
  float: left;
  cursor: pointer;
}

.cal_next {
  width: 70px;
  float: right;
  text-align: right;
  cursor: pointer;
}

/* Hacks for old Safaris */

.safari2 input.text, .safari2 textarea {
  background: #5A1A37;
}

.safari2 .field_wrapper {
  border: none;
}

.safari2 #event_name_box textarea {
  height: 61px;
  width: 330px;
}

.safari2 .field_prompt {
  z-index: 3;
}

.safari2 #event_when {
  width: 107px;
  padding-right: 32px;
}

.safari2 #new_guests {
  width: 332px;
  height: 50px;
  margin-left: -2px;
  padding: 4px 0px 6px 4px;
}

.safari2 .cal_container {
  margin-left: 0px;
}
