**** specify font-face to correspond to preloaded fonts in stylelinks.txt ****/

/* latin */
@font-face {
	font-family: 'Libre Baskerville';
	font-style: normal;
	font-weight: 400;
	src: url(https://ismacs.net/css/LibreBaskerville-Regular.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
	font-family: 'Libre Baskerville Bold';
	font-style: normal;
	font-weight: 700;
	src: url(https://ismacs.net/css/LibreBaskerville-Bold.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
	font-family: 'Catamaran-Bold';
	font-style: normal;
	font-weight: 700;
	src: url(https://ismacs.net/css/Catamaran-Bold.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
	font-family: 'Catamaran-SemiBold';
	font-style: normal;
	font-weight: 600;
	src: url(https://ismacs.net/css/Catamaran-SemiBold.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
	font-family: 'Catamaran-Regular';
	font-style: normal;
	font-weight: 400;
	src: url(https://ismacs.net/css/Catamaran-Regular.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
	font-family: 'Catamaran-Medium';
	font-style: normal;
	font-weight: 500;
	src: url(https://ismacs.net/css/Catamaran-Medium.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
	font-family: 'Catamaran-ExtraLight';
	font-style: normal;
	font-weight: 200;
	src: url(https://ismacs.net/css/Catamaran-ExtraLight.ttf) format('truetype');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */
/* Modern CSS Reset and Base Styles */
/* Variables for consistent theming */
:root {
	/* orig 2008 gold */
	--navbar-gold: #f9d91f;
	/* Warm gold */
	--accent-color: #d8b26e;
	/* Rich navy */
	--primary: #2B4162;
	/* Warm burgundy */
	--secondary: #722F37;
	/* Warm white */
	--background: #F8F7F2;
	/* Light cream */
	--bg-light: #f8f7f2;
	/* Slightly darker cream for alternating rows */
	--bg-alt: #f1efe8;
	/* Dark text Soft black */
	--text-dark: #333333;
	/* Medium text Dark Grey Granite Gray */
	--text-muted: #666666;
	/* Mid Grey */
	--text-secondary: #888888;
	/* Light text */
	--text-light: #ffffff;
	/* Light gray borders */
	--border-color: #d5d5d5;
	/* Light blue hover */
	--hover-color: #e8f1f5;
	/* Subtle gray */
	--border: #E5E5E5;
	--shadow: rgba(0, 0, 0, 0.1);
	--white: #fff;
	--frontpage-hover-link: red;
	--card-border-color: #A9A9A9;
}

/********** Bootstrap Color Overides ************/
/* Primary Bootstrap color overrides */
.bg-primary {
	background-color: var(--primary) !important;
	/* Rich navy */
}

.text-primary {
	color: var(--primary) !important;
}

.btn-primary {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
}

/* Secondary Bootstrap color overrides */
.bg-secondary {
	background-color: var(--secondary) !important;
	/* Warm burgundy */
}

.text-secondary {
	color: var(--secondary) !important;
}

.btn-secondary {
	background-color: var(--secondary) !important;
	border-color: var(--secondary) !important;
}

/* Light/background Bootstrap color overrides */
.bg-light {
	background-color: var(--background) !important;
	/* Light cream */
}

/* Dark text Bootstrap color overrides */
.bg-dark {
	background-color: var(--text-dark) !important;
	/* Soft black */
}

.text-dark {
	color: var(--text-dark) !important;
}

/* Light text Bootstrap color override */
.text-light,
.text-white {
	color: var(--white) !important;
}

/* Border color overrides */
.border {
	border-color: var(--border-color) !important;
	/* Light gray borders */
}

/* Override Bootstrap's body text color */
.text-body {
	color: var(--text-dark) !important;
}

table.table thead.bg-primary {
	background-color: var(--primary) !important;
}

/* Base Styles */
body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	background: var(--background);
	color: var(--text-dark);
	line-height: 1.6;
	font-size: 16px;
	margin: 0;
	padding: 0;
}

.wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	background: var(--background);
	box-shadow: 0 0 20px var(--shadow);
}

/* White header box with rounded corners */
.header-container {
	background-color: white;
	border-radius: 20px;
	margin-bottom: 0;
	padding: 1.5rem 1rem 1rem 1rem;
	box-sizing: border-box;
	overflow: hidden;
}

/* Header layout */
.site-branding {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0;
	margin: 0;
}

/* Row with logos and title */
.branding-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0 1rem;
	box-sizing: border-box;
	flex-wrap: nowrap;
	/* Prevent wrapping */
}

/* Ensure logos aren't squashed and remain visible */
.branding-logo,
.branding-carousel {
	width: 120px;
	height: 120px;
	flex-shrink: 0;
}

/* Ensure image inside .branding-logo never compresses */
.branding-logo img {
	width: 120px;
	height: 120px;
	object-fit: contain;
}

/* Title styling — never wraps or truncates */
.site-title {
	flex-grow: 1;
	text-align: center;
	font-size: 1.65rem;
	font-weight: 700;
	font-variant: small-caps;
	letter-spacing: 0.03em;
	margin: 0 1rem;
	/* Add margin on sides */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	/* Show ellipsis if it needs to truncate */
	min-width: 0;
	/* This is crucial for flexbox text truncation */
	order: 1;
	/* Explicitly set order */
}

/* Tagline centered and narrow */
.site-tagline {
	font-size: 1rem;
	text-align: center;
	font-style: italic;
	color: var(--primary);
	margin-top: -2rem;
	margin-bottom: 1rem;
	max-width: 60ch;
}

/* Manual logo order helpers */
.logo-left {
	order: 0;
	flex-shrink: 0;
	/* Prevent shrinking */
}

.logo-mobile {
	display: none;
}

.logo-right {
	order: 2;
	flex-shrink: 0;
	/* Prevent shrinking */
}

.footer-container {
	margin-left: 2%;
	margin-right: 2%;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

/* Footer Improvements */
.footer-container {
	margin-top: 4rem;
	padding: 2rem 0;
	border-top: 1px solid var(--border);
}

.copyright,
.disclaim {
	font-size: 0.7rem;
	color: var(--secondary);
	text-align: justify;
	margin: 1rem 0;
	line-height: 1rem;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/******* alignments *****/
.right {
	text-align: right;
}

.left {
	text-align: left;
}

.top {
	vertical-align: top;
}

.bottom {
	vertical-align: bottom;
}

.middle {
	vertical-align: middle;
}

.comment {
	border-left: 4px solid #999;
	padding: 0.5em 1em;
	margin: 1em 0;
	background: var(--bg-alt);
	font-style: italic;
}

#content {
	background-color: var(--background);
	margin: 0 1.8rem;
}

/* Typography */
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Libre Baskerville', Georgia, serif;
	color: var(--primary);
	line-height: 1.3;
	margin: 1.5em 0 0.75em;
	text-align: left;
	font-variant: normal;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
	letter-spacing: 0.03em;
	padding: 0.3em 0;
	font-feature-settings: "liga", "kern";
}

.card.float-start+h3,
.card.float-start+h4,
.card.float-start+h5,
.card.float-start+h6,
.card.float-end+h3,
.card.float-end+h4,
.card.float-end+h5,
.card.float-end+h6,
.card.float-start+h3,
.card.float-start+h4,
.card.float-start+h5,
.card.float-start+h6,
.card.float-end+h3,
.card.float-end+h4,
.card.float-end+h5,
.card.float-end+h6 {
	clear: both;
}

h3,
h4,
h5,
h6 {
	position: relative;
	padding-left: 12px;
	margin-bottom: 2rem;
	line-height: 1.4;
}

h3::before,
h4::before,
h5::before,
h6::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	/* this aligns the top of the line with the cap height */
	bottom: 10px;
	/* allows tails to hang below */
	width: 3px;
	background-color: var(--accent-color);
	border-radius: 2px;
}

/* Decorative underline for h3-h6 */
h3::after,
h4::after,
h5::after,
h6::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 80%;
	margin-left: 0;
	background: linear-gradient(to right, var(--accent-color), transparent);
}

/* Remove accent line and underline from headers within navigation or special sections */
nav h3::before,
nav h3::after,
nav h4::before,
nav h4::after,
nav h5::before,
nav h5::after,
nav h6::before,
nav h6::after,
.no-accent::before,
.no-accent::after {
	content: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* Header class adjustments (specific styling) */
/* Center alignment and small-caps for main headings */
h2 {
	text-align: center;
	font-variant: small-caps;
}

/* Specific adjustments for h1 (article/page headings) */
h1 {
	font-family: 'Libre Baskerville', Georgia, serif;
	color: var(--primary);
	line-height: 1.3;
	letter-spacing: 0.03em;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
	font-feature-settings: "liga", "kern";
	text-align: center;
	font-variant: small-caps;
	font-weight: 800;
	font-size: 2.2rem;
	margin: 2.5rem 0 1.5rem;
	padding: 0.3em 0;
}

/* Remove underline from links in headings and header */
h1 a,
h1 a:visited {
	text-decoration: none;
}

/* Class to remove decorative underline */
.no-underline::after {
	content: none !important;
}

.title,
#breadcrumb,
#pqright {
	font-family: 'Libre Baskerville', "Palatino Linotype", "Book Antiqua", Palatino, Georgia, "Times New Roman", Times, serif;
}

border,
.title {
	color: var(--primary);
}

/* =========================
   Superscripts + Footnotes
   (uses preloaded fonts)
   ========================= */
/* General superscript (ordinals, exponents, dates, etc.) */
sup,
.sup {
	font-family: inherit;
	/* body = Catamaran-Regular, headings = Libre Baskerville */
	font-size: 0.72em;
	line-height: 0;
	vertical-align: super;
	position: relative;
	top: -0.08em;
	/* tiny optical lift */
	margin-left: 0.5em;
}

/* Footnote reference links (in-text markers) */
a.fnref {
	font-family: 'Catamaran-SemiBold', sans-serif;
	text-decoration: none;
	color: var(--primary);
	margin-left: 0.05em;
}

a.fnref:hover {
	color: var(--secondary);
	text-decoration: underline;
}

/* Optional: bracketed footnote markers like [1] */
a.fnref.bracketed::before {
	content: "[";
}

a.fnref.bracketed::after {
	content: "]";
}

/* Footnotes block */
.footnotes {
	margin-top: 2.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--border-color);
	font-family: 'Catamaran-Regular', sans-serif;
	font-size: 0.95rem;
	color: var(--text-dark);
}

.footnotes h2,
.footnotes h3 {
	margin-top: 0;
}

.footnotes ol {
	margin: 0.75rem 0 0;
	padding-left: 1.25rem;
}

.footnotes li {
	margin: 0.5rem 0;
}

.footnotes a.backref {
	font-family: 'Catamaran-Medium', sans-serif;
	text-decoration: none;
	margin-left: 0.35rem;
}

.footnotes a.backref:hover {
	text-decoration: underline;
}

.quote {
	text-justify: center;
	text-indent: 1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
	margin-left: 3rem;
	margin-right: 5rem;
	font-style: italic;
}

/************ font faces *************/
body {
	font-family: 'Catamaran-Regular', Geneva, Helvetica, Arial, sans-serif;
}

.smaller {
	font-size: 8pt;
	font-style: italic;
	text-align: justify;
	line-height: 1.5rem;
}

/****************** Breadcrumbs ******************/
/* Standard breadcrumb styles (you already have these) */
#breadcrumb {
	margin: 1rem 0;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	color: var(--text-muted);
	line-height: 1.6;
	overflow-wrap: anywhere;
	word-break: break-word;
	font-feature-settings: "kern", "liga";
	letter-spacing: 0.01em;
}

#breadcrumb ol {
	display: block;
	width: 100%;
	clear: both;
	margin: 0 0 0.5rem 0;
	padding: 0;
	list-style: none;
}

/* Make second trail visually lighter, but still on its own line */
#breadcrumb ol+ol {
	margin-top: 0.2rem;
}

/* Inline breadcrumb style */
#breadcrumb li {
	display: inline;
}

#breadcrumb li+li::before {
	content: "\00A0/\00A0\00A0\00A0";
	color: var(--accent-color);
	font-weight: bolder;
}

/* Link styling */
#breadcrumb a {
	color: var(--primary);
	text-decoration: none;
	white-space: nowrap;
	margin-right: 0.25rem;
}

#breadcrumb a {
	color: var(--primary);
	text-decoration: none;
	border-left: 2px solid transparent;
	padding-left: 0.25rem;
	transition: all 0.2s ease;
}

#breadcrumb a:hover {
	color: var(--secondary);
	border-left-color: var(--accent-color);
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
	background-color: transparent;
	/* fallback, in case gradient fails */
	transform: translateX(2px);
	text-decoration: none;
}

/* Current page styling */
#breadcrumb li[aria-current="page"] {
	font-weight: bold;
	color: var(--text-dark);
}

/* make tables load faster */
table {
	table-layout: fixed;
}

.bordertable.alternate {
	width: 100%;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: none !important;
	overflow: hidden;
	box-shadow: 0 2px 10px var(--shadow);
	margin-bottom: 2rem;
	empty-cells: show;
	box-sizing: border-box !important;
}

.bordertable.alternate th {
	background: var(--primary);
	color: var(--white);
	font-weight: 600;
	text-align: left;
	padding: 1rem;
	font-family: "Libre Baskerville", Georgia, serif;
	border-right: 1px solid var(--primary);
}

.bordertable.alternate th:first-child {
	border-left: 1px solid var(--primary);
}

.bordertable.alternate th:nth-child(2) {
	border-left: 1px solid white;
}

.bordertable.alternate th:nth-child(3) {
	border-left: 1px solid white;
}

.bordertable.alternate th:nth-child(4) {
	border-left: 1px solid white;
}

.bordertable.alternate th:last-child {
	border-left: 1px solid white;
	border-right: 1px solid var(--primary);
}

.bordertable.alternate tr:first-child th {
	border-top: 1px solid var(--primary);
	border-bottom: none;
}

.bordertable.alternate td {
	padding: 0.8rem 1rem;
	vertical-align: top;
	transition: background-color 0.2s ease;
	border: 1px solid;
}

.bordertable.alternate thead {
	border-bottom: 1px solid var(--primary) !important;
}

.bordertable.alternate tbody {
	border-top: none !important;
}

.bordertable.alternate thead tr:last-child th {
	padding-bottom: 0.8rem;
}

.bordertable.alternate tbody tr:first-child td {
	padding-top: 0.8rem;
}

.bordertable.alternate tr:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.03);
}

.bordertable.alternate tr:hover {
	background-color: rgba(0, 0, 0, 0.08);
}

.bordertable.alternate a {
	color: var(--primary);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s ease;
}

.bordertable.alternate a:hover {
	color: var(--secondary);
	text-decoration: underline;
}

.bordertable.alternate tr:first-child th {
	position: sticky !important;
	top: 0;
	z-index: 2;
}

.bordertable.alternate td:first-child a {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	color: var(--primary);
	background-color: var(--background);
	padding: 0.4rem 0.8rem;
	margin: 0.1rem 0;
	border-radius: 20px;
	font-weight: 500;
	transition: all 0.2s ease;
	border: 1px solid var(--border);
}

.bordertable.alternate td:first-child a:hover {
	background-color: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

.bordertable.alternate.timeline {
	margin: 2rem auto;
	max-width: 95%;
	box-shadow:
		0 0 0 1px var(--card-border-color),
		0 2px 10px var(--shadow);
}

.bordertable.alternate.timeline td,
.bordertable.alternate.timeline th {
	border-color: var(--card-border-color) !important;
}

.bordertable.alternate.timeline td:first-child {
	width: 4.5rem;
	min-width: 4.5rem;
	max-width: 5rem;
	font-family: 'Catamaran-Bold', sans-serif;
	font-size: 1.1rem;
	color: var(--primary);
	text-align: right;
	padding-right: 1rem;
	vertical-align: top;
	white-space: nowrap;
}

.bordertable.alternate.timeline td>strong {
	display: block;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--primary);
	margin-bottom: 0.4rem;
}

.bordertable.alternate.timeline td ul {
	list-style: none;
	padding-left: 1.5rem;
	margin: 0.25rem 0 1rem;
}

.bordertable.alternate.timeline td ul li {
	text-indent: -0.75rem;
	margin-left: 1rem;
	padding-left: 0;
	font-size: 0.95rem;
	line-height: 1.6;
}

.bordertable.alternate.timeline td p {
	margin: 0.25rem 0.5rem 1rem;
	font-size: 0.95rem;
	line-height: 1.6;
}

.bordertable.alternate.timeline td em {
	font-style: italic;
	color: var(--text-secondary);
}

.elna-additional {
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

.elna-additional h5 {
	margin-bottom: 0.25rem;
	border-left: 4px solid var(--accent);
	padding-left: 0.6rem;
}

.elna-additional ul {
	list-style: none;
	margin: 0;
	padding: 0.5rem 1rem 1rem;
}

.elna-additional li {
	text-indent: -0.75rem;
	margin-left: 1rem;
	padding-left: 0;
}

/* --------------------------------------------
   content-index block (replaces #companylist)
   Used for grouped links + optional blurbs.
   Each .index-item holds a link + optional .index-blurb.
--------------------------------------------- */
.content-index {
	display: flow-root;
	margin: 2rem 0;
}

.content-index .index-item {
	margin-bottom: 1.2rem;
	max-width: 100%;
	overflow: hidden;
}

.content-index .index-item a {
	display: block;
	font-family: 'Catamaran-Bold', sans-serif;
	font-size: 1.05rem;
	line-height: 1.4;
	padding: 0.6rem 0rem;
	padding-left: 0.3rem;
	color: var(--primary);
	text-decoration: none;
	transition: transform 0.4s ease, color 0.4s ease, background-color 0.3s ease, border-left-color 0.4s ease;
	border-left: 3px solid transparent;
}

.content-index .index-item a:hover {
	transform: translateX(4px);
	color: var(--secondary);
	border-left-color: var(--accent-color);
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
	background-color: transparent;
	/* fallback, in case gradient fails */
	overflow: hidden;
}

.content-index .index-item .index-label {
	display: block;
	font-family: 'Catamaran-Bold', sans-serif;
	font-size: 1.05rem;
	line-height: 1.4;
	padding: 0.6rem 0rem;
	color: var(--primary);
	border-left: 3px solid transparent;
	transition: transform 0.4s ease, color 0.4s ease, background-color 0.3s ease, border-left-color 0.4s ease;
	cursor: default;
}

.content-index .index-item .index-label:hover {
	transform: translateX(4px);
	color: var(--secondary);
	border-left-color: var(--accent-color);
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
	background-color: transparent;
}

.content-index .index-blurb {
	margin-top: 0.2rem;
	margin-left: 1.5rem;
	margin-right: 2%;
	font-size: 0.9rem;
	font-style: italic;
	line-height: 1.5;
	font-family: 'Catamaran-Medium', sans-serif;
	color: var(--text-dark);
	opacity: 0.85;
}

a[href$=".pdf"]::after {
	content: '';
	display: inline-block;
	background-image: url('https://ismacs.net/images/pdf-icon.svg');
	background-size: contain;
	background-repeat: no-repeat;
	width: 14px;
	height: 14px;
	margin-left: 4px;
	vertical-align: middle;
}

.content-index.tight-index .index-item {
	margin-bottom: 0.1rem;
	/* nearly collapsed vertical spacing */
	line-height: 1;
	/* neutral baseline */
}

.content-index.tight-index .index-item a {
	padding: 0.6rem 0rem;
	margin: 0;
	display: inline-block;
	line-height: 1;
}

.index-blurb.tight-list>div {
	margin: 0;
	padding: 0;
	line-height: 1.1;
}

.index-blurb.tight-list>div a {
	display: inline-block;
	line-height: 1.1;
	padding: 0.2rem 0;
}

/********* horizontal rule *****/
hr {
	width: 100%;
	border: 0;
	height: 4px;
	background-image: linear-gradient(to right, #fff, var(--accent-color), #fff);
}

.issue-header {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: normal;
	font-size: 0.95rem;
	line-height: 1.3;
	margin-bottom: 2rem;
	color: var(--text-secondary);
}

.issue-header div {
	margin-bottom: 0.2em;
	/* gentle spacing between lines inside */
}

/********* drop caps *****/
.dropcap:first-letter {
	height: 0.7em;
	margin: 0.08em 0 -0.05em 0;
	padding: 0 0.065em 0 0;
	font-size: 5em;
	line-height: 0.85em;
	float: left;
	font-family: 'Catamaran-Bold', sans-serif;
}

.white {
	background-color: var(--background);
}

/**************** picture styles ************/
img {
	max-width: 100%;
	height: auto;
}

.picgrid {
	display: block;
	vertical-align: middle;
	margin: 1rem 3rem;
}

.picgridright {
	float: right;
	margin: 1rem;
}

/********** widths ************/
.fivepcent {
	width: 5%;
}

.onefivepcent {
	width: 15%;
}

.thirtypcent {
	width: 30%;
}

.threefivepcent {
	width: 35%;
}

.sixtypcent {
	width: 60%;
}

.seventypcent {
	width: 70%;
}

.eightypcent {
	width: 80%;
}

.eightfivepcent {
	width: 85%;
}

.ninetypcent {
	width: 90%;
}

.ninefivepcent {
	width: 95%;
}

/*************** singer cabinets ************/
.cab {
	margin-top: 2.5rem;
	border: 1px solid;
	border-radius: 10px;
	padding-top: 0;
}

.cab h3 {
	margin-left: 1.5rem;
}

.cab h6 {
	margin-left: 5rem;
}

/*********** html 5 recs for link colors *********/
:link {
	color: #00E;
}

:visited {
	color: #551A8B;
}

/******** background colors of boxes and such ********/
.cab,
#modellist,
div#search table,
.pullquoteleft:before,
.pullquoteright:before,
#pqright,
.card {
	background-color: #FFFBE5;
}

/****** booklist navigation ****/
.johnsnav {
	width: 80%;
	line-height: 1.5rem;
	font-size: smaller;
	margin: 4rem auto;
}

.johnsnav .jncol1 {
	width: 50%;
	float: left;
}

.johnsnav .jncol2 {
	width: 50%;
	float: right;
}

.johnsnav .jncol2 a {
	float: right;
}

/* Pullquotes */
.pullquoteleft:before,
.pullquoteright:before {
	content: "\201C" attr(title) "\201D";
	font-size: 1.2rem;
	text-align: center;
	display: block;
	width: 11rem;
	padding: 1rem;
	border: 3px double;
	border-radius: 10px;
}

.pullquoteleft:before {
	margin: .25rem 1rem .5rem 0;
	float: left;
}

.pullquoteright:before {
	float: right;
	margin: .25rem 0 .5rem 1rem;
}

#pqright {
	font-size: .9rem;
	text-align: center;
	background: #fff;
	display: block;
	float: right;
	width: 16rem;
	/* top right bottom left */
	margin: .25rem 1rem .5rem;
	padding: 1rem;
	border: 3px double;
	border-radius: 10px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
	display: none !important;
	visibility: hidden;
}

/**** new styles bootstrap 2023 ****/
.dropdown:hover>.dropdown-menu {
	/* activates dropdown on hover */
	display: block;
	transition-delay: 5s;
}

.dropdown>.dropdown-toggle:active {
	/*Without this, clicking will make it sticky*/
	pointer-events: none;
}

.dropdown-large {
	padding: 1rem;
	border: solid 1px darkgrey;
}

a.dropdown-item {
	color: var(--primary);
	text-decoration: none;
	display: block;
	border-left: 3px solid transparent;
	padding-left: 0.5rem;
	transition: all 0.2s ease;
	font-family: 'Catamaran-Medium', sans-serif;
}

a.dropdown-item:hover {
	color: var(--secondary);
	border-left-color: var(--accent-color);
	transform: translateX(3px);
	text-decoration: none;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
	background-color: transparent;
}

.navbar {
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);
	z-index: 1200;
	/* higher than .enlarge-image + menus */
}

.navbar .dropdown-menu,
.dropdown-large,
.drop-down-manufacturers,
.drop-down-research,
.drop-down-search {
	z-index: 1100;
	/* higher than .enlarge-image */
	position: absolute;
	/* or absolute, if needed */
}

.navbar-light {
	background-color: var(--navbar-gold) !important;
}

a.nav-link {
	color: var(--primary) !important;
}

/* styling for cards on the front page */
/* Cards Shared Base Styling */
.card,
.card-frontpage {
	padding: 1rem;
	border-radius: 0.5rem;
	position: relative;
	max-width: 55rem;
	transition: transform 0.3s ease;
}

.card-frontpage {
	border: 1px solid var(--border-color);
	margin-bottom: 3rem;
	display: flex;
	flex-direction: column;
}

.card-frontpage:hover {
	transform: scale(1.02);
}

/* Shared Card Body Styling */
.card .card-body,
.card-frontpage .card-body {
	position: relative;
	padding: 1rem 1.5rem;
	margin: 1rem 0;
	border-radius: 0.5rem;
	background: none;
	z-index: 0;
	flex-grow: 1;
}

.card .card-body::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--bg-light);
	border: 1px solid var(--border);
	border-radius: inherit;
	box-shadow: inset 0 2px 4px var(--shadow);
	z-index: -1;
}

/* Card Images Styling */
.card-img,
.card-img-top,
.card-img-bottom {
	border: 0.1rem solid var(--card-border-color);
	border-radius: 0.3rem;
	box-shadow: 0 2px 6px var(--shadow);
	transition: opacity 0.3s ease;
}

.card-caption {
	text-align: center;
	color: #6c757d;
	/* same as .text-muted */
	font-size: 1rem;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.card-frontpage:hover .card-img {
	opacity: 0.8;
}

/* Card Title Styling */
.card-frontpage .card-title,
.card .card-title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 600;
	text-align: left;
	color: var(--text-dark);
	position: relative;
	margin-bottom: 0.5rem;
	transition: color 0.3s ease;
}

.card-frontpage .card-title {
	margin-top: -1.75rem;
	/* Verified negative margin */
	font-size: 1rem;
}

.card-frontpage:hover .card-title {
	color: var(--primary);
}

.card-title::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin: 0.25rem 0;
	background-color: var(--accent-color);
}

/* Card Text Styling */
.card-frontpage .card-text,
.card-text {
	font-family: 'Catamaran', sans-serif;
	font-weight: 400;
	color: var(--text-dark);
	text-align: left;
	font-size: 0.95rem;
	transition: opacity 0.3s ease;
}

.card-frontpage:hover .card-text {
	opacity: 0.6;
	/* Slightly more readable than 0.25 */
}

/* Links Styling */
.card-frontpage a {
	text-decoration: none;
	font-size: smaller;
	transition: color 0.3s ease, font-style 0.3s ease;
}

.card-frontpage:hover a {
	color: var(--frontpage-hover-link);
	font-style: italic;
}

/* Card Link Positioning */
.card-frontpage .card-link {
	align-self: flex-end;
	margin-top: auto;
	font-family: 'Catamaran-Bold', sans-serif;
}

/* CSS class for enlarging and centering the image within the card */
/* allows zoomed images, apply .enlarge-image to img tag */
.card .enlarge-image {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transition-delay: 0.3s;
	z-index: 1000;
	/* keep it high always */
	position: relative;
	/* ensure z-index works */
	will-change: transform;
}

.card .enlarge-image:hover {
	transform: scale(1.75);
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
	margin-left: auto;
	margin-right: auto;
	transition-delay: 0.4s;
}

.card.float-end .enlarge-image {
	transform-origin: right center;
}

.card.float-start .enlarge-image {
	transform-origin: left center;
}

.blockquote {
	background-color: #FFFBE5;
	/* darkgrey */
	border: .1rem solid #A9A9A9;
	margin-right: 5rem;
	margin-left: 5rem;
	padding: 1.5rem;
	font-size: small;
}

/* Style the existing class buttons nicely */
.classes-navigation a,
.d-flex.justify-content-center a[href^="classes-"],
.d-flex.justify-content-center a[href$=".html"] {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	color: var(--primary);
	background-color: var(--background);
	padding: 0.4rem 0.8rem;
	margin: 0.25rem;
	border-radius: 20px;
	font-weight: 500;
	transition: all 0.2s ease;
	border: 1px solid var(--border);
}

.classes-navigation a:hover,
.d-flex.justify-content-center a[href^="classes-"]:hover,
.d-flex.justify-content-center a[href$=".html"]:hover {
	background-color: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

body table.bordertable.alternate tr:first-child th {
	position: sticky !important;
	top: 0;
	z-index: 2;
}

/* Add back the button styling for the class/variety column links */
.bordertable.alternate td:first-child a {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	color: var(--primary);
	background-color: var(--background);
	padding: 0.4rem 0.8rem;
	margin: 0.1rem 0;
	border-radius: 20px;
	font-weight: 500;
	transition: all 0.2s ease;
	border: 1px solid var(--border);
}

/* Add hover effect for the class/variety column links */
.bordertable.alternate td:first-child a:hover {
	background-color: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

/* Style active page link */
a[href^="classes-"].active,
a[href$=".html"].active {
	background-color: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

\

/* Make sure tables are responsive */
@media (max-width: 768px) {
	.bordertable.alternate {
		display: block;
		overflow-x: auto;
	}

	.bordertable.alternate th,
	.bordertable.alternate td {
		padding: 0.6rem 0.5rem;
		font-size: 0.9rem;
	}

	.model-controls {
		flex-direction: column;
	}

	.model-search {
		width: 100%;
		max-width: 100%;
		margin-bottom: 1rem;
	}

	.model-filters {
		margin-left: 0;
		justify-content: center;
		width: 100%;
	}
}

/* Style for record counter */
.record-counter {
	text-align: center;
	font-size: 0.9rem;
	color: #666;
	margin: 1rem 0;
}

/* Hidden rows (used by JavaScript pagination) */
.table-row-hidden {
	display: none;
}

/* Enhanced Link Styles */
a {
	color: var(--primary);
	text-decoration: none;
	transition: all 0.2s ease;
}

a:hover {
	color: var(--secondary);
	text-decoration: underline;
}

/* Row selector styling */
.rows-per-page {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
}

.rows-per-page label {
	font-size: 0.9rem;
	color: var(--text-dark, #333);
	white-space: nowrap;
}

.rows-per-page select {
	padding: 0.4rem;
	border: 1px solid var(--border-color, #d5d5d5);
	border-radius: 4px;
	background-color: var(--bg-light, #f8f7f2);
	color: var(--text-dark, #333);
	font-size: 0.9rem;
	cursor: pointer;
}

.rows-per-page select:hover {
	border-color: var(--primary, #2b4162);
}

/* Make sure borders remain visible when table is in a container with overflow */
.model-table-container {
	padding-bottom: 1px;
	/* Add a tiny bit of padding to prevent border cut-off */
}

/* Google Custom Search styling */
.navbar .gcse-searchbox-only {
	width: 100%;
}

/* Style the search input */
.gsc-input-box {
	border-radius: 4px 0 0 4px !important;
	border: 1px solid #999 !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) !important;
	height: 36px !important;
}

/* Style the search button */
.gsc-search-button-v2 {
	border-radius: 0 4px 4px 0 !important;
	padding: 9px 15px !important;
	background-color: #304a7d !important;
	/* Use a blue that matches your ISMACS theme */
	border: none !important;
}

.gsc-search-button-v2:hover {
	background-color: #203566 !important;
	/* Darker on hover */
}

/* Remove extra padding */
.gsib_a {
	padding: 5px 9px !important;
}

/* Hide the Google branding if needed */
.gcsc-branding {
	display: none !important;
}

.search-item::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	border: 2px solid var(--primary);
	border-radius: 50%;
	border-top-color: transparent;
	animation: spin 1s linear infinite;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.search-item.loading::before {
	opacity: 1;
}

@keyframes spin {
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

/* Back to Top Button */
#back-to-top {
	display: block;
	font-family: 'Catamaran-ExtraLight', sans-serif;
	border: none;
	text-decoration: none;
	color: var(--primary);
	background-color: var(--background);
	transition: all 0.2s ease;
	margin: 0;
	text-align: center;
	width: fit-content;
	float: right;
	/* This makes it go to the right */
	clear: both;
	/* Prevents other floated elements from interfering */
}

#back-to-top-text {
	margin-right: 5px;
}

#back-to-top svg {
	margin-left: 3px;
}

#back-to-top:hover {
	text-decoration: none;
	font-family: 'Catamaran-Bold', sans-serif;
	/* Switch to bold font on hover */
	font-weight: 700;
	/* Bold weight */
}

#back-to-top.show {
	opacity: 1;
	visibility: visible;
}

/* Clear the float to prevent layout issues */
#back-to-top::after {
	content: "";
	display: table;
	clear: both;
}

/* Hexagon table: let the browser size columns naturally */
#hexagon-models-summary {
	table-layout: auto !important;
	/* overrides global fixed */
	width: 100%;
	min-width: 1100px;
	/* pick what looks right on your page */
}

/* keep it from getting crushed by the wrapper */
.table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* tighten header so it doesn’t look like a ransom note */
#hexagon-models-summary thead th {
	white-space: normal;
	line-height: 1.2;
	padding: 0.75rem 0.6rem;
	/* smaller than your 1rem */
	text-align: center;
	/* matches your screenshot style */
	vertical-align: bottom;
}

/* body cells can stay left-aligned */
#hexagon-models-summary tbody td {
	text-align: left;
}

/* ========================
   PHONES & NARROW TABLETS
   ======================== */
@media (max-width: 768px) {
	.bordertable.alternate {
		display: block;
		overflow-x: auto;
	}

	.bordertable.alternate th,
	.bordertable.alternate td {
		padding: 0.6rem 0.5rem;
		font-size: 0.9rem;
	}

	.wrapper {
		width: 100%;
		margin: 0;
		padding: 1rem;
	}

	.header,
	h1 {
		font-size: 2rem;
	}

	.meganizr>li,
	.nav-item.search-item {
		width: 100%;
	}

	.nav-item.search-item {
		margin: 8px 0;
	}

	#back-to-top {
		bottom: 15px;
		right: 15px;
		height: 32px;
		padding: 0 10px;
		font-size: 12px;
	}

	#back-to-top svg {
		width: 14px;
		height: 14px;
	}

	.model-controls {
		flex-direction: column;
	}

	.model-search {
		width: 100%;
		max-width: 100%;
		margin-bottom: 1rem;
	}

	.model-filters {
		margin-left: 0;
		justify-content: center;
		width: 100%;
	}

	.site-title {
		font-size: 1.5rem;
		line-height: 1.3;
	}

	.content-index .card {
		/* Styles to center the card */
		margin-left: auto !important;
		margin-right: auto !important;
		float: none !important;
		display: block;
		clear: both !important;
		margin-bottom: 3rem !important;
		width: 25rem !important;
	}

	.card.float-end .enlarge-image,
	.card.float-start .enlarge-image {
		transform-origin: center center;
		max-width: 100vw !important;
	}

	.card.float-end,
	.card.float-start {
		margin-left: auto !important;
		margin-right: auto !important;
		float: none !important;
		display: block;
		clear: both !important;
		margin-bottom: 4rem !important;
	}
}

/* Extra Narrow Screens */
@media (max-width: 576px) {
	.dropdown-manufacturers {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
	}

	.research-grid,
	.double-column {
		display: block;
	}

	.column-group {
		flex-direction: column;
		gap: 1rem;
	}

	.column ul,
	.double-column ul {
		margin-bottom: 1rem;
	}

	.column li,
	.double-column li,
	.column a,
	.double-column a {
		font-size: 0.95rem;
		line-height: 1.4;
	}

	.wrapper {
		padding: 0.75rem;
		margin: 0;
		background-color: var(--background, #fff);
	}

	h1 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
		text-align: center;
	}

	.site-title {
		font-size: 1.2rem;
		text-align: center;
		line-height: 1.3;
	}

	.site-tagline {
		font-size: 0.85rem;
		text-align: center;
		margin-top: 0.3rem;
		display: none;
	}

	.picright,
	.picleft,
	.picgridright,
	.picgridleft {
		float: none !important;
		display: block;
		margin: 1rem auto !important;
		text-align: center;
		max-width: 100%;
	}

	.picright img,
	.picleft img,
	.picgridright img,
	.picgridleft img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
		height: auto;
	}

	.index-blurb {
		font-size: 0.9rem;
		line-height: 1.5;
		margin-left: 0;
		padding-left: 0;
		text-align: left;
	}

	.index-item a {
		display: block;
		font-size: 1rem;
		text-align: left;
	}

	.bordertable {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}

	.bordertable th,
	.bordertable td {
		font-size: 0.85rem;
		padding: 0.5rem 0.4rem;
	}
}

@media (max-width: 480px) {
	h1 {
		font-size: 1rem;
		margin: 1rem 0 0.5rem;
	}
}

@media (max-width: 380px) {
	.search-item {
		width: 100%;
		margin-right: 0;
	}
}

/* ========================
   TABLETS & SMALL DESKTOPS (≤1024px)
   ======================== */
@media (max-width: 1024px) {

	.wrapper,
	.main,
	.header-container {
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
	}

	h1 {
		line-height: 1.3;
		letter-spacing: 0.03em;
		text-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
		font-feature-settings: "liga", "kern";
		text-align: center;
		font-variant: small-caps;
		font-weight: 800;
		font-size: 1.8rem;
		margin: 1rem 0 1.5rem;
		padding: 0.3em 0;
	}

	.content-index {
		display: flow-root;
		margin: 0;
	}

	.content-index .index-item {
		margin-bottom: 1.2rem;
		max-width: 100%;
		overflow: hidden;
	}

	.content-index .index-blurb {
		padding: 0;
		margin-top: 0;
		margin-left: 1.1rem;
		font-size: 0.9rem;
		line-height: 1.5;
		opacity: 0.85;
	}

	.content-index .index-item a {
		font-size: 1.05rem;
		line-height: 1.4;
		padding: 0;
	}
}

/* ========================
   MID-RANGE TWEAKS (970px down to 667px)
   ======================== */
@media (max-width: 970px) {

	.logo-right,
	.logo-desktop {
		display: none;
	}

	.logo-mobile {
		width: 100%;
		height: auto;
		max-width: 180px;
		display: block;
	}

	.site-branding {
		width: 100%;
		text-align: center;
	}

	.site-title {
		font-size: 1.8rem;
		display: block;
		width: 100%;
		text-align: center;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: break-word;
	}

	.site-tagline {
		display: none;
	}
}

@media (max-width: 902px) {

	html,
	body {
		overflow-x: hidden;
	}

	.wrapper {
		max-width: 100vw;
		overflow-x: hidden;
	}

	.site-title {
		font-size: 1.7rem;
		margin: 0;
	}
}

@media (max-width: 666px) {
	.site-title {
		font-size: 1.35rem;
		text-align: center;
		word-break: break-word;
		overflow-wrap: break-word;
	}

	.content-index .card {
		margin-bottom: 3rem !important;
		width: 20rem !important;
	}

	h1 {
		font-size: 1.5rem;
		padding: 0 !important;
	}

	.card.float-end .enlarge-image {
		transform-origin: center center;
	}
}

/* ========================
   DESKTOP STYLES (≥576px and up)
   ======================== */
@media (min-width: 576px) {
	.dropdown {
		z-index: 9999;
	}

	.navbar-collapse>.collapse>.show>#main_nav {
		border: 1px black solid;
		background-color: var(--navbar-gold);
		padding-left: 0.5rem;
		z-index: 9999;
	}
}

@media (min-width: 768px) {
	body {
		background-color: #E5ECFF;
		background-image: url(../images/parchment1oa.png);
		background-attachment: fixed;
		margin: 0;
		padding: 0;
	}

	.drop-down-manufacturers {
		min-width: 920px;
		margin-left: -3.1rem;
	}

	.drop-down-research {
		min-width: 920px;
		margin-left: -11.9rem;
	}

	#main_nav {
		border: 0;
		padding-left: 0;
	}
}

@media (min-width: 1025px) {
	.wrapper {
		max-width: 1026px;
		margin: 1.5rem auto;
		border-radius: 20px;
		border: 1px solid;
	}

	.dropdown-large {
		min-width: 350px;
	}

	.drop-down-manufacturers {
		min-width: 1010px;
		margin-left: -3.1rem;
	}

	.drop-down-research {
		min-width: 1010px;
		margin-left: -11.1rem;
	}

	.drop-down-search {
		min-width: 800px;
		margin-left: -30rem;
	}
}

@media (min-width: 1200px) {
	/* Reserved for larger desktops */
}

@media (min-width: 1400px) {
	/* Reserved for extra large screens */
}

@media print {

	nav,
	.navbar,
	footer,
	.footer-container,
	.no-print {
		display: none;
	}

	body {
		background: white;
		font-size: 12pt;
	}

	a::after {
		content: " (" attr(href) ")";
		font-size: 0.9em;
		color: var(--text-dark);
	}

	.wrapper {
		max-width: 100%;
		margin: 0;
		padding: 0;
		border: none;
		box-shadow: none;
	}
}

.drop-down-research {
	width: 1000px;
	max-width: 100%;
	background: white;
	border-radius: 0.5rem;
	padding: 2rem;
	font-size: 0.95rem;
}

.research-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2rem;
}

.column-group {
	display: flex;
	flex-direction: column;
}

.double-column {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

.column ul,
.double-column ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 1.5rem;
}

.column li,
.double-column li {
	margin-bottom: 0.4rem;
}

.column a,
.double-column a {
	text-decoration: none;
	color: #0000cc;
}

.column a:hover,
.double-column a:hover {
	text-decoration: underline;
}