 /* --- 1. GLOBAL RESET & BASE --- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    font-family: Arial, Helvetica, sans-serif;
    color: #333;
}

.quote {
    font-size: 90%;
    margin-left: 15px;
	margin-right: 15px;
}

/* --- 2. NAVIGATION --- */
.main-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
	background-color: #fffde7;
    padding: 10px 20px;
    min-height: 50px;
}
.nav-links {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}
.nav-links li {
    margin-left: 20px;
    list-style-image: none; /* Removes bullets from the menu */
}
.nav-links li a {
    text-decoration: none;
    font-weight: bold;
    color: #990033;
}
.nav-links li a:hover {
    color: #ff6600;
    text-decoration: underline;
}
/* --- 3. LINK STATES --- */
a:link { color: #990033; text-decoration: underline; }
a:visited { color: #000000; text-decoration: underline; }
a:hover { color: #ff6600; }
a:active { color: #ff0000; }
/* --- 4. LAYOUT --- */
.content-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
	padding: 20px;
}
.main-pane {
    flex: 3;
    min-width: 0; 
}
.right-col {
    flex: 1;
    background: #fdfdfd;
    padding: 0 15px 15px 15px;
    min-width: 250px;
    font-size: 75%;
    color: #444;        
}
@media (max-width: 768px) {
    .content-wrapper { flex-direction: column; }
    .XXXsite-nav { flex-direction: column; text-align: center; }
}
/* --- 5. TYPOGRAPHY & LISTS --- */
h1, h2, h3, summary { color: #990033; margin-bottom: 1rem; }
h1 img, h2 img, h3 img, summary img { 
    border: none !important; 
}
p { margin-bottom: 1.2rem; }
p.highlight {
    font-family: "Times New Roman", Times, serif; 
    font-weight: bold; 
    font-style: italic; 
    color: #990033;
}
.main-pane ul, .rightcol_bullet {
    list-style-image: url('../images/bullet.gif');
    margin-left: 25px;
    margin-bottom: 1.2rem;
}
/* --- 6. SIDEBAR SPECIFIC --- */
.rightcol_lead {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: #000000;
    background-color: #CCCCCC;
    letter-spacing: 1px;
    padding: 6px 10px;
    margin-bottom: 0 !important; 
}

.rightcol_lead:not(:first-child) {
    margin-top: 15px;
}

.rightcol_lead:first-child {
    margin-top: 0;
}

.right-col .right_head:first-of-type { margin-top: 0; }
.rightcol_bullet {
    padding: 0;
    margin-top: 10px;
}
.rightcol_bullet li {
    margin-bottom: 5px; 
    padding-left: 5px; 
}
.rightcol a { font-weight: bold; }

/* --- 7. ARTICLE LIST --- */
.article-list dl { display: flex; align-items: flex-start; padding: 12px 0; margin: 0; }
.article-list dt { flex: 0 0 auto; white-space: nowrap; font-weight: bold; padding-right: 15px; min-width: 140px; }
.article-list dd { margin: 0; }
.article-list dd:first-of-type { flex: 0 0 auto; text-align: center; padding-right: 10px; min-width: 50px; padding-top: 2px; }
.article-list dd:last-of-type { flex: 1; }
/* --- 8. TIME MACHINE DROPDOWN --- */
.time-machine-select {
    width: 100%;
    padding: 10px;
    font-size: 16px; 
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: #990033; /* Brand Red Prompt */
    background-color: #fffde7;
    border: 2px solid #000000; 
    border-radius: 4px;
    cursor: pointer;
    appearance: none;          
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10"><path fill="%23990033" d="M0 0l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.time-machine-select:hover { background-color: #fff9c4; }
.time-machine-select:focus { outline: none; border-color: #ff6600; }
/* Closes gap between heading and form */
.rightcol_lead + form[name="time_machine"] {
    margin-top: 0;
}
/* --- 9. FOOTER --- */
.home-footer {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #eee; 
}
.home-footer p {
    font-size: 0.7rem; 
    color: #888;        
    line-height: 1.4;
}
/* --- 10. MEDIA & IMAGES --- */
iframe {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px 0;
}
img {
    max-width: 100%;
    height: auto;
}
/* 1. THE MAIN CONTAINER 
   [UNCHANGED] Keeps the 100px left indent for the body text. */
.statement-container {
    position: relative; 
    max-width: 800px;
    margin: 40px auto;
    padding-left: 100px; 
}
/* 2. THE H1 HEADING */
.statement-text h1 {
    margin-left: 0;      /* Changed from -40px to 0 */
    margin-bottom: 20px;
}
/* 3. THE OPEN QUOTE
   [EDITED] Adjusted top value for vertical alignment relative to the first <p>. */
/* 4. THE TEXT BLOCK 
   [UNCHANGED] Handles the width of the story text. */
.statement-text {
    width: 100%;
}
/* 5. LIST STYLING
   [EDITED] Set margin-bottom to 0 to stop the list from pushing the quote down. */
.statement-text ul {
    margin-left: 25px;
    margin-bottom: 0;   
    list-style-image: url('../images/bullet.gif');
}
/* 6. LIST ITEM STYLING
   [UNCHANGED] Adds breathing room between bullet points. */
.statement-text ul li {
    margin-bottom: 10px;
}
/* 7. THE CLOSE QUOTE
   [EDITED] Added a negative margin-top to pull it up into the list area. */
.quote-close {
    display: block;
    margin-left: auto; 
    margin-top: -15px;  
    margin-bottom: 20px;
}
/* Container for letter-style content */
.letter-box {
    background-color: #ffffff;
    border: 1px solid #cccccc;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
    /* Indent and width limits */
    margin: 20px 0 20px 40px; /* Top, Right, Bottom, Left (the 40px is your indent) */
    max-width: 700px;         /* Keeps it looking like a standard page width */
    padding: 40px;            /* Internal 'paper' margins */
    /* Typography */
    line-height: 1.5;
    color: #333333;
}
/* Mobile adjustment: reduce indent and padding on small screens */
@media (max-width: 600px) {
    .letter-box {
        margin: 15px auto;    /* Centers the 'letter' on phones */
        padding: 20px;
        max-width: 95%;       /* Let it take up more screen space on mobile */
    }
}
blockquote {
  font-size: 0.8em; /* Or 80% */
}
p.return {
  font-size: 0.6em; /* Or 80% */
  margin-top: 40px;
  font-weight: bold;
}
/* Removes the bottom gap from the label */
.rightcol_lead {
  margin-bottom: 0;
}
/* Overrides the 10px inline margin and the default form spacing */
form[name="time_machine"] {
  margin-top: 0 !important;
}
/* Ensures the select box sits flush against the text box boundary */
.time-machine-select {
  margin-top: 0;
  display: block;
}
.contact-form input,
.contact-form select {
  padding-top: 12px;
  padding-bottom: 12px;
} 
@media (max-width: 768px) {
    .main-nav {
        flex-direction: column;
        padding: 20px 10px;
    }

    .nav-links {
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-top: 15px;
    }

    .nav-links li {
        margin: 10px 0;
    }
}

.subhead {
  display: block;    /* Allows the span to control its own spacing */
  font-size: 0.6em;  /* 60% of the text size */
  line-height: 1;    /* Tightens the space above the span */
  margin-top: 2px;   /* Fine-tune the vertical gap here */
  font-weight: 400;  /* Optional: makes the second line look lighter */
}
.ec-docname {
  font-weight: bold;
  color: #666666;
  margin-bottom: 0.2em; /* Tightens vertical spacing */
}

.ec-doctitle {
  font-size: 0.9em; /* 90% of default */
  color: #666666;
  margin-top: 0;
}

/* Ensures links match the inconspicuous text color */
.ec-doctitle a {
  color: #666666;
}
.ec-doc-image img {
  border: 1px solid #000000;
}
/* Optional: Removes default top margin from the H2 to align with the top of the photo */
.profile-details h2 {
  margin-top: 0;
}

/* Styles the legacy table to fit the new column */
.profile-details table {
  width: 100%;
  border-collapse: collapse;
}
/* High-level Layout */
.profile-row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-top: 1000px;
}
.profile-photo {
  flex-shrink: 0;
}

.ec-profiles {
  overflow: auto;
}
h1 {
    font-size: 1.2em; /* 60% of the default 2em */
}

h2, summary {
    font-size: 1.1em; /* 10% smaller than h1 */
}

h3 {
    font-size: 1.0em; /* 10% smaller than h2 */
}

td, th {
    vertical-align: top;
	text-align: left;
}

table.home-chron img {
    width: auto;       /* Prevents the browser from stretching/shrinking width */
    max-width: none;   /* Overrides common responsive "max-width: 100%" rules */
    display: inline-block; /* Change from block to inline-block */
    vertical-align: middle; /* Aligns the icon nicely with the text */
}

table {
    font-size: 90%;
}
table.home-chron /* no header row */  {
	width: 100%;
	border: none;
	border-collapse: collapse;
}

table.home-chron td {
    padding: 10px 5px; /* top/bottom, left/right  */
}

table.shanda td {
    padding: 0 10px; /* top/bottom, left/right  */
}


table.shanda {
    width: 100%;
    border: none;
    border-collapse: collapse;
}

table.shanda th {
    background: #fffde7;
	padding: 10px
}

table.shanda th p {
    font-size: 80%;
    font-weight: bold;
}

table.shanda p {
}

/* Removes paragraph margins and forces line-height */
table.shanda th p {
    margin: 0;
    line-height: 1; /* Collapses extra space between lines of text */
}

table.candidate-history /* 1x1 table; no header row */ {
	width: 100%;
	border: 1px solid black;
	border-collapse: collapse;
	background: #eeeeee;
}

table.candidate-doc {
	width: 100%;
	border: none;
	border-collapse: collapse;
}

form.atc { /* new */
    border: 1px solid black;
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5px 8px 10px 8px; /* Reduced top and l/r padding */
}

form.atc p:last-of-type { /* new */
    margin-bottom: 5px; /* Reduces space before submit button */
}
form.atc button { /* new */
    align-self: center;
    margin-top: 5px; 
    padding: 5px 20px;
    cursor: pointer;
}
form.atc .rightcol_bullet { /* new */
    margin-top: 0;
	margin-left: 15px;
    margin-bottom: 0;
}

form.atc .rightcol_bullet li { /* new */
    padding-left: 2px; /* Reduced from 5px to tighten space after the bullet icon */
}

form.atc p:first-of-type { /* modified */
    margin-top: 0;
    margin-bottom: 5px; /* new - reduces space before the bullets */
}
.right-col p.highlight {
    font-size: 133%;
	font-weight: normal;
}

table.three-col {
    width: 100%;
    border-collapse: collapse;
}

/* Forces the 1st and 3rd columns to stay on one line and shrink to fit text */
table.three-col td:first-child,
table.three-col td:last-child {
    white-space: nowrap;
    width: 1%;
}

/* Forces the middle column to absorb all remaining space */
table.three-col td:nth-child(2) {
    width: auto;
}
.main-pane ol {
    margin-left: 30px;            /* Fixes the outdent by pushing the list inward */
    margin-bottom: 1.2rem;        /* Matches the bottom spacing of your paragraphs and uls */
    font-size: 1rem;              /* Explicitly locks text to exactly match body size */
}

.main-pane ol li {
    margin-bottom: 0.5rem;        /* Adds clean breathing room between numbered items */
    padding-left: 5px;            /* Slight gap between the number and the text */
}
summary {
    cursor: pointer;          /* Changes mouse to a hand icon on hover */
    font-weight: bold;        /* Headings are bold by default; summary needs it explicitly assigned */
}
.atc-question {
    color: #990033;
    font-size: 90%;
    font-style: italic;
    background-color: #e0e0e0; /* Medium-light grey */
    padding: 10px 15px;        /* Adds breathing room around the text so it doesn't touch the edges */
    border-radius: 4px;        /* Optional: slightly softens the corners of the background box */
}
p.highlight img {
    border: none;
}