* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body */
html, body {
    font-family: 'Didact Gothic', sans-serif;
    background-color: #2a1832;
    color: #1a0f22;
    margin: 0;
    height: 100%;
}

.container {
    width: 1000px;
    background-color: #e8d5b7;
    border-left: 5px solid #c9a84c;
    border-right: 5px solid #c9a84c;
    padding: 20px;
    text-align: left; /* Changed: default to left-aligned */
    margin: 0 auto;
    min-height: 100vh;
    box-sizing: border-box;
}

.container .content {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    color: #1a0f22;
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 20px 0;
    color: #c9a84c;
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #c9a84c;
}

.divider::before { margin-right: 10px; }
.divider::after  { margin-left: 10px; }

img {
    border: none;
    max-width: 100%;
}

.img_centered {
    display: block;
    margin: 0 auto;
}

.img_w_border {
    border: 2px solid #c9a84c;
}

/* Headers */
h1 {
    color: #2a1832;
    font-size: 36px;
    margin-top: 20px;
}

h2 {
    color: #4a2d5a;
    font-size: 32px;
    margin: 20px 0;
}

h3 {
    color: #4a2d5a;
    font-size: 28px;
    margin: 20px 0;
}

h4 {
    color: #4a2d5a;
    font-size: 22px;
    margin: 15px 0;
}

h5 {
    color: #4a2d5a;
    font-size: 18px;
    margin: 10px 0;
}

h6 {
    color: #4a2d5a;
    font-size: 14px;
    margin: 10px 0;
}

p {
    font-size: 18px;
    line-height: 1.6;
    margin: 10px 0;
    color: #1a0f22;
}

/* Alignment utility classes */
.text-center { text-align: center; }
.text-left    { text-align: left; }

/* Links */
a {
    color: #1a0f22; /* Changed: matches default text colour */
    text-decoration: none; /* Changed: no underline by default */
}

a:hover {
    color: #c9a84c;
}

.link-underlined {
    text-decoration: underline;
}

.link-underlined:hover {
    color: #c9a84c;
}

.white-link {
    color: white;
    text-decoration: none;
}

.black-link {
    color: #1a0f22;
    text-decoration: none;
}

/* Lists */
ul {
    text-align: left; /* Changed: left-aligned to go with bullet points */
    list-style-position: inside;
    list-style-type: disc; /* Changed: black bullet points (inherits text colour) */
    font-size: 18px;
    line-height: 1.6;
    margin: 10px 0;
    color: #1a0f22; /* Changed: was white, now matches body text */
}

/* Slop code, image to the side, text left align */

.content-with-image {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.content-with-image .side-image {
    flex: 0 0 240px;
    margin-top: 45px;
}

.content-with-image .side-image img {
    width: 100%;
    display: block;
}

.content-with-image .side-text {
    flex: 1;
}

.content-with-image ul {
    list-style-position: outside;
    padding-left: 16px;
}

/* slop code, table edition */

.notation-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 18px; /* matches your p and ul font-size */
    color: #1a0f22;
}

.notation-table th {
    background-color: #4a2d5a;
    color: #e8d5b7;
    font-weight: bold;
    text-align: left;
    padding: 10px 14px;
    border-bottom: 2px solid #c9a84c;
}

.notation-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #c9a84c;
    vertical-align: middle;
}

.notation-table tr:last-child td {
    border-bottom: none;
}

.notation-table tr:hover td {
    background-color: #d9c4a3; /* slightly darker than your #e8d5b7 container */
}

.notation-table a {
    color: #1a0f22; /* matches your default link colour */
    text-decoration: none;
}

.notation-table a:hover {
    color: #808080; /* matches your a:hover */
}

.notation-table td:nth-child(2),
.notation-table td:nth-child(3),
.notation-table td:nth-child(4) {
    text-align: center;
}

.notation-table th:nth-child(1),
.notation-table th:nth-child(2),
.notation-table th:nth-child(3),
.notation-table th:nth-child(4) {
    text-align: center;
}


#slide-viewer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 2rem auto;
}

.toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
}

#pdfCanvas {
  max-width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
}
