/* TopLawFirms.wiki stylesheet, adapted from the TerryPower.wiki templates */

/* Reset & Base Fonts */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; padding: 0; background-color: #f6f6f6; color: #202122; font-family: sans-serif; font-size: 14px; line-height: 1.6; }
a { color: #3366cc; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Top Utility Bar */
.top-bar { background: #ffffff; border-bottom: 1px solid #a7d7f9; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 24px; font-size: 13px; }
.top-bar-left { font-weight: bold; font-size: 16px; letter-spacing: -0.5px; color: #202122; }
.top-bar-left:hover { text-decoration: none; }
.search-box input { padding: 4px 8px; font-size: 13px; border: 1px solid #a2a9b1; border-radius: 2px; width: 240px; max-width: 100%; }

/* Layout Container */
.wiki-container { max-width: 1200px; margin: 0 auto; background: #ffffff; border-left: 1px solid #a7d7f9; border-right: 1px solid #a7d7f9; min-height: 100vh; padding: 16px 32px 48px; }

/* Article Navigation Tabs */
.tab-bar { display: flex; justify-content: space-between; border-bottom: 1px solid #a2a9b1; margin-bottom: 16px; font-size: 13px; }
.tab-group { display: flex; list-style: none; margin: 0; padding: 0; }
.tab-group li { margin-right: 8px; }
.tab-group li a { display: block; padding: 6px 12px; color: #54595d; border-top: 1px solid transparent; border-left: 1px solid transparent; border-right: 1px solid transparent; }
.tab-group li.selected a { background: #ffffff; color: #202122; border-color: #a2a9b1; border-bottom: 1px solid #ffffff; margin-bottom: -1px; }

/* Headings */
h1.firstHeading { font-family: 'Linux Libertine', Georgia, Times, serif; font-size: 28px; font-weight: normal; margin: 0 0 4px 0; border-bottom: 1px solid #a2a9b1; padding-bottom: 4px; }
.siteSub { font-size: 12px; color: #54595d; margin-bottom: 16px; }
h2 { font-family: 'Linux Libertine', Georgia, Times, serif; font-size: 21px; font-weight: normal; border-bottom: 1px solid #a2a9b1; margin-top: 28px; margin-bottom: 8px; padding-bottom: 2px; }
h3 { font-size: 16px; margin: 20px 0 4px; }

/* Infobox */
.infobox { border: 1px solid #a2a9b1; background-color: #f8f9fa; color: #202122; padding: 4px; width: 22em; float: right; clear: right; margin: 0 0 16px 16px; font-size: 12.5px; line-height: 1.4; }
.infobox-title { font-size: 15px; font-weight: bold; text-align: center; padding: 8px 4px 4px; }
.infobox-image { text-align: center; padding: 6px 0; }
.logo-panel { padding: 14px 12px; background: #ffffff; border: 1px solid #c8ccd1; }
.logo-panel.dark { background: #2a3542; border-color: #2a3542; }
.logo-panel img { display: block; margin: 0 auto; max-width: 100%; max-height: 140px; width: auto; height: auto; }
.monogram { display: inline-flex; align-items: center; justify-content: center; width: 120px; height: 120px; border: 1px solid #c8ccd1; background: #eaecf0; color: #54595d; font-family: 'Linux Libertine', Georgia, Times, serif; font-size: 44px; letter-spacing: 2px; }
.infobox table { width: 100%; border-collapse: collapse; }
.infobox th { text-align: left; vertical-align: top; padding: 4px 8px; width: 35%; font-weight: bold; }
.infobox td { vertical-align: top; padding: 4px 8px; }

/* Table of Contents */
.toc { border: 1px solid #a2a9b1; background-color: #f8f9fa; padding: 10px 16px; display: inline-block; min-width: 220px; margin: 16px 0; font-size: 13px; }
.toctitle { font-weight: bold; text-align: center; margin-bottom: 8px; }
.toc ul { list-style-type: none; padding-left: 0; margin: 0; }
.toc ul ul { padding-left: 20px; }
.tocnumber { color: #202122; margin-right: 4px; }

/* Directory table */
.table-wrap { overflow-x: auto; }
.wikitable { border-collapse: collapse; background: #f8f9fa; border: 1px solid #a2a9b1; font-size: 13px; margin: 8px 0 16px; }
.wikitable th, .wikitable td { border: 1px solid #a2a9b1; padding: 6px 10px; text-align: left; vertical-align: top; }
.wikitable th { background: #eaecf0; }

/* Citations & Footnotes */
sup.reference { font-size: 11px; padding: 0 1px; }
ol.references { font-size: 12.5px; line-height: 1.5; }

/* Categories Box */
.catlinks { border: 1px solid #a2a9b1; background-color: #f8f9fa; padding: 6px 12px; margin-top: 32px; clear: both; font-size: 12px; }
.catlinks span { font-weight: bold; }
.lastmod { font-size: 12px; color: #54595d; margin-top: 16px; }

/* Resources page */
.resources-wrapper { padding: 40px 20px; background-color: #f8f9fa; border: 1px solid #eaecf0; border-radius: 4px; margin-top: 20px; }
.centered-list { text-align: center; list-style: none; padding: 0; margin: 0; font-size: 16px; }
.centered-list li { margin-bottom: 16px; }
.centered-list li > a { font-weight: bold; font-size: 18px; }
.link-description { display: block; font-size: 14px; color: #54595d; margin-top: 4px; font-weight: normal; }

/* History page */
.history-controls { padding: 12px; border: 1px solid #a2a9b1; background-color: #f8f9fa; margin: 16px 0; display: flex; align-items: center; }
.history-controls button { padding: 4px 12px; cursor: pointer; border: 1px solid #a2a9b1; background: #ffffff; border-radius: 2px; font-size: 13px; }
.history-list { list-style-type: none; padding: 0; margin: 0; }
.history-list li { border-bottom: 1px dotted #a2a9b1; padding: 8px 0; font-size: 13px; display: flex; flex-wrap: wrap; align-items: center; }
.history-list li:last-child { border-bottom: none; }
.history-radios { margin-right: 12px; }
.history-date { font-weight: bold; margin-right: 8px; }
.history-user { color: #3366cc; margin-right: 8px; }
.history-comment { font-style: italic; color: #54595d; }
.history-bytes { color: #006400; font-weight: bold; margin: 0 8px; font-size: 12px; }
.history-bytes.neg { color: #8b0000; }

/* Footer */
.footer { text-align: center; padding: 24px 0; margin-top: 48px; border-top: 1px solid #a2a9b1; font-size: 12px; color: #54595d; clear: both; }

/* Small screens */
@media (max-width: 760px) {
  .top-bar { padding: 8px 16px; flex-wrap: wrap; }
  .search-box, .search-box input { width: 100%; }
  .wiki-container { padding: 12px 16px 32px; border: none; }
  .infobox { float: none; width: 100%; margin: 0 0 16px 0; }
  .tab-bar { flex-wrap: wrap; }
  .tab-group li { margin-right: 2px; }
  .tab-group li a { padding: 6px 8px; }
}
