/* === Global page layout === */
body {
  max-width: 1100px;        /* limit line width */
  margin: 0 auto;          /* center content */
  padding: 20px;           /* space inside */
  font-family: Arial, sans-serif;
  font-size: 1.02em;
  line-height: 1.6;
  background-color: #fafafa;
  color: #333;
}

/* === Headings === */
h1, h2, h3 {
  color: #00539C;
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.2em;
  margin-top: 1.2em;
}

/* === Links === */
a {
  color: #d6336c;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

th, td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  text-align: left;
  word-wrap: break-word;    
  overflow-wrap: break-word;
}

/* === Tables === */
table {
  /* width: 100% !important; */
  border-collapse: collapse;
  margin: 10px 0 20px 0;
  table-layout: fixed !important;
}




/* Make the Title column widest */
table :is(th, td):nth-child(1) { width: 12% !important; }  /* Date */
table :is(th, td):nth-child(2) { width: 16% !important; }  /* Speaker */
table :is(th, td):nth-child(3) { width: 45% !important; }  /* Title */
table :is(th, td):nth-child(4) { width: 27% !important; }  /* Materials */

/* Let long strings break instead of shrinking the column */
table th, table td {
  /* word-break: break-word; */
  overflow-wrap: anywhere;
  padding: 8px 10px;
  border: 1px solid #ddd;
}




tr:nth-child(even) {
  background-color: #f9f9f9;
}

tr:hover {
  background-color: #f1f7ff;
}

th {
  background-color: #f2f2f2;
  font-weight: bold;
}

/* === Code blocks === */
code {
  background-color: #eee;
  padding: 2px 4px;
  border-radius: 3px;
  font-family: monospace;
}

/* === Paragraph tweaks === */
#about {
  text-align: justify;
  text-justify: inter-word;
}
