.popup {
    text-align: left;
}
#bookTmpl h1 {
    margin-bottom: 0;
}
#bookTmpl p {
    margin-top: 0;
}
#bookTmpl p.error {
    padding-left: 2.25em !important;
}
#bookTmpl p.errorSimpleMsg, .mybooking p.errorSimpleMsg {
    margin: 0;
    padding: .6em 0 0;
    font-weight: bold;
    color: #b30000;
}
#bookTmpl #bookStage1Inc p.errorSimpleMsg {
    margin: 0 0 1.2em;
    padding: 0;
}
#bookTmpl span.exclamation {
    margin-left: 0;
}
#bookTmpl th {
    padding-right: .6em;
}
#cvcCodeHelp {
    background-color: transparent;
    border: none;
}
#cvcCodeHelpInner {
    position: relative;
    left: 17px;
    top: -6em;
    width: 21em;
    padding: 3px;
    border: 1px solid #feba02;
    background-color: #fff9e7;
}
#issueCodeHelpInner {
    width: 500px;
}
#bookForm, #b_bookConfirmationInc {
/*    position: relative;*/
    margin-top: 2.4em;
}
#bookStage3Inc th {
    height: 1.8em;
}
.hideByJS {
    margin-right: 12%;
    border: 1px solid #feba02;
    padding: 2px;
    background-color: #fff9e7;
}
.hideByJS br {
    line-height: 0;
}

/* general */
form, table {
    margin: 0;
}
.err {
    color: #b30000;
    font-weight: bold;
}
.warn {
    color: blue;
    font-weight: bold;
}
input {
	padding-left: .3em;
}

span.hotelname {
	font-size: 120%;
	font-weight: bold;
}
strong {
	font-weight: bold;
}

/* (stage 1 - 4) show stage */
div.stage table {/*
	min-width: 47em; */
	background: #e6edf6;
	border: solid 1px #779bca;/*
	margin-bottom: 2.4em; */
    padding: 0 1px;
}
div.stage td {
	width: 11.75em; /*  11.75 x 4 = 47 */
	padding: .3em 0;
	text-align: center;
	vertical-align: middle;
}
div.stage td.on {
    width: 11.6em;
	color: #feba02;
	font-weight: bold;
	background: #fff;
	border: .2em solid #feba02;
    border-width: 0 .2em;
}
div.stage td.off {
}

/* (stage 1 -5) "your booking" overview */
div.overviewNew { /* modified for tabular display of booking process */
/*	position: absolute; 
	left: 35.5em;*/
    top: 0;
	margin-top:0;
	padding-top: 0;
	width: 11.5em; /* 35.5 + 11.5 = 47 */
	border: 1px solid #779bca;
    /* margin-left: 10px; /* 8 (margin fullwidth) + 2 (border stage table) = 10 */
}

div.overview { /* modified for tabular display of booking process */
	position: absolute; 
	left: 35.5em;
    /*top: 0;*/
	margin-top:0;
	padding-top: 0;
	width: 11.5em; /* 35.5 + 11.5 = 47 */
	border: 1px solid #779bca;
    margin-left: 10px; /* 8 (margin fullwidth) + 2 (border stage table) = 10 */
}

table#bookwrapper td { /* new rule for tabular display of booking process */
	padding-right: 10px;
	vertical-align: top;
}

div.overview div.title, div.overviewNew div.title {
	background: #779bca;
	padding: .3em .6em;
	text-align: left;
	color: white;
	font-weight: bold;
}
div.overview div.content, div.overviewNew div.content {
	padding: .3em .6em;
	text-align: left;
}

/* (stage 0) check availability */
div.when {
	border: 1px solid #779bca;
	width: 47em;
	padding-bottom: .6em;
	margin-bottom: 3.6em;
}
div.when div.title {
	background: #779bca;
	color: white;
	font-weight: bold;
	padding: .3em .6em;
	border-bottom: 1px solid #779bca;
}
div.when div.content {
	padding: 1.2em 1.2em .3em 2.4em;
	margin-bottom: 1.2em;
}
div.when th {
    text-align: left;
    font-weight: bold;
}
div.when td {
    padding: 0 1.2em .6em 0;
}

/* (stage 1) select room page */
table.chooseroom {
	background: #779bca;
	margin-top: 0;
	margin-bottom: 1.8em;
	width: 47em;
    border-spacing: 1px;
}
table.chooseroom th {
	background: #779bca;
	padding: .3em .6em;
	text-align: left;
	vertical-align: top;
	color: white;
	font-weight: bold;
}
table.chooseroom th.maxpers {
	text-align: center;
}
table.chooseroom th.ppd {
	text-align: center;
}
table.chooseroom th.dow {
	font-size: 80%;
	padding: .15em .3em;
	text-align: center;
	background: #e6edf6;
	color: #003580;
}
table.chooseroom td {
	background: white;
	padding: .3em .6em;
	vertical-align: middle;
}
table.chooseroom td.ppd {
	background: #fff0c4;
	font-size: 88%;
	text-align: center;
	vertical-align: middle;
	padding: .3em .3em;
}
table.chooseroom td.pps {
	text-align: right;/*
	width: 80px;*/
}
table.chooseroom td.maxpers {/*
	width: 40px;*/
	text-align: center;
}
table.chooseroom td.nrrooms {/*
	width: 60px;*/
}
div.chooseroomrates {
	padding: .3em;
	border: 1px solid #feba02;
	background-color: #fff0c4;
}
div.chooseroomsubmit {
	text-align: right;
	width: 47em;
	margin-bottom: 1.8em;
}

/* (stage 2) your details page */
div.yourdetails input, div.yourdetails select#ccYear {
	margin-right: .6em;
}
div.yourdetails {
	border: 1px solid #779bca;
	width: 34.8em;
	margin-bottom: .6em;
}
div.yourdetails p.warn {
	vertical-align: middle;
}
div.yourdetails div.title {
	background: #779bca;
	padding: .3em .6em;
	color: white;
	font-weight: bold;
}
div.yourdetails div.content {
	padding: .3em .6em 0;
	background: #e6edf6;
}
div.yourdetails div.name {
	padding: .3em 0;
	background: #e6edf6;
}
div.yourdetails table {
	margin-left: 0;
}
div.yourdetails th {
	text-align: left;
	vertical-align: bottom;
	padding-top: .15em;
	font-weight: bold;
}
div.yourdetails div.guests {
	margin-top: .6em;
}
div.yourdetails div.smoking {
	padding: .3em;
	border: 1px solid #feba02;
	background-color: #fff0c4;
	width: 200px;
}
div.yourdetails div.cc {
	border-top: 1px solid #779bca;
	margin-top: 1.2em;
	padding: .3em 0;
}
div.yourdetails div.ccwhy {
	border-bottom: 1px solid #779bca;
	margin-bottom: .3em;
	font-style: italic;
	padding-bottom: .3em;
}
div.yourdetails span.faq {
	padding-left: 0;
}
div.yourdetails td.cc_fax {
	text-align: right;
	padding-left: 1.8em;
	padding-right: 0;
}
div.yourdetails div.email {
	margin-top: 0;
	padding-left: 0;
}
div.yourdetails div.emailtitle {
	margin-top: .3em;
    font-weight: bold;
}
div.yourdetails div.cvc {
	padding: .3em;
	border: 1px solid #feba02;
	background-color: #fff0c4;
	width: 200px;
}
div.yourdetails p.cvctitle {
	background: #c5d4e9;
	padding: 2px;
	margin: 0px;
}
div.yourdetails div.submit {
	text-align: right;
	background: #e6edf6;
	padding-bottom: .3em;
}
div.yourdetailsnote {
	margin-bottom: 1.2em;
}

/* (stage 3) confirmation */
div.contact {
	border: 1px solid #779bca;
	width: 34.8em;
	margin-bottom: 1.2em;
}
div.contact input {
	margin-right: .6em;
}
div.contact div.title {
	background: #779bca;
	padding: .3em .6em;
	color: white;
	font-weight: bold;
}
div.contact div.content {
	padding: .3em .6em 1.2em;
	background: #e6edf6;
}
div.contact table {
}
div.contact th {
	vertical-align: middle;
	text-align: left;
}
div.contact td {
	vertical-align: middle;
}
div.contact textarea {
	width: 350px;
	margin-bottom: .6em;
}
div.confirmsubmit {
	text-align: right;
	background: #e6edf6;
	padding-bottom: .3em;
}

/* (stage 4) "thank you" page */
div.thankyou {
	border: 1px solid #779bca;
	width: 34.8em;
    width: 47em;
}
div.thankyou h2 {
    background: #779BCA;
    padding: .3em .6em;
    margin: 0;
    color: #FFF;
    font-size: 1em;
    font-weight: bold;
}
div.thankyou div.content {
	padding: .3em .6em 1.2em;
/*  padding: .3em 0 1.2em; CHANGED: use this to make ab en b2 more look like each other */
}
.thankyou h3 {
    margin: 0;
/*    margin: 0 .45em; CHANGED: use this to make ab en b2 more look like each other */
    padding-top: 1em;
}
/*div.thankyou p.b_printConfirmation {
    padding-bottom: 1em;
}*/
.thankyou .b_confirmationDetails {
    border: 1px solid #779BCA;
    border-width: 1px 0;
    margin-top: .6em;
    padding: .3em .6em;
    background-color: #E6EDF6;
}
.thankyou .b_confirmationDetails table {
    width: 100%;
}
.thankyou .b_confirmationDetails th, .thankyou .b_confirmationDetails td {
    padding: .3em .6em .3em 0;
}
.thankyou .b_confirmationDetails td {
    width: 75%;
}
/*#basicConfirmationInfo td {
    width: 50%;
}*/
#b_confirmationMetaDetails td {
    width: 50%;
}
/*.thankyou .b_confirmationDetails #cancelled * {
    color: #C00;
}*/
.thankyou .b_confirmationDetails p {
    margin: .6em 0;
    clear: left;
}
.thankyou .b_confirmationDetails h4 {
    font-size: 100%;
}
.thankyou .b_confirmationDetails .bookingPolicies h4 {
    margin-top: 0;
}
.thankyou .b_confirmationDetails p + h4 {
    margin-top: 1.2em;
}
.thankyou .b_confirmationDetails h5 {
    margin: 0;
}
/*.thankyou .b_confirmationDetails h5.b_NB {
    margin-top: .6em;
}*/
.thankyou .b_confirmationDetails h6 {
    font-style: italic;
    margin: .6em 0 0;
}
.thankyou .b_confirmationDetails table p {
    margin: 0;
    font-weight: inherit;
}
.thankyou .b_confirmationDetails ul {
    margin: 0 .6em .6em 1.8em;
    padding: 0 0 0 .6em;
}
.thankyou .b_extraInfo {
    padding: .6em 1.2em 0;
}
.thankyou .b_extraInfo p {
    clear: left;
    font-style: italic;
}
.thankyou .b_extraInfo img {
    float: left;
    margin-right: 1em;
}
.thankyou .remark {
    font-style: italic;
}
.thankyou #b_travelInfo {
    display: none;
}
.thankyou .roomtypes th, .thankyou .roomtypes td {
    border-top: 1px dashed #779BCA;
    border-top: 1px solid #FFF;
    padding-bottom: .6em;
}
.thankyou .roomDetails {
    margin-bottom: .6em;
}
.thankyou .roomDetails th, .thankyou .roomDetails td, .thankyou .quantityDetails th, .thankyou .quantityDetails td {
    border: 0;
    padding: 0 .6em 0 0;
}
.thankyou .quantityDetails {
/*    table-layout: fixed;*/
}
.thankyou .quantityDetails th {
    font-weight: bold;
}
.thankyou .quantityDetails td {
    width: auto;
}
.thankyou .roomDetails td {
    width: 73%;
}
.thankyou .roomDetails .multiplePeriods th, .thankyou .roomDetails .multiplePeriods td {
    color: #B30000;
}
.thankyou .b_confirmationDetails .b_pricePerDay {
    float: left;
    width: auto;
    margin: .6em 0;
    padding: .15em 0;
    border-top: 1px solid #779BCA;
    background-color: #F2F6FA; /* 50% E6EDF6 */
}
.thankyou .ppdLast {
    border-bottom: 1px solid #779BCA;
}
.thankyou .b_pricePerDay th, .thankyou .b_pricePerDay td {
    border: 0;
    font-size: 88%;
    padding: 0 .3em;
}
.thankyou .b_confirmationDetails .b_pricePerDay th {
    border-right: 1px dotted #779BCA;
}
.thankyou .b_confirmationDetails .b_pricePerDay td {
    text-align: center;
    width: auto;
}
/*.thankyou .b_confirmationDetails .bookingPolicies {
    padding-left: .6em;
    border-left: 3px solid #C00;
}*/
.thankyou .b_confirmationDetails .bookingPolicies {
    padding: .6em .6em 0;
/*    padding: .6em 0; CHANGED: use this to make ab en b2 more look like each other */
    margin: .6em 0;
    background-color: #F2F6FA;
    border: 1px solid #779BCA;
/*    border-width: 1px 0; CHANGED: use this to make ab en b2 more look like each other */
}
/*div.thankyou a {
    font-size: 130%;
    color: #ef9400;
}*/
/*div.thankyou span.bookingnumber {
    padding: .3em;
    background: #fff0c4;
    border: 1px solid #003580;
}*/
/*#bookTmpl div.thankyou p.bookingnumber {
    margin: 1.6em 1em 1.5em 4.6em;
}*/
div.thankyou p.contact {
	margin-left: 2.5em;
}

/* "my booking" page */
div.mybooking {
	border: 1px solid #779bca;
	width: 34.8em;
    margin-top: 0;
	margin-bottom: 3.6em;
}
div.mybooking div.title {
	background: #779bca;
	padding: .3em .6em;
	color: white;
	font-weight: bold;
}
div.mybooking div.content {
	padding: .3em .6em 1.2em 2em;
    /* Min-Height Fast Hack */
	min-height: 26em;
    height: auto !important;
    height: 26em;
}
div.mybooking div.message { width: 28em; padding-top: 2em; font-weight: bold; }
div.mybooking h2 { margin-left: 0em; }
div.mybooking table {
	background: #779bca;
	border-spacing: 1px;
	margin-top: .5em;
}
div.mybooking td, div.mybooking th {
	padding: .2em .6em .2em .6em;
	font-size: 9pt;
}
div.mybooking th {
	color: white;
	background: #779bca;
	font-weight: bold;
}
div.mybooking th.selected { background: #99befc; }
div.mybooking td {
	background: white;
}
div.mybooking td.submit {
	background-color: #fff9e7;
	text-align: center;
	padding-top: .2em;
	padding-bottom: .2em;
}
div.mybooking table.hor th { text-align: right; }
div.mybooking table.change td,
div.mybooking table.change td.cxl { padding-top: .5em; padding-bottom: .5em; }
div.mybooking table.change td.cxl { text-decoration: line-through; }
div.mybooking strong { color: darkorange; font-weight: bold; }
div.mybooking a.button { border: 2px outset #aaa; background-color: #eee; padding: .1em .5em .1em .5em; text-decoration: none; }
div.mybooking td.diff { background-color: #ffb6c1; }

/* confirmation */
div.confirmation {
	border: 1px solid #779bca;
	width: 34.8em;
	padding: 0.5em 1em 0.5em 1em;
	background: white;
}
div.confirmation span.bookingnumber {
	padding: .3em .6em .3em .6em;
	background: #fff0c4;
	border: 1px solid #003580;
}
div.confirmation p.hotel {
	margin-top: 2em;
	margin-left: 6em;
	font-weight: bold;
}
div.confirmation table {
	margin-top: 1em;
}
div.confirmation div.details {
	width: 100%;
	height: 8em;
	padding-left: 6em;
}
div.confirmation table.arrdep {
	float: left;
	border: 1px solid #779bca;
}
div.confirmation th {
	text-align: left;
	font-weight: bold;
	padding: .3em .6em .3em .6em;
}
div.confirmation td {
	padding: .1em .6em .1em .6em;
}
div.confirmation div.nrp {
	float: left;
	border: 1px solid #779bca;
	padding: .3em .6em .3em .6em;
	margin-top: 1em;
	margin-left: 1em;
}
div.confirmation span.remark {
	color: red;
}

/* (stage 0 - 3) showing error messages */
div.msg {
	width: 47em;
}
div.msg li.err {
	list-style-image: url(/static/img/book/error-small.gif);
	list-style-type: disc;
}
div.msg li.warn {
	list-style-image: url(/static/img/book/warning-small.gif);
	list-style-type: disc;
}

/* (roominfo popup) roominfo */
div.roominfo {
	margin: .6em;
}
div.roominfo h2 {
	margin-left: 0;
}
div.roominfo p.close {
	text-align: right;
}

/* FAQ */
div.faq {
	margin: 2.4em;
/*	width: 47em;*/
}
div.faq span.faq {
	font-weight: normal;
	font-size: 120%;
	padding-right: 1.2em;
}
div.faq div.q {
	font-weight: bold;
	text-indent: -3em;
	padding-left: 3em;
}
div.faq div.a {
	text-indent: -3em;
	padding-left: 3em;
	margin-bottom: 1.2em;
}
div.faq p {
	text-align: center;
	margin: 2.4em 0 0 2.4em;
}

/* cancellations */
div.cancellations {
	margin: 0 2.4em 0 2.4em;
}
div.cancellations p.close {
	text-align: center;
}
div.cancellations h2, h3, h4 {
	margin-left: 0px;
}

div.cancellations ul {
	margin-top: 8px;
	margin-bottom: 16px;
}
div.cancellations li {
	margin-bottom: 4px;
}
div.cancellations h3 {
    font-size: 108%;
    margin-bottom: 8px;
}

/* Temporary styles for new confirmation page */
div.bookingnumber {
    margin: 2em 2em 1em;
    padding: .5em;
    background: #FFF0C4;
    border: 1px solid #003580
}
/*p.b_printConfirmation {
    padding-top: 1em
}*/

/* Hide debit card fields by default. They will be revealed by JavaScript in /static/js/book/book.js if enabled. */
div#dc_issue_error,
div#dc_issue_label,
div#dc_issue_number,
div#dc_yyyymm_label,
div#dc_yyyymm_field
{
	display: none;
}

/* Book Stage 3 disabled element styles */

input.disabled
{
	color: grey;
}

input.grey {
	color: #808080;
}

  td.prices,
  th.prices {
    border-top: 1px solid white;  
  }
  td.full-price,
  th.full-price {
    border-color: #779BCA;
  } 
  td.theprice strong {
    width: 7em;
  }  
  td.curr,
  td.theprice {
    text-align: right;  
  }