/* A rebuild of a newsletter sent as a document attached to an email. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #e9e9e9; color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.45; }
.skip-link { position: absolute; left: 8px; top: -60px; background: #ffffff; color: #111111; padding: 8px 12px; border: 2px solid #111111; z-index: 2; }
.skip-link:focus { top: 8px; }
:focus-visible { outline: 3px solid #0b3b8c; outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.label { background: #fff4d6; border-bottom: 3px solid #7a4b00; padding: 10px 16px; }
.label p { margin: 0; max-width: 60rem; font-size: 1.25rem; }

main { padding: 16px; max-width: 60rem; margin: 0 auto; }

.mail { background: #ffffff; border: 1px solid #b5b5b5; padding: 12px 16px; }
.mail-head { margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid #cccccc; }
.mail-head div { display: flex; gap: 8px; }
.mail-head dt { font-weight: bold; min-width: 4.5em; }
.mail-head dd { margin: 0; }
.mail-body p { margin: 0 0 8px; }
.attachment { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #999999; border-radius: 4px; padding: 6px 10px; background: #f6f6f6; margin: 4px 0 0; }

.opened { margin: 16px 0 8px; }

/* The document keeps its paper width, the way a document viewer shows it. */
.viewer { overflow: auto; background: #8a8a8a; padding: 16px; border: 1px solid #666666; max-height: 640px; }
.sheet { width: 8.5in; min-height: 11in; margin: 0 auto; background: #ffffff; padding: 0.75in; font-family: "Times New Roman", Times, serif; font-size: 11pt; line-height: 1.3; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); }
.masthead { display: flex; align-items: center; gap: 12px; border-bottom: 3px double #111111; padding-bottom: 8px; margin-bottom: 12px; }
.mast-title { font-family: Georgia, serif; font-size: 26pt; font-weight: bold; letter-spacing: 2px; margin: 0; }
.mast-sub { font-style: italic; margin: 0; }
.cols { column-count: 2; column-gap: 0.35in; }
.cols h2 { font-size: 12pt; margin: 10px 0 4px; text-decoration: underline; break-after: avoid; }
.cols p { margin: 0 0 6px; text-align: justify; }
.walks { border-collapse: collapse; width: 100%; font-size: 9.5pt; break-inside: avoid; }
.walks th, .walks td { border: 1px solid #111111; padding: 2px 4px; text-align: left; vertical-align: top; }
.cont { font-style: italic; text-align: right; }

.fair { background: #ffffff; border: 1px solid #b5b5b5; padding: 4px 16px; margin-top: 16px; font-size: 1.25rem; }
.fair h2 { font-size: 20px; }
