
:root { --wrap: 760px; --body: #111; --muted: #555; --link: #4A2C1A; --visited: #4A2C1A; --rule: #cfcfcf; }
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
body { margin:0; color:var(--body); background:#fff; font:14px/1.5 Verdana, Arial, Helvetica, sans-serif; }
a {
  color: var(--link);
  text-decoration: underline;
}

a:visited {
  color: var(--visited);
}

a:hover,
a:visited:hover {
  color: #000;
  text-decoration: underline;
}
p { margin:0 0 1em 0; padding:0; }
h2,h3 { font-family: Verdana, Arial, Helvetica, sans-serif; color:#000; font-weight:normal; }
h2 { font-size:18px; margin:20px 0 12px; }
h3 { font-size:13px; margin-top:20px; }
.wrap { max-width:var(--wrap); margin:0 auto; padding:24px 24px 24px; }
header { position:relative; margin-bottom:8px; }
.home-logo { position:absolute; top:0; left:0; display:block !important; transform:translateY(-17px); }
.home-logo img { width:28px; height:auto; display:block; }
.search-area { text-align:right; display:flex !important; flex-direction:column; align-items:flex-end; position:absolute; top:0; right:0; transform:translateY(-17px); }
.searchbar { display:flex; flex-direction:column; align-items:flex-end; }
.searchbar input[type="search"] { width:225px; padding:3px 4px; border:1px solid #888; border-radius:1px; height:20px; margin-bottom:2px; margin-right:5px; }
.searchbar button { padding:1px 8px; font-size:12px; border:1px solid #888; background:#eee; border-radius:1px; cursor:pointer; align-self:flex-start; }
.titles { text-align:center; padding-top:10px; }
.titles h1 { font-family:Verdana, Arial, Helvetica, sans-serif; font-weight:normal; font-size:25px; margin:0; line-height:1.1; padding-top:50px; }
hr { border:0; height:1px; background:var(--rule); margin:24px 0; }
main.book-content { margin-left:10px; margin-right:10px; }
.attribution-box { border-left:3px solid var(--rule); padding:8px 12px; margin:0 0 22px; background:#fafafa; font-size:12px; color:#333; }
.book-subtitle { text-align:center; color:#333; margin-top:-8px; margin-bottom:18px; }
.toc-list { columns:1; list-style: none; }
.toc-list li { margin:0 0 8px; }
.chapter-marker {
  text-align: center;
  font-weight: 700;
font-size: 1.3rem;
  line-height: 1.3;
  margin: 2rem 0;
}
.resource-heading { font-weight:bold; margin-top:1.2em; }
.page-range { font-size:11px; color:#777; text-align:center; margin:14px 0 20px; }
.book-nav { display:flex; justify-content:space-between; gap:12px; margin:28px 0 10px; font-size:13px; }
.book-nav div { max-width:45%; }
.back-to-volume { text-align:center; font-size:13px; margin:10px 0 20px; }
footer { margin:8px auto 0; text-align:center; font-size:12px; color:var(--muted); }
footer .links a { color:var(--link); }
.footer-narrow { width:calc(100% - 120px); margin-left:auto; margin-right:auto; }
.footer-note { margin-top:6px; font-size:10px; color:#777; line-height:1.3; text-align:center; }
.social-icons img { transform:scale(0.5); }
.search-toggle { display:none; }
@media (max-width:820px) {
  :root { --wrap:92vw; }
  .searchbar input[type="search"] { display:none !important; }
  .search-toggle { display:block !important; width:28px; height:28px; border-radius:6px; border:1px solid #888; background:#eee; cursor:pointer; font-size:15px; }
  .search-wrapper.active input[type="search"] { display:inline-block !important; width:180px; padding:4px 6px; border:1px solid #888; margin-right:6px; }
  .desktop-search { display:none !important; }
  .footer-narrow { width:100%; }
  .book-nav { display:block; }
  .book-nav div { max-width:100%; margin-bottom:8px; }
}
@media (min-width:821px) {
  .search-wrapper { display:flex !important; flex-direction:column !important; align-items:flex-end !important; }
  .desktop-search { display:block !important; }
  .search-toggle { display:none !important; }
}

.book-figure { margin:1.75em auto; text-align:center; }
.book-figure img { display:block; max-width:100%; height:auto; margin:0 auto; }

.teaching-box {
  padding: 20px;
  width: 100%;
  border: 3px solid #000;
  border-collapse: collapse;
  margin: 1.5rem 0;
}


.teaching-box td {
  padding: 20px;
  font-size: 14px;
  line-height: 1.5;
  vertical-align: top;
}

.teaching-box-thin {
  padding: 20px;
  width: 100%;
  border: 1px solid #000;
  border-collapse: collapse;
  margin: 1.5rem 0;
}


.teaching-box-thin td {
  padding: 20px;
  font-size: 14px;
  line-height: 1.5;
  vertical-align: top;
}

.wrap {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 24px;
}

main,
article,
table,
td {
  max-width: 100%;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  overflow-wrap: anywhere;
}

table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

td {
    width: 50%;
    border: 1px solid black;
    padding: 8px;
 
}