/* CUBICLEREBELS — corporate web presence stylesheet */
/* Late-90s corporate convention: Verdana 11px, navy #000066, gray rules,
   table-era layout, system fonts only. */

* { margin: 0; padding: 0; box-sizing: border-box; }

html { background: #fff; }

body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #000;
	background: #fff;
	font-size: 11px;
	line-height: 1.5;
	margin: 20px 0 0;
}

a { color: #0000cc; text-decoration: underline; }
a:visited { color: #551a8b; }
a:hover { color: #cc0000; }
img { border: 0; max-width: 100%; }

/* ===== BANNER ===== */
.banner { border-bottom: 3px double #000066; padding: 14px 20px 10px; }
.banner-top { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 8px; }
.logo { font-size: 22px; font-weight: bold; color: #000066; letter-spacing: -0.5px; }
.banner .tag { font-size: 10px; color: #666; margin-top: 2px; }
.dateline { font-size: 10px; color: #666; text-align: right; }

/* ===== LAYOUT (table-era two column) ===== */
.body-table { display: table; width: 100%; border-collapse: collapse; }
.sidebar {
	display: table-cell;
	width: 158px;
	background: #f0f0f0;
	border-right: 1px solid #999;
	padding: 12px 14px;
	vertical-align: top;
}
.content { display: table-cell; padding: 14px 20px 20px; vertical-align: top; }

/* ===== SIDEBAR NAV ===== */
.navhead {
	font-size: 10px; font-weight: bold; color: #000066;
	text-transform: uppercase; letter-spacing: 0.5px;
	border-bottom: 1px solid #999;
	padding-bottom: 2px; margin: 12px 0 5px;
}
.navhead:first-child { margin-top: 0; }
.sidebar ul { list-style: none; margin: 0; padding: 0 0 0 8px; }
.sidebar li { margin: 3px 0; }
.sidebar li.here { font-weight: bold; }
.sidebar li.here a { color: #000; text-decoration: none; }

/* ===== TYPOGRAPHY ===== */
.page-title { font-size: 17px; color: #000066; margin: 0 0 8px; font-weight: bold; }
.section-title {
	font-size: 13px; color: #000066; margin: 18px 0 6px;
	font-weight: bold; border-bottom: 1px solid #ccc; padding-bottom: 3px;
}
.content p { margin: 6px 0; }
.crumb { font-size: 10px; color: #666; margin-bottom: 10px; }
.crumb a { color: #0000cc; }
.newtag { color: #cc0000; font-weight: bold; font-size: 9px; }

/* ===== TABLES ===== */
table.t { width: 100%; border-collapse: collapse; font-size: 11px; }
table.t td { border: 1px solid #999; padding: 5px 8px; vertical-align: top; }
table.t td.hdr { background: #000066; color: #fff; font-weight: bold; }
table.t td.k { background: #f0f0f0; font-weight: bold; white-space: nowrap; }
table.t td.date { white-space: nowrap; color: #666; width: 92px; }
table.t ul { margin: 4px 0; padding-left: 16px; }

/* ===== STAFF RECORD (record table + photograph) ===== */
.record-row { display: table; width: 100%; }
.record-main { display: table-cell; vertical-align: top; }
.record-photo {
	display: table-cell;
	width: 134px;
	vertical-align: top;
	padding-left: 14px;
	text-align: center;
}
.record-photo img, .record-photo .placeholder {
	display: block;
	width: 120px; height: 120px;
	border: 1px solid #999;
	margin: 0 auto;
}
.record-photo .placeholder {
	background: #e8e8e8;
	color: #999; font-size: 9px;
	display: flex; align-items: center; justify-content: center;
	text-transform: uppercase; letter-spacing: 0.5px;
	text-align: center;
}

/* ===== SERVICE BROCHURE BOX ===== */
.servicebar {
	display: block; background: #000066; color: #fff;
	font-weight: bold; font-size: 11px;
	border: 1px solid #999; border-bottom: none;
	padding: 4px 8px;
}
.servicebox { border: 1px solid #999; border-top: none; padding: 10px; background: #fafafa; }
.servicebox table.t { margin-top: 6px; }
.servicebox table.t td { background: #fff; }

/* ===== FIGURE ===== */
.fig { border: 1px solid #999; background: #fff; margin: 8px 0; max-width: 900px; }
.fig img { display: block; width: 100%; height: auto; }
.fig .cap {
	border-top: 1px solid #999; background: #f0f0f0;
	font-size: 10px; color: #333; padding: 4px 8px;
	display: flex; justify-content: space-between; flex-wrap: wrap;
}

/* ===== BOXES ===== */
.contactbox { background: #f0f0f0; border: 1px solid #999; padding: 8px 10px; margin: 12px 0; }
.subsidiary { border: 1px solid #999; border-left: 4px solid #000066; padding: 8px 10px; margin: 8px 0; background: #fff; }
.clients { font-size: 10px; color: #333; margin: 8px 0; }

/* ===== FORMS ===== */
table.form { border-collapse: collapse; font-size: 11px; margin: 8px 0; }
table.form td { padding: 4px 8px 4px 0; vertical-align: top; }
table.form td.k { font-weight: bold; white-space: nowrap; padding-top: 7px; }
input[type="text"], input[type="email"], textarea {
	font-family: inherit; font-size: 11px;
	border: 1px solid #999; background: #fff;
	padding: 4px 6px; width: 260px;
}
textarea { width: 320px; min-height: 100px; }
input[type="submit"] {
	font-family: inherit; font-size: 11px;
	padding: 3px 12px;
	background: #fff; border: 1px solid #000066; color: #000066;
	cursor: pointer; font-weight: bold;
}
input[type="submit"]:hover { background: #000066; color: #fff; }
.errmsg { color: #cc0000; font-size: 10px; font-weight: bold; margin-top: 6px; }

/* ===== FOOTER ===== */
.footer {
	border-top: 2px solid #000066;
	padding: 8px 20px 0; font-size: 10px; color: #666; text-align: center;
}
.footer a { color: #0000cc; }

/* ===== RESPONSIVE (a courtesy of the future) ===== */
@media (max-width: 640px) {
	.body-table, .sidebar, .content { display: block; width: auto; }
	.sidebar { border-right: none; border-bottom: 1px solid #999; }
	input[type="text"], input[type="email"], textarea { width: 100%; }
}

/* ===== SERVICE FIT STRIP ===== */
.fitstrip { border: 1px solid #999; background: #f0f0f0; padding: 6px 10px; margin: 8px 0; font-size: 11px; }
.fitstrip b { color: #000066; }

/* ===== LIVE ASSISTANCE BUTTON (1998 vintage) ===== */
.livebtn {
	display: inline-block;
	font-size: 11px; font-weight: bold;
	background: #fff; border: 2px solid #000066; color: #000066;
	padding: 6px 14px; text-decoration: none; letter-spacing: 0.5px;
}
.livebtn:hover { background: #000066; color: #fff; }
.live-dot { display: inline-block; width: 8px; height: 8px; background: #cc0000; margin-right: 8px; vertical-align: middle; }
