/********* Layout **********/
#main_container {
  padding:93px 0px 40px;
  /*width:995px;
    margin:0px auto;*/
/*  font:10px "LucidaGrande", "Lucida Grande", "LucidaSans", "Lucida Sans", "LucidaSansUnicode", "Lucida Sans Unicode", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;*/
}
#header_logo {
  position:absolute;
  left:10px;
  top:10px;
}
#main_menu {
  padding-left:250px;
  height:36px;
  font-size:12px;
  overflow:hidden;
}
#main_menu a {
  display:block;
  float:left;
  color:black;
  text-decoration:none;
  font-weight:bold;
  text-align:center;
  padding-top:18px;
  height:22px;
  margin-left:4ex;
}
#main_menu a:first-child {
  padding-top:14px;
  margin-left:30px;
}
#main_menu a.current {
  width:123px;
  background: transparent url(/images/tab_topo.png) no-repeat;
  color:#EF5F00;
/*  margin:0;*/
}
#main_menu a:hover {
  color:#EF5F00;
}

#banderole {
  /*background:white url(/images/caixa-foto-principal.jpg) no-repeat 108px 8px;
    padding-left:706px;
    padding-right:10px;*/
  background-color:white;
  padding-top:24px;
  height:276px;
  overflow:hidden;
}
#banderole object {
  margin:-16px 10px 0px 108px;
  float:left;
}
#banderole h1 {
  margin-top:4em;
  margin-bottom:0;
/*  margin-bottom:-20px;*/
}
#banderole h2 {
  margin-top:0;
  margin-bottom:0;
}
#banderole p {
  font-size:12px;
  font-weight:100;
  color:gray;
  margin:1ex 0;
}


#contentarea {
  margin-left:120px;
  clear:both;
}
#leftcol, #rightcol {
/*  display:table-cell;*/
	vertical-align:top;
  padding-top:20px;
/*  outline:1px solid green;*/
}

#leftcol {
	width:512px;
	height:100%;
}
#leftcol p {
  margin-top:0;
  color:white;
}

#rightcol {
	width:300px;
	padding-left:50px;
	height:100%;
/*  outline:1px solid red;*/
}

/*********** Footer ************/
#footer_container {
  color:white;
  background: #9DE3E1 url(/images/rodape_gradient.jpg) repeat-x top;
  margin-top:20px;
  padding:30px 15px 10px 120px;
}
#footer_container #about {
  width:785px;
  margin-bottom:20px;
	-webkit-column-count: 3;
	-moz-column-count: 3;
	-webkit-column-gap: 2em;
	-moz-column-gap: 2em;
}
#footer_container p {
  font-size:10px;
  text-align:justify;
}
#footer_container h3 {
  color:black;
/*  font-size:16px;*/
}
#footer_container h3 + p {
  font-weight:bold;
  font-size:11px;
}
#copyright {
  float:right;
/*  color:gray;*/
}
#footer_menu {
}
#footer_menu a {
  text-decoration:none;
  color:white;
  margin:0px 3ex;
  padding:0;
}
#footer_menu a:hover {
  text-decoration:underline;
}
#footer_menu a:first-child {
  margin-left:0;
}
#signature {
/*  margin-top:10px;*/
  text-align:right;
}
#signature a {
  color:white;
  text-decoration:underline;
}
#signature *{
  vertical-align:middle;
}
/********** Right Col ************/
#comment {
  margin:85px 0px;
}
#comment * {
  margin:0;
}
#comment q {
  font-size:24px;
  font-weight:bold;
  text-shadow:0px 0px 5px gray;
}
#comment p {
  font-size:10px;
  color:gray;
}
#comment a {
  color:black;
  text-decoration:none;
}
#comment a:hover {
  color:#EF5F00;
}
#rightcol h4 {
  background:url(/images/marker_gray.png) no-repeat;
  height:18px;
  font-weight:100;
  color:#EF5F00;
  margin:30px 0 10px;
  padding:3px 0 3px 30px;
}
#owners_box {
  background: url(/images/yellow_box.png) no-repeat;
  padding:15px 25px;
  margin:85px 0px;
  height:56px;
  width:180px;
}
#owners_box * {
  margin:0;
}
#owners_box h3 {
  font-size:18px;
  margin-top:5px;
  margin-bottom:5px;
}
#owners_box p {
  font-size:13px;
  line-height:13px;
  font-weight:bold;
  color:gray;
  margin-top:5px;
  margin-bottom:30px;
}
#special_box {
  background: url(/images/blue_box.png) no-repeat;
  margin:-6px 0 0 -6px;
  padding:20px;
  height:89px;
}
#special_box .property_foto {
  margin-right:14px;
}
#special_box h3,
#special_box h4,
#special_box h5 {
  margin:0;
/*  font-size:15px;*/
}
#event_box {
  background: url(/images/small_bluebox.png) no-repeat;
  margin:-6px 0 0 -6px;
  padding:20px;
  height:60px;
  width:205px;
/*  outline:1px solid blue;*/
}
#event_box h3 {
  margin:0;
  font-size:13px;
}
#event_box p {
  margin:0;
  color:white;
}
#event_box img {
  float:left;
  width:80px;
  height:60px;
  margin-right:10px;
}
#seasons_box {
  background: url(/images/seasons-box.png) no-repeat;
  width:193px;
  height:228px;
  padding:0 20px 20px;
}
#seasons_box h5 {
  clear:left;
  margin:0;
  padding:1em 0 0.75em;
  color:orange;
}
#seasons_box h5.lower {color:olivedrab}
#seasons_box h5.higher {color:crimson}

/*#seasons_box h5:first-child {
  padding-top:0;
}*/
#seasons_box div {
  width:96px;
  float:left;
}
/********* Common Elements **********/
* {
  font-family:"LucidaGrande", "Lucida Grande", "LucidaSans", "Lucida Sans", "LucidaSansUnicode", "Lucida Sans Unicode", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size:10px;
}
body {
  background:#B8E5F0 url(/images/gradient_topo.jpg) repeat-x;
/*  font:10px "LucidaGrande", "Lucida Grande", "LucidaSans", "Lucida Sans", "LucidaSansUnicode", "Lucida Sans Unicode", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;*/
  margin:0;
  padding:0;
}
h1 {font-size:21px;}
h2 {font-size:18px;}
h3 {font-size:16px;}
h4 {font-size:14px;}
h5 {font-size:12px;}
h6 {font-size:10px;}
a img {
  border:none;
}
a:link, a:visited {
  color:#EF5F00;
  text-decoration:underline;
}
a:hover {
  text-decoration:underline;
}
q {
  quotes: '“' '”';
}
abbr {
  text-decoration:underline;
  cursor:help;
}
.marked_blue {
  background:url(/images/marker_blue.png) no-repeat;
  min-height:33px;
  padding:5px 0 5px 40px;
  margin:0 0 -10px -40px;
}
.orange {
  color:#EF5F00;
}
.property_foto,
.place_holder {
  float:left;
  width:120px;
  height:90px;
}
.place_holder {
  background-color:#eee;
  color:#ddd;
  font-size:14px;
  text-align:center;
  height:55px;
  padding-top:35px;
}
.pax_icon {
  display:block;
  margin-left:-7px;
}
#paginator {
  text-align:center;
  margin-top:-10px;
  clear:both;
}
.brand_name {
  font-style:italic;
}
.tooltip {
  cursor:help;
}
.hidden {
  display:none;
}
/*********** Repeated Elements ***********/
#property_box_container {
  margin:0px 0 11px -43px;
}
/*#property_box_container .property:nth-child(odd) { implemented throuph JS in tweakCSS() in application.js */
.clearLeft {
  clear:left;
}
.property {
  float:left;
  margin:0px -11px 20px 34px;
  width:254px;
}
.property h3 {
  font-size:15px;
  margin:0 0 0 23px;
}
.property .box {
  background: url(/images/white_box.png) no-repeat bottom;
  padding:11px;
  width:232px;
  height:115px;
}
.property .property_foto,
.property .place_holder {
  margin:12px;
}
.property .pax_icon {
  margin-top:20px;
}
.property .type {
  font-size:12px;
  color:gray;
}
.property .rate {
  color:#01a9cd;
}
.property .specials {
  text-align:center;
  color:#EF5F00;
  text-shadow:white 1px 1px 2px;
}
#event_container {
  clear:both;
}

.tab {
  position:relative;
  background:url(/images/tab_details.png) no-repeat;
  left:10px;
  z-index:1;
  width:136px;
  height:19px;
  padding-top:10px;
  font-size:14px;
  font-weight:bold;
  text-align:center;
  color:#01a9cd;
}

/******** OPTION TABS *********/
#option_tabs {
  background-color:white;
/*  outline:1px solid blue;*/
  padding-left:120px;
  height:31px;
}
#option_tabs a {
  display:block;
  float:left;
  height:11px;
  padding:10px 0;
  font-size:13px;
  color:gray;
  text-decoration:none;
  text-align:center;
  margin-left:1em;
}
#option_tabs a:first-child {
  margin-left:0;
}
#option_tabs a.current {
  background:#B8E5F0 url(/images/tab_body_down.png) no-repeat;
  width:139px;
  font-weight:bold;
  color:#EF5F00;
}
#option_tabs a:hover {
  color:#EF5F00;
}

/******** TEXT BOX *********/
.text_box {
  position:relative;
  background:url(/images/caixa_txt_body.png) repeat-y;
  margin:8px 0 0 -10px;
/*  display:none;*/
}
.text_box > * {
  margin:0 40px;
}
.text_box .border {
  position:relative;
  margin:0px;
}
.text_box .border.top {
  top:-16px;
}
.text_box .border.bottom {
  top:21px;
}
#logo { /* about page */
  float:left;
  margin:-7px 10px 10px -8px;
}
.text_box h2 {
  color:#01a9cd;
}
#leftcol .text_box p {
  color:gray;
}
.text_box ul {
  padding:0 0 0 3ex;
  color:gray;
}

/******** APARTMENT TABS *********/
#details_pane *{
  font-size:10px;
}
#detail_foto {
/*  outline:1px solid blue;*/
  width:500px;
  height:375px;
}
#picture_gallery {
  height:66px;
  width:500px;
  padding:0;
  margin:5px 0 10px;
  overflow:auto;
	white-space:nowrap;
}
#picture_gallery img{
  width:64px;
  height:48px;
  margin-left:5px;
  cursor:pointer;
}
#picture_gallery img:first-child {
  margin:0;
}

/******** APARTMENT DETAILS *********/
/*#apartment_details h4*/
#apartment_details h5 {
/*  font-weight:normal;*/
}
#apartment_details h6 {
  color:#EF5F00;
  font-weight:normal;
  margin-bottom:0;
}
#apartment_details table {
  border-spacing:1ex;
}
#apartment_details th {
  text-align:right;
}

/******** APARTMENT TABS *********/
#apartment_tabs {
  position:relative;
  left:10px;
  z-index:1;
  height:29px;
  margin:0;
  padding:0;
  background-color:#B8E5F0;
/*  outline:thin solid blue;*/
}
#apartment_tabs a {
  display:block;
  float:left;
  margin-left:2em;
  padding-top:10px;
  font-size:12px;
  color:gray;
  cursor:pointer;
  text-decoration:none;
}
#apartment_tabs a:first-child {
  margin-left:0;
}
#apartment_tabs a.current {
  background:url(/images/tab_details.png) no-repeat;
  width:136px;
  height:19px;
  font-weight:bold;
  text-align:center;
  color:#01a9cd;
  cursor:default;
}
.tab_pane {
  display:none;
}
.tab_pane.current {
  display:block;
}
.tab_pane > a {
  display:none;
}

/******** LOCATION *********/
#location_foto {
  float:left;
  margin:0 2ex 2ex 0;
}
#map {
  clear:both;
  margin:20px 0 0 0;
  width:auto;
  height:300px;
}
/******** GUESTBOOK *********/
#comments div {
  text-align:right;
}
#guestbook label {
  display:block;
}

/******** RESERVATION FORM *********/
/*#returning_customer,
#new_customer {
  display:table-cell;
  outline:1px dotted blue;
}*/
#reservation input[type=radio] {
	margin-right:1ex;
}
#reservation input[type=text],
#reservation input[type=password] {
	margin-bottom:1ex;
}
#reservation #reservation_data input {
	margin-bottom:2ex;
}
#reservation legend,
#reservation label {
  display:block;
	color:#EF5F00;
}
.inline {
  display:inline;
}
.dimmed {
	color:silver;
}
#returning_customer label:first-child,
#new_customer label:first-child {
	padding:1ex;
	margin-bottom:2ex;
	background-color:#0FA5CA;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	color:white;
	font-weight:bold;
}
#returning_customer div {
  width:200px;
}
#returning_customer div p {
  text-align:justify;
}
#new_customer {
  float:right;
}
#new_customer input[type=text],
#new_customer input[type=password] {
	width:40ex;
}
#reservation_data {
	clear:both;
}
#reservation fieldset {
	border:none;
	padding:5px 0;
	margin:10px 0;
}
#reservation_data > fieldset {
	border-top:1px solid gray;
}
input[name*=year] {
	width:6ex;
}
input[name*=pax],
input[name*=day],
input[name*=month] {
	width:4ex;
}
#reservation fieldset fieldset {
	display:inline;
	margin-right:50px;
	color:gray;
}
#reservation fieldset fieldset legend {
	color:gray;
}
#reservation fieldset label {
	display:inline;
	margin-right:2ex;
	color:gray;
}
#submit_row {
  margin-top:3ex;
  clear:both;
}
#submit_row * {
  vertical-align:middle
}
#errorExplanation h2 {
  font-size:14px;
  color:#EF5F00;
}
#errorExplanation p {
  
}
#errorExplanation ul {
  
}
/********** HOME PAGE ***********/
#quick_search {
  margin-top:15px;
  margin-left:654px;
  width:260px;
  text-align:center;
/*  outline:1px solid blue;*/
  background: url(/images/qsb_box.png) no-repeat 0px 20px;
}
#quick_search h2 {
  color:#EF5F00;
  margin:0;
/*  outline:1px solid blue;*/
}
#quick_search p {
  font-size:13px;
  color:gray;
  width:200px;
  margin:0 auto;
}
#quick_search .box {
/*  outline:1px solid blue;*/
  display:table;
  border-spacing:5px;
  height:91px;
  width:232px;
  margin:12px auto;
}
#quick_search .box a {
/*  outline:1px solid blue;*/
  display:table-cell;
  text-align:center;
  vertical-align:bottom;
  color:black;
  font-weight:bold;
  text-decoration:none;
}
#quick_search .box a img {
  display:block;
  margin:-4px auto;
}
#quick_search .box a.one img { width:52px; }
#quick_search .box a.two img { width:57px; }
#quick_search .box a.many img { width:64px; }
#quick_search .box a span {
  display:block;
  color:white;
  font-size:9px;
  font-weight:100;
/*  line-height:9px;*/
}
#quick_search + * {
/*  clear:both;*/
}
#quick_find {
  width:260px;
  margin-left:654px;
  text-align:center;
}
#quick_find h3 {
  color:#EF5F00;
  margin-bottom:0;
}
#quick_find div * {
  vertical-align:middle;
}
#quick_find label {
  color:gray;
  text-align:left;
}

.event_box {
  background: url(/images/caixa_whats_on_homepage.png) no-repeat;
  margin:-10px;
  padding:26px;
  height:70px;
}
.event_box * {
  margin:0;
}
#leftcol .event_box p {
  color:gray;
}
.event_box img {
  float:left;
  margin-right:10px;
}
/******** PARTNERS ********/
#partners h4 {
  color:#017398;
  background-color:#F2F2F2;
  padding:0.25ex 0.5ex;
}
.link {
  color:gray;
}
.link h5 {
  margin:1em 0 0;
  color:black;
}
.link:first-child h5 {
  margin:0;
}
.link a {
  display:block;
}

/******* ABOUT PAGE ********/
.text_box .synopsis {
  font-size:16px;
  font-weight:bold;
  color:black;
}
.text_box .teaser {
  font-size:13px;
  font-weight:bold;
  color:#EF5F00;
  clear:both;
}

/******* ADVANCED SEARCH ********/
#search_panel {
  background: url(/images/search_box.png) no-repeat;
  width:528px;
  height:222px;
  margin-left:-12px;
}
#search_panel table {
  width:100%;
  border-collapse:separate;
  border-spacing:30px 20px;
}
#search_panel td {
  width:50%;
  vertical-align:bottom;
}
#search_panel fieldset {
  border:none;
  margin:0;
  padding:0;
}
#search_panel label,
#search_panel legend {
  font-size:13px;
}
#search_panel label span {
  font-size:9px;
  color:white;
}
#search_panel fieldset label {
  color:gray;
}

/******* CONTACTS ********/
#contacts p {
  margin-top:1ex;
}
#calendar_legend {
  position:absolute;
}
#calendar_legend span {
	padding:0px 0.4ex;
	border:1px solid silver;
}