/* default styles for Contribute (and its broken box model); overridden by layout.css */
body {
  width: 770px;
  }
div#pageContent {
  width: 450px;
  padding: 33px 15px 10px;
  float: left;
  background: #FFF;
  }
div#pageSidebar {
  width: 269px;
  padding: 0 8px;
  float: left;
  background-color: #FFEEA9;
  }
ul.tourFeatures li {
  text-indent: -1em;
  }

/* GENERAL STYLES */
body {
  font: 83% Arial,Helvetica,Verdana,Geneva,sans-serif;
  color: #000;
  background: #0040BF url(../media/template/blue-gradient.gif) repeat-x;
  margin: 0;
  padding: 75px 0 0 15px;
  }
form {
  margin: 0;
  }
input, select, textarea, label {
  font: 100% Arial,Helvetica,Verdana,Geneva,sans-serif;
  }
h1 {
  text-align: center;
  margin: 0 0 20px;
  color: #0033d9;
  font: bold 240%/1.02 Calibri,Arial,Helvetica,Verdana,Geneva,sans-serif;
  letter-spacing: -1px;
  }
h2 {
  color: #F60;
  }
h3 {
  color: #F60;
  padding-top: .5em;
  font-size: 125%;
  text-align: center;
  }
h4 {
  color: #F60;
  font-size: 115%;
  text-align: center;
  }
h5 {
  font-size: 100%;
  }
table {
  font-size: 100%;
  }
p {
  margin: 1.25em 0;
  }
a, a:visited {
  color: #06F;
  }
a:hover, a:active {
  color: #F00;
  }
.top {
  margin-top: 0;
  }
.details {
  font: 75% Arial,Helvetica,Verdana,Geneva,sans-serif;
  color: #808080;
  }
p.details {
  line-height: 1.3;
  }
p.disclaimer {
  font-size: 75%;
  color: #000;
  margin: 1em 0;
  }
.emphasis {
  color: #F60;
  font-style: italic;
  }
div.clear {
  clear: both;
  }

/* list items */
p.listitem {
  margin: 6px 0 6px 10px;
  text-indent: -10px;
  }
p.tightlistitem {
  margin: 2px 0 2px 10px;
  text-indent: -10px;
  }
ol.demispaced li,
ul.demispaced li {
  margin-bottom: .5em;
  }
ol.spaced li,
ul.spaced li {
  margin-bottom: 1em;
  }

/* images */
img.alignLeft {
  margin: 0 10px 7px 0;
  border-color: #000;
  float: left;
  clear: both;
  }
img.alignRight {
  margin: 0 0 7px 10px;
  border-color: #000;
  float: right;
  clear: both;
  }
img.alignCenter {
  margin: 0 0 4px 0;
  border-color: #000;
  }
img.alignFull {
  display: block;
  margin: 1em 0;
  border-color: #000;
  clear: both;
  }
div.alignLeft img, div.alignRight img, div.alignCenter img, div.alignFull img {
  border-color: #000
  }
div.alignLeft {
  margin: 0 10px 7px 0;
  float: left;
  color: #000;
  display: inline;
  }
div.alignRight {
  margin: 0 0 7px 10px;
  float: right;
  color: #000;
  display: inline;
  }
div.alignCenter {
  margin: 0 0 7px 0;
  color: #000;
  display: inline;
  clear: both;
  }
div.alignFull {
  margin: 1em 0;
  color: #000;
  clear: both;
  }
div.imgCaption {
  border-bottom: 1px solid #CCC;
  padding: 2px 0;
  font: 75% Arial,Helvetica,Verdana,Geneva,sans-serif;
  color: #000;
  text-align: left;
  }
span.imgCredit {
  color: #afafaf;
  }
span.imgCredit a, span.imgCredit a:visited {
  color: #afafaf;
  text-decoration: none;
  }
span.imgCredit a:hover {
  color: #00F;
  text-decoration: underline;
  }

/* Included features text (under price) */
p.featureInc {
  text-align: center;
  font-weight: bold;
  color: #000;
  margin: 0 auto 1.5em;
  width: 22em;
  }
p.featureInc a, p.featureInc a:visited {
  text-decoration: none;
  color: #000;
  }
p.featureInc a:hover {
  text-decoration: underline;
  }

/* Price tables */
table.priceBox {
  border-collapse: collapse;
  margin: 1em auto;
  min-width: 18em;
  }
#pageSidebar table.priceBox {
  margin: 1.6em auto 0;
  width: 19em; /* per specs, contents can still push tables wider */
  }
table.priceBox th {
  padding-bottom: 5px;
  text-align: center;
  }
table.priceBox h3 {
  margin: 0 0 4px 0;
  padding: 0;
  }
table.priceBox td.wrapper {
  background: #FFF url(../media/template/price-table-border.gif);
  border: 1px solid #042CAC;
  }
table.priceBox div.wrapper {
  border: 1px solid #042CAC;
  padding: 2px;
  background: #FFF;
  }
table.priceBox table {
  width: 100%;
  width: expression((this.parentElement.offsetWidth-6) + 'px');  /* hack for IE < 6) */
  border-collapse: separate;
  }
table.priceBox table th {
  padding: 3px 5px;
  text-align: center;
  background: #042CAC;
  color: #FFF;
  font-weight: bold;
  text-transform: uppercase;
  }
table.priceBox table td {
  background: #FFF;
  padding: 3px;
  vertical-align: top;
  border-width: 1px;
  border-style: solid none;
  border-color: #FFF;
  empty-cells: show;
  }
#pageContent table.priceBox table td {
  padding: 3px 5px;
  }
table.priceBox table tr.subhead td {
  background: #FFDD75;
  text-align: center;
  font-size: 95%;
  text-transform: uppercase;
  border-top: 3px solid #FFF;
  }
table.priceBox table tr.key td {
  font-size: 75%;
  font-style: italic;
  font-weight: bold;
  }
table.priceBox table tr.alt td {
  background: #FFF4C8;
  border-color: #FFE99D;
  }
table.priceBox table tr.soldout td {
  background: #FFCFCF;
  border-color: #FFF #FFCFCF #FFCFCF;
  }
table.priceBox table tr.child td {
  border-style: dotted none none;
  border-color: #FFE99D;
  padding: 2px 3px 1px 12px;
  }
table.priceBox table tr.alt.child td {
  border-style: none none solid;
  }
.notes {
  font-size: 85%;
  }
table.priceBox td.notes p {
  margin: .9em 0 0 0;
  }
table.priceBox td.notes p.top {
  margin-top: .45em;
  }
p.notes {
  margin: .75em 0;
  }

/* Customer quotes */
div.custQuote {
  font: italic 100% Trebuchet MS,Arial,sans-serif;
  background: #FFF8ED url(../media/gallery/icons/quotes-open.gif) no-repeat 6px 7px;
  border: 2px dotted #FFD0A1;
  clear: both;
  padding: 8px 6px 8px 27px;
  margin: 1.5em 0;
  color: #0026E5;
  overflow: auto;
  line-height: 1.35;
  }
div.custQuote p {
  margin: 0;
  padding-right: 20px;
  }
div.custQuote p.quote {
  background: #FFF8ED url(../media/gallery/icons/quotes-close.gif) no-repeat bottom right;
  margin-bottom: .8em;
  }
div.custQuote img {
  float: left;
  margin: 3px 10px 5px 0;
  }
div.custQuote p, div.custQuote img {
  position: relative; /* IE<=6 bug fix */
  }

/* Itinerary tables */
table.itinerary {
  border: 1px solid #000;
  border-collapse: collapse;
  width: 420px;
  }
table.itinerary th {
  background-color: #00F;
  color: #FFF;
  padding: 3px 6px;
  }
table.itinerary td {
  padding: 2px 6px;
  vertical-align: top;
  }
table.itinerary td.day {
  background-color: #EEE;
  padding: 2px 6px 2px 4px;
  white-space: nowrap;
  text-align: center;
  }
table.itinerary tr.key td {
  font-size: 80%;
  color: #808080;
  }

/* Tour feature list */
ul.tourFeatures {
  margin-left: 0;
  margin-bottom: 1.5em;
  padding: 0;
  }
ul.tourFeatures li {
  margin: .4em 0 .4em 1.5em;
  padding: 0;
  }
  
/* Good works features */
div.goodWorksFeature {
  margin: 1.5em 0 1em;
  border: 2px solid #0040BF;
  background: #EEFFCC url(../media/gallery/promo/friendlier-planet-globe-corner.gif) no-repeat;
  padding: 9px;
  font-size: 93%;
  }
div.goodWorksFeature h3 {
  margin: 0 0 1em 44px;
  padding: 0;
  }
div.goodWorksFeature p {
  margin: 1.25em 0 .5em;
  }

/* Info & error msg formatting */
div.errorMsg {
  clear: left;
  border: 1px solid #FCC;
  background-color: #FFEBEB;
  margin: 1em auto;
  text-align: left;
  color: #F00;
  font-weight: bold;
  min-height: 40px;
  overflow: auto;
  width: 100%;
  }
div.infoMsg {
  clear: left;
  border: 1px solid #FFDDAE;
  background-color: #FFF5E5;
  margin: 1em auto;
  text-align: left;
  color: #ff5e00;
  font-weight: bold;
  min-height: 40px;
  overflow: auto;
  width: 100%;
  }
div.errorMsg p, div.infoMsg p {
  margin: 6px 6px 6px 53px;
  }
div.errorMsg ul, div.infoMsg ul {
  margin: 6px 6px 6px 70px;
  padding: 0;
  }
div.errorMsg ul li, div.infoMsg ul li {
  margin-bottom: .25em;
  }
div.infoMsg img, div.errorMsg img {
  margin: 6px;
  float: left;
  }

a {
  cursor: pointer; /* Opera */
  }
div.enlarge {
  position: relative;
  z-index: 99;
  text-align: right;
  background: url(../media/gallery/icons/enlarge.png) right top no-repeat;
  height: 15px;
  }
div.enlarge.on {
  background: url(../media/gallery/icons/enlarge_ON.png) right top no-repeat;
  }

.btn {
  background: #F2F9FF;
  padding-top: 1px;
  padding-bottom: 1px;
  color: #000;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid #7C8FA6;
  }
.btn:hover, .btn:active {
  background-color: #0039E5;
  text-decoration: none;
  border-color: #003B99;
  color: #FFF;
  }
.btn {
  background-image: url(../media/template/button_shade.png);
  background-position: bottom;
  }
.btn.big {
  padding-top: 2px;
  padding-bottom: 2px;
  }

.big {
  font-size: 125%;
  }
.bright {
  color: #FF4800;
  }

table#callToBook td td {
  padding: 7px 4px 3px 75px;
  background: url(../media/gallery/customer-service.jpg) 0 3px no-repeat;
  }
table#callToBook big {
  color: #F60;
  font-weight: bold;
  font-size: 140%;
  display: block;
  margin: .5em 0 .1em;
  }
table#callToBook small {
  display: block;
  }
  
div#map {
  width: 420px;
  height: 350px;
  margin: 2em 0 1em;
  overflow: hidden;
  }