/* =============================================================================
CONTENT
this might get broken out into types (tables, lists etc...) for specific pages
----------------------------------------------------------------------------- */
.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;}

.footnote {
	font-size:80%;
	}

/* =============================================================================
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%;
  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;
  }

.update-link {
		font-size:10px;
		text-decoration:none;
  }

/* =============================================================================
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 caption span.suites_left {
/*	float: left; */
	width: 50%;
	margin-bottom: 0;
}
table caption span.suites_right {
	float: right;
	width: 50%;
	margin-bottom: 0;
	font-weight: normal;
	font-size: 0.7em;
	text-align: right;
}

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,
table th .unit {
	font-size:90%;
	font-weight:normal;
	}

table tr.active {
	background:#fffce5;
	}

/* tables that act like lists */
table.list,
table.list th,
table.list td {
	border:0;
	line-height:normal;
	}
table.list th {
	width:35%;
	background:0;
	text-align:left;
	font-weight:normal;
	}
table.list th,
table.list td {
	padding-left:0;
	}
table.list caption {
	font-size:1em;
	}

/* basic list (aka Map View) */
table.basic th{
	background:0;
	border-right:0;
	}
table.basic td {
	border-left:0;
	text-align:right;
	}

br.block { display:block }

/* 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-top:0.3em;
  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;
	}

.breakpage {
	display:none;
	}

.building.teaser {
	clear:both;
	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 {
	margin-bottom:1em;
	text-align:center;
	}
.building .title h1 {
	margin-bottom:0;
	}
.building .title h2 {
	margin:0;
	}

.title .extra .contacts {
	display:inline;
	}
.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:21%;
	}
.building .right {
	float:right;
	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.teaser .left img {
	margin-bottom:0;
	}*/

.building.teaser .right table.suites-available {
	margin-bottom:0;
	}

.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 input,
.building.teaser .title a.icon {
	margin-top:4px;
	}
.building.teaser .title h2 {
	margin-bottom:0.3em;
	width: 65%;
	float: left;
	}
.building.teaser .title .infodate {
	margin-bottom:0.3em;
	width: 32%;
	float: right;
	text-align: right;
	}
.building.teaser .extra {
	clear:both;
	}

.building.teaser .left {
	width:10%;
	}
.building.teaser .right {
	width:88%;
	}
.building.teaser .right .left {
	width:38%;
	margin-right:0%;
	}
.building.teaser .right .right {
	float:right;
	width:62%;
	}

/* 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;
	padding-top: 0.5em;
	}
.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.last {
	border-right:0;
	}

table.suites tr {
	/*border-bottom:0.1em solid #edebe3;*/
	}

table.suites-available .leasing-contact {
	min-width:20.5em;
	}

/*table.suites-available .asking-rate {
	min-width:15em;
	}*/

/* 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,
table.report thead 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;
	}

table.suites td.action {
	text-align:center;
	}

/* area: assume max 000,0000 */
table .available-area{
        width:6.5em;
	text-align:right;
}
table .office-area,
table .industrial-area,
table .retail-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 .termination-date,
table .info-date {
	width:7em;
	text-align:right;
	}

/* range: $xx.xx-$xx.xx (13chars) (count hypen & 2 decimals as 1 char... so new total: 11chars) */
table .asking-rate {
	width:7.5em;
	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,
table .lease-type {
	width:3.6em;
	text-align:right;
	}

table .lease-type{
	text-align:center;
	}

/* variable / long */
table .building-name,
table .management-company,
table .address,
table .leasing-district,
table .leasing-contact {
	text-align:left;
	}
table .asking-rate {
	text-align:right;
	}
table .leasing-contact {
	min-width: 13em;
}
/* 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 td {
	padding:0 !important;
	text-align:left !important;
	vertical-align:top !important;
	}
.print-comments textarea.comment {
	overflow:hidden;
	display:block;
	width:100%;
	margin:0;
	padding:0;
	border: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;
		}

/* =============================================================================
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;
	}

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
*/

.gmapdiv {
	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
 */
.gmapdiv {
	width:100%;
	height:200px;
	}
.gmapdivstatic {
  display: none;
  }
.floorplan strong {
	display:block;
	margin-bottom:0.2em;
	text-align:center;
	}

/* =============================================================================
DOWNLOADS
----------------------------------------------------------------------------- */
dd .download {
	margin-top:0.5em;
	}
.download {
	margin-bottom:0.5em;
	padding-bottom:0.5em;
	border-bottom: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.email {
	padding-left:20px;
	background:url(../images/icons/set/email.gif) 0 0 no-repeat;
	}
/*a.img {
	padding-left:20px;
	background-image:url(../images/icons/files/image.gif);
	}*/

/* =============================================================================
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;
		}

/* =============================================================================
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 {
	float:left;
	width:100%;
	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:#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 {
	clear:both;
	margin-bottom:2em;
	}

table.report .caption th {
	background:#8baddd;
	color:#fff;
	font-size:1.4em;
	}

table.report thead th {
	background-color:#f0f5fb;
	}
	table.report thead th input.form-checkbox {
		display:block;
		margin:0.3em auto 0 auto;
		}
	table.report thead th.market {
		text-align:left !important;
		}

table.report thead th.leasing-district {
	width:10.0em;
	}

table.report td {
	text-align:right;
	vertical-align: bottom;
	}
table.report tr.even  {
	background:#f6f5f1;
	}
table.report tbody th {
	background:0;
	}

table.report td.text {
	text-align:left;
	}
table.report td.center,
table.report td.checkbox {
	text-align:center;
	}

#mod-report_standard-4 h2 {
	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;
	}

