/*
Theme Name: Sex and Justice
Theme URI: http://127.0.0.1:8094/
Description: Clean rebuild theme for sexandjusticebook.com. Recreates the original dark band / white content card layout from clean code. It deliberately contains no code from the archived simplyblack / simplyblackchild themes, which came off the compromised host.
Author: Millennium Group (rebuild)
Version: 1.0
Text Domain: sex-and-justice
*/

/* ---------------------------------------------------------------- reset */
*, *::before, *::after { box-sizing: border-box; }
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, cite, code, em, img, strong, sub, sup, b, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, figcaption, footer, header, main, nav, section {
  margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}
article, aside, figure, figcaption, footer, header, main, nav, section { display: block; }
img { max-width: 100%; height: auto; }

/* ---------------------------------------------------------------- base */
body {
  background: #333;
  color: #000;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  word-wrap: break-word;
}
a { color: #666; text-decoration: none; }
a:hover, a:focus { color: #000; text-decoration: underline; }
h1 { font-size: 2.0em; line-height: 1.25; margin: 0 0 12px; }
h2 { font-size: 1.6em; line-height: 1.25; margin: 24px 0 10px; }
h3 { font-size: 1.3em; margin: 22px 0 8px; }
h4, h5, h6 { font-size: 1.1em; margin: 18px 0 8px; }
p, ul, ol, blockquote { margin: 0 0 16px; }
ul, ol { padding-left: 26px; }
hr { height: 1px; background: #ccc; border: 0; margin: 18px 0; }
em { font-style: italic; }
strong, b { font-weight: bold; }
center { text-align: center; }

/* ---------------------------------------------------------------- chrome */
.site-header-band { background: #000; }
.site-header-band a { display: block; text-align: center; }
.site-header-band img { display: block; margin: 0 auto; max-width: 100%; height: auto; }

.site-nav { background: #000; }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap;
  justify-content: center; gap: 0 4px; }
.site-nav li { position: relative; }
.site-nav a { display: block; padding: 14px 16px; color: #ccc; }
.site-nav a:hover, .site-nav a:focus { color: #fff; text-decoration: underline; background: #1a1a1a; }
.site-nav .current-menu-item > a, .site-nav .current_page_item > a { color: #fff; text-decoration: underline; }

#container {
  max-width: 1160px;
  margin: 20px auto;
  padding: 28px 32px 36px;
  background: #fff;
  border: 1px solid #eee;
}

.site-footer { max-width: 1160px; margin: 0 auto 30px; }
.site-footer .footer-widgets { background: #000; color: #ccc; padding: 20px 32px; }
.site-footer .site-info { background: #000; color: #fff; padding: 12px 32px;
  text-align: center; border-top: 1px solid #1a1a1a; }
.site-footer a { color: #ccc; }
.site-footer a:hover { color: #fff; }

/* ---------------------------------------------------------------- content */
.entry-title { margin-top: 0; }
.entry-meta { font-size: 0.85em; color: #666; margin: 0 0 18px; }
.postmetadata { background: #000; color: #fff; padding: 6px 12px; margin: 0 0 20px; font-size: 0.85em; }
.postmetadata a { color: #ccc; }
.entry-content img.alignleft { float: left; margin: 4px 20px 14px 0; }
.entry-content img.alignright { float: right; margin: 4px 0 14px 20px; }
.entry-content img.aligncenter { display: block; margin: 14px auto; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content h2 { border-bottom: 1px solid #eee; padding-bottom: 6px; }

.post-list { list-style: none; margin: 0; padding: 0; }
.post-list li { border-bottom: 1px solid #eee; padding: 14px 0; }
.post-list .post-list-title { font-size: 1.15em; font-weight: bold; }
.post-list .post-list-date { color: #666; font-size: 0.85em; }

/* review furniture: make every deliberate change visible to the reviewer */
.rebuild-notice {
  border-left: 4px solid #b58900;
  background: #fffbe6;
  padding: 10px 14px;
  margin: 16px 0;
  font-size: 0.95em;
}
.rebuild-external {
  border-bottom: 1px dotted #999;
  color: #666;
  cursor: help;
}
.rebuild-banner {
  max-width: 1160px; margin: 20px auto -10px; padding: 12px 18px;
  background: #0b3d5c; color: #fff; font-size: 0.9em;
}
.rebuild-banner strong { color: #ffd75e; }

/* ---------------------------------------------------------------- forms */
input, select, textarea { border: 1px solid #ccc; padding: 6px; font: inherit; max-width: 100%; }
input[type="submit"], button { background: #000; color: #fff; border: 0; padding: 8px 14px; cursor: pointer; }
input[type="submit"]:hover, button:hover { background: #666; }

/* media elements have an intrinsic ~300px width that overflows a 320px phone */
audio, video { display: block; width: 100%; max-width: 100%; }
table { max-width: 100%; }

/* ---------------------------------------------------------------- small screens */
@media (max-width: 700px) {
  #container { margin: 10px; padding: 18px; }
  .site-nav ul { justify-content: flex-start; }
  .site-nav a { padding: 12px 12px; }
  .entry-content img.alignleft, .entry-content img.alignright { float: none; display: block; margin: 14px auto; }
  .rebuild-banner { margin: 10px; }
  h1 { font-size: 1.6em; }
}
