/* TESTING
table.suites { background:red;}
#main { background:yellow;}
#footer { background:pink;}*/

/* =============================================================================
CONTENT
this might get broken out into types (tables, lists etc...) but all is fine here
for now
----------------------------------------------------------------------------- */
.intro { font-size:1.2em;}
.intro p { margin-top:0;}

h1#left { text-align:left !important;}

/* for things that we want to kinda act like links, but they need to login first
   currently just on the report menu 'Print' option if you're anonymous
 */
.link-disabled { color:#ccc;}
.link-disabled:hover { cursor:pointer;}


/* =============================================================================
LAYOUT: Content
----------------------------------------------------------------------------- */
.panel {
	float:left;
	}
.panel h1 {
	text-align:left !important;
	}

.panel-left {
  width:67%;
  margin-right:3%;
  }
.panel-right {
  width:30%;
  }

.panel-right form label {
	width:32% !important;
	margin-right:1% !important;
	}
.panel-right form input.form-text,
.panel-right form input.form-password {
	width:60%;
	}

/* group: about/definitions/boma */
.group {
  clear:both;
  float:left;
  width:100%;
  /*margin-bottom:1em;
  padding-bottom:1em;*/
  border-bottom:0.1em dashed #ccc;
  }

/* box */
div.box {
	margin-bottom:1em;
	padding:0.5em;
	border:0.1em solid #ccc;
	}
	div.box.hlite {
		background:#fffded;
	}
	div.box h3 {
		margin-top:0;
	}
	div.box p {
		margin-bottom:0;
	}

/* generic last class: remove bottom margin, padding, borders
   TODO: remove specific classes that do the same thing */
.last {
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
  }


/* =============================================================================
TABLES
----------------------------------------------------------------------------- */
table {
  width:100%;
  margin-bottom:1.2em;
  }

table caption {
  margin-bottom:0.2em;
  font-size:1.4em;
  font-weight:bold;
  text-align:left;
  }

table,
table th,
table td {
  border:0.1em solid #edebe3;
  border-collapse:collapse;
  }

table th,
table td {
  padding:0.3em 0.5em;
  vertical-align:top;
  }

table th { background:#edebe3;}
table.alt th { background-color:#f0f5fb;}
table tbody th { text-align:left;}
table tbody table th { text-align:center;}

table th .note {
	font-size:0.8em;
	font-weight:normal;
	}

/* tables that act like lists */
table.list,
table.list th,
table.list td {
  border:0;
  line-height:normal;
  }
table.list th {
  width:50%;
  background:0;
  text-align:left;
  font-weight:normal;
  }
table.list th,
table.list td {
  padding-left:0;
  }
table.list caption { font-size:1em;}

table tr.active {
	background:#fffce5;
	}
/*testing...
table.list { background:red;}
table.list th { background:yellow;}
.building.teaser table.list th { width:65% !important;}
.building.teaser table.list td { width:25% !important;}*/

/* calculators */
table.calc br { display:block !important;}
table.calc,
table.calc th,
table.calc td {
  border:0;
  }
table.calc thead th {
  background:0;
  text-align:left;
  }
table.calc thead th.qty { text-align:left;}
table.calc tbody th {
  background:#f0f5fb;
  }
table.calc td {
  vertical-align:middle;
  }

table.calc td.total { width:6em;}
table.calc td.notes { width:50%;}
table.calc td.sym { width:1em;}

/* spreadsheet */
table.calc.spreadsheet th,
table.calc.spreadsheet td {
  text-align:right !important;
  }
table.calc.spreadsheet thead th.qty,
table.calc.spreadsheet tbody th,
table.calc td.qty,
table.calc td.name {
  text-align:left !important;
  }

/* checks */
table.calc.checks thead th,
table.calc.checks td {
  text-align:center;
  }
table.calc.checks tbody th {
  border-bottom:0.1em solid #fff;
  vertical-align:middle;
  }

/* totals */
table.calc.totals {
  float:right;
  width:50%;
  }
table.calc.totals tr { background:#f0f5fb;}
table.calc.totals tr.action { background:0;}
table.calc tr.action td { text-align:right;}

table.calc.totals,
table.calc.totals th,
table.calc.totals td {
  border-color:#fff;
  text-align:right;
  }

table.calc.totals td { border-bottom:0.1em solid #fff;}

.choose {
  margin:1.2em 0;
  padding:0.3em 0.5em;
  border:0.1em solid #ccc;
  }

/* forms */
table.calc input.text-box {
  padding:0.2em;
  border:0.1em solid #cec5ba;
  text-align:right;
  }
table.calc input.str {
  text-align:left !important;
  }

table.calc input.display-only {
  padding:0;
  border:0;
  text-align:right;
  }

table.calc textarea { width:100%;}

/* =============================================================================
LISTS
----------------------------------------------------------------------------- */
dl dt { font-weight:bold;}
dl dd { margin-bottom:1.2em;}

ul.list { float:left; margin:0 0 1.2em 0; padding:0;}
ul.list li { float:left; width:100%; list-style:none; /*padding:0.2em;*/ word-wrap:break-word;}
ul.list li.last { margin-bottom:0;}
ul.list li .label { float:left; width:50%; margin-right:5%;}
table ul.list { margin-bottom:0;}

/* inline */
ul.inline { list-style:none; padding-left:0;}
ul.inline li { display:inline;}

/* links / nav items */
ul.links {
	padding-left:0;
	}
ul.links li {
	display:inline;
	margin-right:1em;
	padding-right:1em;
	border-right:0.1em solid #ccc;
	}
ul.links li.last { margin-right:0; padding-right:0; border-right:0;}

/* =============================================================================
BUILDINGS
----------------------------------------------------------------------------- */

/* note text below titles. currently just on search results page */
p#note {
	width:70%;
	margin:-1.6em auto 0 auto; /* neg margin top to account for h1 bottom margin */
	font-size:0.9em;
	text-align:center;
}

.building:after,
.clearfix:after {
  content: ".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}

.clearfix {
	display:inline-block;
	}
html[xmlns] .clearfix {
	display:block;
	}
* html .clearfix {
	height:1%;
	}

.building h3 {
	font-size:1.4em;
	margin:0 0 0.2em 0;
	padding:0;
	background:0;
}

p.na {
	margin-top:0;
}

.building.teaser {
  clear:both;
  /*float:left;*/
  margin-top:1em;
  padding-top:1em;
  border-top:0.1em dotted #ccc;
  }
.building.teaser .right .left table.list th {
	width:50%;
	padding-right:5%;
	}

/*.building .title { text-align:center;}*/
.building .title { margin-bottom:1em; text-align:center;}
.building .title h1 { margin-bottom:0;}
.building .title h2 { margin:0;}
/*.building .title h2 a { color:#4e4e4e;}*/

.title .extra .contacts { display:inline; margin-left:0;}
.title .extra .contacts ul { display:inline; padding-left:0.5em;}
.title .extra .contacts li { display:inline; margin-right:1em;}

/* layout */
.building .left {
  float:left;
  /*width:16.7em; margin-right:1.3em;*/
  width:21%;
  margin-right:2%;
  }
.building .right {
  float:left;
  /*width:61.8em;*/
  width:77%;
  }

.building .right .left, .building .right .right { margin-bottom:1em;}
.building .right .left { width:50%; margin-right:5%; text-align:left;}
.building .right .right { width:45%;}

.building .left img { margin-bottom:2em;}

.building.suite .left { width:17.2em; margin-right:1.8em;}
.building.suite .right { width:38.3em;}

/* teaser */
.building.teaser .title { text-align:left;}
.building.teaser .title input { float:left; margin-right:0.5em;}
.building.teaser .title h2 { /*float:left;*/ margin-bottom:0.3em;}
.building.teaser .extra { clear:both;}

.building.teaser .left {
	width:10%;
	}
.building.teaser .right {
	float:left;
	width:88%;
	}
.building.teaser .right .left {
	width:35%;
	margin-right:2%;
	}
.building.teaser .right .right {
	float:right;
	width:62%;
	}

/* testing ie columns wrapping for print */
/*.building.teaser .left {
	background:yellow;
	}
.building.teaser .right {
	background:green;
	}
.building.teaser .right .left {
  background:blue;
	}
.building.teaser .right .right {
	background:pink;
	}*/

/* detail */
.building.detail .contacts .list-title { float:left; width:35%; margin-right:5%;}
.building.detail .contacts ul { float:left; width:60%;}

.building.detail table.list {
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0.1em solid #eee;
}
.building.detail table.list.last {
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
}

/* thickbox (inline popup windows) */
/*#TB_window .building .right { width:44.3em;}*/

/* misc */
.highlight {
	padding:0.5em;
	background:#ccc;
}
.building-description {
	clear:both;
}
.building-description p {
	margin-top:0;
}
.building .integration {
	text-align:center;
}
.building .integration a {
	clear:both;
	display:block;
}
.building .integration img {
	margin-bottom:1em;
}

/* =============================================================================
TABLES: Building Details
----------------------------------------------------------------------------- */
.building a.back {
	display:block;
	margin-bottom:1.2em;
	}

/* change default table borders to zebra shading */
table.suites,
table.suites th,
table.suites td {
	clear:both;
	border:0;
	}
table.suites th {
	border-right:0.1em solid #fff;
	}
table.suites th.leasing-contact {
	border-right:0;
	}
/*table.suites tr.even {
	background:#f6f5f1;
	}*/
table.suites tr {
	border-bottom:0.1em solid #edebe3;
	}

/* available space view: stylize lease-type rows */
/*table.suites tr.direct {
	background-color:#f2f2f7;
	}
table.suites tr.sublet {
	background-color:#f2faf2;
	}*/


/* empty results */
table.suites.empty tr {
	border-bottom:0;
	}
table.suites.empty td {
	padding:0;
	text-align:left;
	}

/* contacts */
.contacts .info {
	display:block;
	margin-top:0.3em;
	}
.contacts .info span {
	display:block;
	font-size:0.8em;
	}

/* additional rent */
#additional-rent {
  clear:both;
  padding:0 0.3em;
  background:#edebe3;
  }
#additional-rent table {
  margin-bottom:0;
  }

/* =============================================================================
TABLES: Building Data Column Widths

set the widths (em) for columns we know the data length for, so that extra spacing
can be given to other columns.

em is determined by the width of the 'm' in a font-face, many characters, symbols,
and other letters are almost half the width of the 'm' char.

a-z: average = 46% width of one m char

for calculations: 1char (x) = 1em, then...
if chars, x * 0.9
if numeric, x * 0.6 -or- total % 2 + (0.1 * x)
----------------------------------------------------------------------------- */

/* leasing contact: on summary view contacts display just a name, on detail view
   display name & phone number */

table.suites th {
	text-align:center !important;
	}

table.suites.suites-column th,
table.suites.suites-column td {
	font-size:0.9em;
	}

/* form: checkbox */
table .filter {
  width:1.2em;
	text-align:center;
	}

/* area: assume max 000,0000 */
table .available-area,
table .office-area,
table .industrial-area,
table .site-area,
table .typical-floor,
table .contiguous-area {
  width:4.2em;
	text-align:right;
	}

/* date: mmm, dd yyyy */
table .date,
table .possession-date,
table .info-date {
  width:8.1em;
	text-align:right;
	}

/* chars (text/numeric): 4char */
table .year-built,
table .num-floors,
table .office-class,
table .clear-height,
table .num-floors {
  width:2.4em;
	text-align:right;
	}

/* chars (text/numeric): 6char */
table .suite {
  width:3.6em;
	text-align:right;
	}

table .lease-type{
  text-align:center;
	}


/* variable / long */
table .building-name,
table .address,
table .leasing-district,
table .leasing-contact {
  text-align:left;
}

/* special cases to above rules */
table .office-class {
	text-align:center;
}


/* =============================================================================
TABLES: Stacked Availability
----------------------------------------------------------------------------- */

/* make the table columns the same width so that if building comments are
   enabled via the print options the column widths don't shift */
table#stacked-availability {
	table-layout:fixed;
	}
table#stacked-availability th {
	width:15% !important;
	}
	table#stacked-availability th .unit {
		font-weight:normal;
		}
table#stacked-availability th.legend {
	text-align:left;
	background:0 !important;
	}

/* most of the data is numeric... so assume so unless specified */
table#stacked-availability td {
	text-align:right;
	vertical-align:middle;
	padding:0.3em;
	max-width:15%;
	}
	table#stacked-availability tr.text td {
	text-align:left;
	vertical-align:top;
	}


table#stacked-availability br {
	display:block;
	}

table#stacked-availability td.stacked_building {
  vertical-align:bottom;
  }

/* building comments */
.print-comments textarea.comment {
  width:95%;
  margin-bottom:0;
  }
.print-comments .descr {
  color:#8e8984;
  font-size:0.8em;
  }

/* image export buttons */
.export {
  margin-bottom:1em;
  text-align:right;
  }
.export a {
  padding:0.3em 0.5em;
  border:0.1em solid #edebe3;
  text-decoration:none !important;
  }
.export a.img {
  padding-left:20px;
  background:#edebe3 url(../images/icons/files/image.gif) 0 3px no-repeat;
  line-height:16px;
  color:#4e4e4e;
  }
.export a.img:hover {
  background-color:#fffce6;
  }

/* legend */
.legend li {
	clear:both;
	margin:0;
	}
	.legend img {
		float:left;
		margin-right:0.5em;
		}

/* using images so people with background colours & images still see when printing */
/*.legend .box {
	float:left;
	display:block;
	width:40px;
	height:16px;
	margin-right:0.5em;
}
.legend .box.direct {
	background:#006;
}
.legend .box.sublet {
	background:#090;
}*/

/* =============================================================================
TABLES: Stacked Availability (2010.08)
----------------------------------------------------------------------------- */
.stack {
	position:relative;
	margin:0 0 5px 14px;
	border:2px solid #4e4e4e;
	border-bottom-width:0;
	font-size:10px;
	line-height:normal !important;
	}
	.stack .floor {
		position:relative;
		clear:both;
		margin:0;
		padding:0;
		}
	.stack .num {
		position:absolute;
		top:0;
		left:-16px;
		/*z-index:30;*/

		display:block;
		width:12px;
		text-align:right;
		font-weight:bold;
		}
	.stack .floor .data {
		display:block;
		float:left;
		width:100%;
		}

/* note: hover styles no longer works after adding the new positioning */
.stack .floor:hover {
	background:#e0ebf5;
	cursor:default !important;
	}

.stack .floor img {
	float:left;
	height:1.2em;
	}

/* using images so people with background colours & images still see when printing */
/*.stack .type {
	display:block;
	float:left;
	overflow:hidden;
	background-color:#eee;
	}
	.stack .type.direct {
		background-color:#006;
		color:#006;
	}
	.stack .type.sublet {
		background-color:#090;
		color:#090;
	}*/

td.stacked_building {
	padding:0 0 0.1em 0;
	}
	td.stacked_building .details img {
		display:block;
		width:98%;
		float:right;
		}

table#stacked-availability,
table#stacked-availability th.legend,
table#stacked-availability td.stacked_building {
	border-color:#fff;
	border-width:0;
	}

table#stacked-availability th.legend {
	padding:0;
	}
	table#stacked-availability th.legend ul {
		margin:0;
		}

/* =============================================================================
GMAP / FLOORPLAN
----------------------------------------------------------------------------- */

/* gmap terms of use text is too long for the width of the maps
   http://groups.google.com/group/google-maps-api/browse_thread/thread/ffcb7bf7dbd0c50e?pli=1
   http://groups.google.com/group/google-maps-api/browse_thread/thread/3360a82deb471cd3/eab470597606e3b2?#eab470597606e3b2
*/

#mapdiv {
  overflow:hidden;
  margin-bottom:1.2em;
  }

/* IE8: when you print a page with a gmap (building detail), if the page needs
 * more than one page to print on the second page the gmap appears again overtop
 * of the content
 */
#mapdiv {
	width:100%;
	height:200px;
}

#floorplan strong {
  display:block;
  margin-bottom:0.2em;
  text-align:center;
  }

/* =============================================================================
DOWNLOADS
----------------------------------------------------------------------------- */
.download {
  margin-top:0.5em;
  padding-top:0.5em;
  border-top:0.1em dashed #ccc;
  }
.download .title {
  float:left;
  padding-right:1em;
  color:#bbb;
  }
.download ul {
  display:inline;
  padding-left:0;
  }
.download li {
  display:inline;
  list-style:none;
  margin-right:1em;
  }

.download.box {
  margin:0 0 1.2em 0;
  padding:0.5em;
  padding-left:2.5em;
  background:#fafafa url(../images/icons/files/pdf.png) 0.5em 0.5em no-repeat;
  border:0.1em solid #eee;
  }
.download.box.xls {
  background-image:url(../images/icons/files/xls.png);
  }
.download.box h4 {
  margin:0 0 0.3em 0;
  color:#ccc;
  text-transform:uppercase;
  }
.download.box a.doc { padding:0 !important; background:0 !important;}

/* docs / files */
a.doc {
  float:left;
  display:block;
  height:16px;
  line-height:16px;
  padding:0 1em 0 15px;
  background-position:0 0;
  background-repeat:no-repeat;
  }
a.pdf { background-image:url(../images/icons/files/pdf.gif);}
/*a.img { padding-left:20px; background-image:url(../images/icons/files/image.gif);}*/
a.email { padding-left:20px; background:url(../images/icons/set/email.gif) 0 0 no-repeat;}

/* =============================================================================
CONTACT
----------------------------------------------------------------------------- */
ul.contact {
	margin:0 0 1em 0;
	padding:0;
	}
ul.contact li {
	list-style:none;
	float:left;
	width:47%;
	padding:0.5em;
	border:0.1em solid #ccc;
	}
	ul.contact li.odd {
		margin-right:1%;
		}
	ul.contact li.even {
		float:right;
		}
	ul.contact h3 {
		margin:0;
		}


/* =============================================================================
NAVIGATION: ANCHOR
this was used for office geography, which is now using the tab styling of
perspective reports. believe it's not used anymore, so hiding for now.
----------------------------------------------------------------------------- */
/*ul#anchor {
  padding-left:0.5em;
  border-bottom:0.1em solid #ddd;
  }
ul#anchor li {
  display:inline;
  list-style:none;
  line-height:inherit;
  margin-right:0.5em;
  }
ul#anchor li.last { margin-right:0;}
ul#anchor li a {
  padding:0.2em 0.5em 0 0.5em;
  border:0.1em solid #ddd;
  border-bottom-width:0;
  }
ul#anchor li a:hover,
ul#anchor li a.active {
  background:#ddd;
  text-decoration:none;
  }*/

/* =============================================================================
TOOLTIPS
----------------------------------------------------------------------------- */
table.tooltips ul {
  list-style:none;
  margin:0;
  padding-left:0;
  }

table.tooltips li.map {
  margin:0;
  padding:0.5em;
  padding-right:20px;
  background:url(../images/icons/arrow.gif) no-repeat scroll 98% 50%;
  border-bottom:0.1em solid #eee;
  cursor:pointer;
  }

table.tooltips li.last {
  border-bottom:0;
  }

/* =============================================================================
REPORTS
----------------------------------------------------------------------------- */

/* tabs */
.tabs ul {
  margin-bottom:0.3em;
  padding-left:0.5em;
  border-bottom:0.1em solid #ccc;
  }
.tabs li { display:inline;}
.tabs li a {
  margin-right:0.3em;
  padding:0.2em 1em 0.1em 1em;
  border:0.1em solid #ccc;
  border-bottom-color:#ccc;
  border-bottom-width:0;
  text-decoration:none !important;
  }
.tabs li a:hover {
  background:#f0f5fb;
  }
.tabs li.active a {
  /*background:#f0f5fb;*/
  background:#8baddd;
  border:0.1em solid #8baddd;
  border-bottom-width:0;
  color:#fff;
  }
.tabs li.right {
  float:right;
  }

/* table */
form.report-1 input.form-submit {
	margin-bottom:0.5em;
	}
table.report {
	margin-bottom:2em;
	}

/* no longer used. <caption> tag is forcing a page break imediately before it. */
/*table.report caption {
  margin:0;
  padding:0.3em;
  background:#8baddd;
  color:#fff;
  text-align:center;
  }*/

table.report .caption th {
	background:#8baddd;
	color:#fff;
	font-size:1.4em;
}

table.report thead th { background-color:#f0f5fb;}
table.report thead th.market { text-align:left;}
table.report td { text-align:right;}
table.report tr.even  { /*background:#faf9f7;*/ background:#f6f5f1;}
table.report tbody th { background:0;}

table.report td.text  { text-align:left;}
table.report td.center  { text-align:center;}

/* =============================================================================
FILE LIBRARY
----------------------------------------------------------------------------- */
.files {
	float:left;
	width:48%;
	margin-bottom:1em;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	}
.files.typical-suite-floor-plans {
	float:right;
	}
.files h3 {
	margin:0 0 0.2em 0;
	}

ul.lib {
	margin:0;
	padding-left:0;
	}
ul.lib li {
	float:left;
	width:100%;
	list-style:none;
	padding:0.3em;
	border:0.1em solid #edebe3;
	}
ul.lib li.first {
	background:#f6f5f1;
	}
ul.lib a.lightbox {
	float:left;
	margin-right:10px;
	}
ul.lib .actions {
	clear:both;
  float:right;
	}

#file-upload {
	clear:both;
	padding:0.5em;
	border:0.1em solid #edebe3;
	}
#file-upload h2 {
	margin-top:0;
	}
#file-upload hr,
#file-upload br {
	display:none;
	}
#file-upload .file-type input {
	float:left;
  margin:0 0.5em 0 0;
	}
#file-upload label .extensions {
	font-style:italic;
	}
