body { background-color: #fff; color: #333; }

body, p, ol, ul, td, textarea {
  font-family: arial, helvetica, sans-serif;
  color: #2A2B30;
  color: #332925;
  font-size:   12px;
  line-height: 18px;
}

pre {
  background-color: #eee;
  padding: 10px;
  font-size: 11px;
}

a { color: #004C99; }
a:visited { color: #004C99; }
a:hover { color: #fff; background-color:#004C99; }

.fieldWithErrors {
  padding: 2px;
  background-color: red;
  display: table;
/* TEST */
  display: inline;
}


div.radio-group div.fieldWithErrors {
  display: inline;
}

#ErrorExplanation {
  width: 400px;
  border: 2px solid 'red';
  padding: 7px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  background-color: #f0f0f0;
}

#ErrorExplanation h2 {
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 12px;
  margin: -7px;
  background-color: #c00;
  color: #fff;
}

#ErrorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}

#ErrorExplanation ul li {
  font-size: 12px;
  list-style: square;
}

div.uploadStatus {
  margin: 5px;
}

div.progressBar {
  margin: 5px;
}

div.progressBar div.border {
  background-color: #fff;
  border: 1px solid grey;
  width: 100%;
}

div.progressBar div.background {
  background-color: #333;
  height: 18px;
  width: 0%;
}

/* ADDED */
fieldset {
  border: 0;
  border-top: 1px solid #ccc;
  padding: 1em 0 0;
  margin: 1em 0;
}

fieldset legend {
  display: none;
}

div.form-group {
  clear: both;
}

div.form-group label {
  display: block;
  float: left;
  width: 150px;
}

div.form-group-needed {
  background-color: #fcc;
}

ul#Steps {
	display: block;
	list-style-type: none;
	text-indent: 0;
	padding: 0;
}

ul#Steps li {
	color: #aaa;
	display: inline;
	padding: 0 2em 0 0;
	text-indent: 0;
}

ul#Steps li span.number {
  color: #fff;
	background-color: #aaa;
	padding: 5px 3px;
}

ul#Steps li.active {
	color: #000;
}

ul#Steps li.active span.number {
	background-color: #f33;
}

ul#Steps li.completed {
	color: #666;
}

ul#Steps li.completed span.number {
	background-color: #666;
}

      div.fieldset-group fieldset {
        border: 0;
        padding: 0;
        display: block;
        margin: 0;
/*        width: 720px; */
      }
      
      div.fieldset-group legend {
        display: block;
        margin: 0;
        padding: 0;
        text-indent: 0;
        color: #C2521B;
        font-size: 32px;
/*        padding-left: 250px; */
        padding-bottom: 7px;
      }
      
      div.fieldset-group textarea {
        width: 100%; 
      }
      
      div.fieldset-group fieldset p {
/*        margin-left: 250px; */
      }
      
      div.fieldset-group div.form-group { 
        clear: both;
        margin-bottom: 9px;
      }
      
      div.fieldset-group div.form-group label {
        float: left;
/*        width: 160px; 
        padding-left: 80px;
        padding-bottom: 9px;
        padding-right: 10px; */
        font-weight: bold;
      }
      
      div.fieldset-group div.form-group label span.optional {
/*        display: block; */
        color: #E0A88D;
      }

      div.fieldset-group div.form-group label span.required {
/*        display: block; */
        color: #f33;
        font-weight: bold,
        font-size: 16px;
      }
      
      div.fieldset-group div.form-group label span.note {
        display: block;
        color: #666;
        font-weight: normal;
      }

      
      div.fieldset-group div.form-group textarea {
/*        width: 460px; */
      width: 280px;
      }
      
      div.fieldset-group {
        padding: 7px 0 18px;
        border-top: 1px solid #ccc;
      }
      
div.gender-diagram div.gender-diagram-proportions {
  padding: 2px;
  border: 1px solid #ccc;
  float: left;
  width: 100px;
  margin: 10px 0;
}

div.gender-diagram img {
  float: left;
  display: block;
  padding: 2px;
}

div.gender-diagram div.gender-diagram-proportions img {
  padding: 0;
  margin: 0;
  border: 0;
  display: block;
  float: left;
}

div.gender-diagram {
  padding-left: 26px;
}

div.camp-summary {
  width: 700px;
  border-top: 2px solid #382D29;
}

div.camp-summary div.camp-information {
  width: 430px;
  padding: 10px;
  float: left;
}

div.camp-summary div.booking-information {
  width: 230px;
  padding: 10px;
  float: left;
  border-top: 2px solid #382D29;
}

div.camp-summary div#GenderDiagram {
  width: 230px;
  padding: 5px 20px 5px 0;
  float: left;
}

div.camp-summary div.camp-information h2 {
  font-size: 24px;
  line-height: 32px;
  margin: 0;
}

div.camp-summary h3 {
  padding-top: 4px;
  border-top: 1px solid #382D29;
  margin-top: 8px;
}

div.camp-summary h3.gender-header {
  border-top: 0;
  padding-top: 0;
}

div.camp-summary div.camp-population {
  background-color: #dd270a;
  background-color: #83C626;
  color: #fff;
  padding: 8px;
}

div.camp-summary div.camp-population p {
  margin: 0;
  color: #fff;
}

div.camp-summary div.camp-population p.camp-capacity {
  font-size: 24px;
  line-height: 32px;
}

em, div.camp-summary em {
  font-weight: bold;
  padding: 0 2px;
  background-color: #ffee77;
  font-style: normal;
}

div.gender-ratio {
  clear: both;
  text-align: center;
  color: #666;
  padding-top: 8px;
}

div.gender-ratio strong {
  display: block;
  font-size: 18px;
}

div.camp-medical-conditions, div.camp-special-diet {
  font-size: 18px;
  line-height: 32px;
  padding: 4px 0 4px 60px;
}

div.camp-medical-conditions strong , div.camp-special-diet strong {
  font-size: 24px;
}

div.camp-medical-conditions {
  background: #fff url(../images/icons/sm-medical.gif) no-repeat top left;
}

div.camp-special-diet {
  background: #fff url(../images/icons/sm-food.gif) no-repeat top left;
}

div#Page {
  width: 720px;
  border-top: 2px solid #342925;
  margin: 0 -10px;
}

div#Page div#Main {
  width: 490px;
  padding: 0 10px 0 20px;
  float: right;
  /* background: #fff url(../images/style/bg-dropped.gif) repeat-x top left; */
  margin: 0 0 0 10px;
}


body#Manbooking div#Page {
  background: #fff url(../images/style/bg-dropped.gif) repeat-x top left;
}

div#Page div#InfoPad {
  width: 160px;
  border: 1px solid #FFEFCF;
  padding: 9px;
  margin: 20px 0 8px 10px;
  background: #FFF8EB url(../images/style/notebg.png) repeat-x top left;
}

div#Page em {
  font-weight: bold;
  padding: 0 2px;
  background-color: #fff6bb;
  font-style: normal;
}

div#Page div#Main h1 {
  color: #930;
  font-size: 24px;
  line-height: 40px;
  font-weight: bold;
}

div#Page div#InfoPad h2 {
  font-size: 18px;
  margin-top: 0;
}

div#Page div#InfoPad ol {
  padding-left: 1.6em;
}

div#Page div#InfoPad div#Steps, div#Page div#InfoPad div#BookerInfo {
  border-bottom: 1px solid #C2BFBD;
  margin-bottom: 1em;
}

div#Page div#search_results {
  border: 1px solid #824518;
  padding: 0 9px;
}

body#ManBooking {
  padding: 0;
  margin: 0;
}

body#ManBooking div.fieldset-group legend {
  color: #930;
  font-size: 18px;
  line-height: 24px;
  font-weight: bold;
}

body#ManBooking div.fieldset-group fieldset {
  border: 0;
  padding: 0;
  display: block;
  margin: 0;
}

div#Flash {
  text-align: left;
  border: 1px solid #ccc;
  font-size: 14px;
  margin: 5px 7px 12px 0;
  padding: 5px 5px 5px 30px;
}

div#Flash.notice {
  border-color: #9c9;
  color: #060;
  background: url(../images/alertgood_icon.gif) #E2F9E3 left no-repeat;
}

div#Flash.warning {
  border-color: #c99;
  color: #fff;
  background: url(../images/alertbad_icon.gif) #c00 left no-repeat;
}

body.new {
  text-align: center;
  background-color: #666;
  margin: 0;
  padding: 0;
  background: url(../images/style/background.gif) #36414d top left repeat-x;
}

div#Container {
  width: 700px;
  margin: 0 auto;
  text-align: left;
  background-color: #fff;
  padding: 0 10px;
  border-bottom: 2px solid #332925;
}

div#Header {
  height: 40px;
  width: 700px;
  background: transparent url(../images/style/header.gif) left no-repeat;
  padding: 0 10px;
  margin: 0 -10px;
}

div#Header ul#AccountControls {
  float: right;
  list-style-type: none;
  padding: 2px 9px;
  border: 1px solid #D3A36B;
  background-color: #fff;
  border-top: 0;
}

div#Header ul#AccountControls, div#Header ul#AccountControls li {
  margin: 0;
  text-indent: 0;
}

div#Header ul#AccountControls li {
  display: inline;
  padding: 0 2px;
}

div#Header h1 {
  color: #fff;
  font-size: 24px;
  line-height: 32px;
  clear: both;
  padding: 8px 0 0;
  font-weight: normal;
  display: none;
}

h1 {
  font-size: 24px;
  line-height: 32px;
}

h1, h2 {
  color: #930;
}

h1 {
  border-bottom: 1px solid #332925;
  padding-bottom: 8px;
}

h1#CamperName {
  border: 0;
  padding-bottom: 0;
}

ul.categorised {
  list-style-type: none;
  padding: 0;
  text-indent: 0;
  margin: 0 0 1em;
  background-color: #004C99;
  color: #fff;
}

ul.categorised ul {
  list-style-type: none;
  padding: 0;
  text-indent: 0;
  margin: 0;
  background-color: #fff;
  color: #332925;
}

ul.categorised ul li {
  background-color: #fff;
  margin: 0;
  padding: 0 0 0 2em;
}

ul.categorised ul li.even {
  background-color: #DDE7F1;
}

ul.categorised a { color: #fff; }
ul.categorised a:visited { color: #fff; }
ul.categorised a:hover { background-color: #fff; color:#004C99; }
ul.categorised ul a { color: #004C99; }
ul.categorised ul a:visited { color: #004C99; }
ul.categorised ul a:hover { color: #fff; background-color:#004C99; }

div#Navigation {
  width: 720px;
  margin: 0 -10px;
  padding: 0;
  border-top: 1px solid #332925;
  border-bottom: 1px solid #332925;
  background-color: #fff;
}

div#Navigation ul {
  list-style-type: none;
  padding: 2px 10px;
  background-color: #fff;
}

div#Navigation ul, div#Navigation ul li {
  margin: 0;
  text-indent: 0;
}

div#Navigation ul li {
  display: inline;
  padding: 0 2px;
}

div#Footer {
  clear: both;
  width: 100%;
  text-align: center;
  color: #999;
  padding: 0 30px;
}

div#Footer p {
  text-align: center;
}

div#CampInformation, div#BookingInformation, div#CamperInformation, div#ContactInformation {
  width: 450px;
  float: left;
}

div#CampInformation dl dt, div#ContactInformation dl dt, div#BookingInformation dl dt, div#CamperInformation dl dt {
  clear: left;
  float: left;
  font-weight: bold;
  width: 150px;
  padding: 0;
  border-top: 1px solid #ccc;
}

div#CampInformation dl dd, div#ContactInformation dl dd, div#BookingInformation dl dd, div#CamperInformation dl dd {
  float: left;
  width: 300px;
  margin: 0 0 1em;
  padding: 0;
  border-top: 1px solid #ccc;
}

div#CampInformation dl dd p, div#ContactInformation dl dd p, div#BookingInformation dl dd p, div#CamperInformation dl dd p {
  margin: 0 0 1em;
}

div#CampInformation dl dd dl dt {
  width: 200px;
}

div#CampInformation dl dd dl dd {
  width: 100px;
  text-align: right;
  font-family: monospace;
}


div#CampControls, div#ContactControls, div#BookingControls, div#CamperControls {
  width: 230px;
  padding: 0 10px;
  float: left;
}

div#CampControls textarea, div#ContactControls textarea, div#BookingControls textarea, div#CamperControls textarea {
  width: 220px;
  padding: 2px 4px;
  border: 1px solid #000;
  margin: 1em 0;
}

div#BookingControls label {
  float: left;
  width: 100px;
  padding: 0 20px 0 0;
  clear: left;
}
div#BookingControls input, div#BookingControls span {
  width: 90px;
}

/*
div.alert-message {
  border: 1px solid #c99;
  color: #fff;
  background-color: #c00;
  padding: 2px 2px 2px 32px;
}

div.alert-message p {
  color: #fff;
} */

div.plain-message {
  border: 1px solid #D3A36B;
  padding: 2px 2px 2px 32px;
  background-color: #ffee77;
}

div.camper-note {
  border: 1px solid #D3A36B;
  padding: 2px;
  background-color: #ffee77;
}

/* Specificity used */
span.ajaxindicator, div.ajaxindicator {
  display: none;
}

dl.price-form label {
  float: none;
  display: inline;
  width: auto;
}

dl.price-form dd {
  font-family: monospace;
  text-align: right;
  padding-right: 3px;
}

dl.price-form dd input {
  text-align: right;
  font-family: monospace;
  margin-right: -3px;
}

div.ages div.form-group, div.minmax div.form-group {
  width: 130px;
  padding: 0 10px 0 0;
  float: left;
  text-align: center;
  clear: none;
}

div.ages div.form-group label, div.minmax div.form-group label {
  display: block;
  width: auto;
  float: none;
  clear: none;
}

div.form-super-group {
  clear: both;
}

th {
  text-align: left;
}

td.price {
  text-align: right;
}

table.BookingsList td.owed {
  text-align: right;
  font-family: monospace; 
}

td.price input {
  text-align: right;
}

table#CampersList, table.BookingsList {
  width: 100%;
  border-collapse: collapse;
}

table#CampersList th, table.BookingsList th {
  font-size: 12px;
  text-align: left;
}

table.BookingsList th.BLStatus, table.BookingsList th.BLCampers, table#CampersList th#CLAge {
  text-align: center;
}

table.BookingsList th.BLOwed {
 text-align: right;
}

table.BookingsList th.BLPaid {
  text-align: center;
}

table#CampersList th#CLGender {
  width: 40px;
}

table.BookingsList th.BLOwed {
  width: 50px;
}

table#CampersList th#CLConfirmed, table#CampersList th#CLConsent, table.BookingsList th.BLConfirmed {
  width: 80px;
}

table#CampersList th#CLPaid, table.BookingsList th.BLPaid {
  width: 103px;
}

table#CampersList img, table.BookingsList img {
  border: 0;
  display: block;
  margin: 0 auto;
}

table#CampersList td, table.BookingsList td {
  border: 0;
  border-top: 1px solid #ccc;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  text-align: center;
}

table#CampersList td.name, table.BookingsList td.name {
  vertical-align: top;
  text-align: left;
}

table#CampersList td.age, table.BookingsList td.campers {
  font-weight: bold;
  width: 100px;
}

div.alert-message, div.important-notice {
  background-color: #FCEDBA;
  border-top: 1px solid #CC9966;
  border-bottom: 1px solid #CC9966;
  padding: 3px 4px 3px 23px;
  background: #FCEDBA url(../images/style/exclamation.png) no-repeat 3px 3px;
}

div.alert-message p, div.important-notice p {
  margin: 0;
}

#CalculationResult { font-weight: bold; }

div.left-right .left {
  width: 340px;
  float: left;
  padding: 0 10px 0 0;
}

div.left-right .right {
  width: 330px;
  float: left;
  padding: 0 0 0 20px;
}

.address-portion select, .address-portion input  {
  width: 255px;
}

label { font-weight: bold; }
.url_div {
	
	background-color: #ffffff;
	position: absolute;
	/* set z-index higher than possible */
	z-index:10005; 
	display:none;
	border: 2px solid #d0c5b5;
	margin:5px 0px 0px 215px;
	text-align:left;
	
}
table.floatingHeader {
	background-color: #304BAF;
	color: #fff;
	font-weight: bold;
}
.floatingHeader {
	background-color: #d0c5b5;
	color: #052265;
	font-weight: bold;
}
.error_message{
  float:left;
  padding-left:150px;
  color:red;
  font-weight: bold;
}
/* For campers.rhml in make_booking*/
.MainBooking{
  color: #930;
  font-weight: bold;
  font-size: 13px;
}



table#MailingList {
  width: 100%;
  border-collapse: collapse;
}

table#MailingList th {
  font-size: 13px;
  text-align: left;
}

table#MailingList th#CLAge {
  text-align: center;
}

table#MailingList th#CLGender {
  width: 40px;
}

table#MailingList th#CLConfirmed, table#MailingList th#CLConsent {
  width: 80px;
}

table#MailingList th#CLPaid {
  width: 103px;
}

table#MailingList img {
  border: 0;
  display: block;
  margin: 0 auto;
}

table#MailingList td {
  border: 0;
  border-top: 0px solid #ccc;
  vertical-align: top;
  padding: 0px 0px 10px 0px;
  margin: 0;
  text-align: left;
}

table#MailingList td.name {
  vertical-align: top;
  text-align: left;
}

table#MailingList td.age {
  font-weight: bold;
  width: 100px;
}
div#BannerInformation .alter{
    background-color:#FFF8DE;
}
div#BannerInformation td{
    vertical-align:top;
    padding:0 5px 5px 0;
}

.personal {
width :450px;
font-weight:bold;
}
.required {
color:red;
}

textarea {
 width:450px;
 border: 2px SOLID #1B5996;
}
.addrChurch{
float:left;
width:100px;
}

.inputChurch {
 width:350px;
}

.fieldWithErrors1 {
  float:left;
  display: inline;
  border-left:2px SOLID red;
  border-right:2px SOLID red;
}

