/* NeedleBar archive support stylesheet
   Intended for /css/needlebar.css
   Uses the same font files as the main ISMACS stylesheet.
*/

@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  src: url(https://ismacs.net/css/LibreBaskerville-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Baskerville Bold';
  font-style: normal;
  font-weight: 700;
  src: url(https://ismacs.net/css/LibreBaskerville-Bold.ttf) format('truetype');
}
@font-face {
  font-family: 'Catamaran-Regular';
  font-style: normal;
  font-weight: 400;
  src: url(https://ismacs.net/css/Catamaran-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Catamaran-SemiBold';
  font-style: normal;
  font-weight: 600;
  src: url(https://ismacs.net/css/Catamaran-SemiBold.ttf) format('truetype');
}
@font-face {
  font-family: 'Catamaran-Bold';
  font-style: normal;
  font-weight: 700;
  src: url(https://ismacs.net/css/Catamaran-Bold.ttf) format('truetype');
}

/* Shared NeedleBar legacy classes */
.maroon { color: #630; }
.red { color: #C00; }
.blue { color: #00F; }
.teal { color: #066; }
.gray { color: #999; }
.gray-light { color: #CCC; }
.light { color: #FC9; }
.white { color: #FFF; }
.black { color: #000; }

.font-comic,
.font-sans {
  font-family: 'Catamaran-Regular', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.font-serif {
  font-family: 'Libre Baskerville', Georgia, 'Times New Roman', Times, serif;
}

.size-sm { font-size: 0.875em; }
.size-base { font-size: 1em; }
.size-lg { font-size: 1.125em; }
.size-xl { font-size: 1.25em; }
.size-2xl { font-size: 1.5em; }
.size-3xl { font-size: 1.875em; }

.brand {
  color: #C33;
  font-family: 'Catamaran-Regular', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.needlebar-host-banner {
  text-align: center;
  color: #C00;
  font-family: 'Catamaran-SemiBold', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  margin: 0.75rem 0;
}

.Section1 { page: Section1; }
.MsoFooter {
  tab-stops: center 207.65pt right 415.3pt;
  font-size: 12pt;
  font-family: 'Libre Baskerville', Georgia, 'Times New Roman', Times, serif;
}
.MsoTitle {
  text-align: center;
  font-size: 18pt;
  font-family: 'Libre Baskerville Bold', 'Libre Baskerville', Georgia, serif;
  font-weight: 700;
}
font { font-family: inherit; }

/* Singer 48K survey page: formerly an inline <style> block. */
body.nb-singer48k {
  font-family: 'Catamaran-Regular', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  line-height: 1.6;
  color: #333;
}
body.nb-singer48k h1 { color: #0000FF; }
body.nb-singer48k h2 { border-bottom: 1px solid #ccc; padding-bottom: 5px; }
body.nb-singer48k img { max-width: 100%; height: auto; }
body.nb-singer48k .thumb { margin: 10px; padding: 5px; border: 1px solid #ccc; background: #f9f9f9; }
body.nb-singer48k .thumb.tright { float: right; clear: right; margin-left: 20px; max-width: 320px; }
body.nb-singer48k .thumb.tleft { float: left; clear: left; margin-right: 20px; max-width: 320px; }
body.nb-singer48k .thumbcaption { font-size: 0.9em; color: #666; padding-top: 5px; }
body.nb-singer48k .center { text-align: center; margin: 20px 0; }
body.nb-singer48k .gallery { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
body.nb-singer48k .gallerybox { text-align: center; }
body.nb-singer48k .gallerytext { font-size: 0.9em; color: #666; }
body.nb-singer48k blockquote { margin: 20px 40px; font-style: italic; color: #555; border-left: 3px solid #ccc; padding-left: 15px; }
body.nb-singer48k dl { margin-left: 20px; }
body.nb-singer48k hr { border: none; border-top: 1px solid #ccc; margin: 30px 0; }
body.nb-singer48k .clearfix::after { content: ""; display: table; clear: both; }
body.nb-singer48k ul,
body.nb-singer48k ol { margin-left: 20px; }
body.nb-singer48k .footer { font-style: italic; color: #666; margin-top: 30px; }

/* Singer machine-decoration page: formerly an inline <style> block. */
body.nb-singer-decoration {
  --nb-bg: #f3f3f3;
  --nb-paper: #fff;
  --nb-border: #a7d7f9;
  --nb-muted: #777;
  --nb-text: #202122;
  --nb-link: #0645ad;
  --nb-heading: #a33;
  --nb-tocbg: #f8f9fa;
  --nb-tocborder: #a2a9b1;
  margin: 0;
  background: var(--nb-bg);
  color: var(--nb-text);
  font: 14px/1.6 'Catamaran-Regular', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
body.nb-singer-decoration * { box-sizing: border-box; }
body.nb-singer-decoration .page { max-width: 1080px; margin: 0 auto; padding: 24px 20px 40px; }
body.nb-singer-decoration .content { background: var(--nb-paper); border: 1px solid #ccc; border-left: 1px solid var(--nb-border); border-top: 1px solid var(--nb-border); padding: 20px 28px 32px; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
body.nb-singer-decoration h1 { margin: 0 0 4px; font-family: 'Libre Baskerville', Georgia, serif; font-size: 2.1rem; font-weight: 400; }
body.nb-singer-decoration #siteSub { color: var(--nb-muted); font-size: .95rem; margin-bottom: 18px; }
body.nb-singer-decoration a { color: var(--nb-link); text-decoration: none; }
body.nb-singer-decoration a:hover { text-decoration: underline; }
body.nb-singer-decoration a.nolink { color: var(--nb-link); cursor: default; }
body.nb-singer-decoration p { margin: .6em 0 1em; }
body.nb-singer-decoration #toc { float: left; clear: right; min-width: 320px; max-width: 420px; margin: 0 0 1.25rem 1.5rem; padding: .5rem .8rem; background: var(--nb-tocbg); border: 1px solid var(--nb-tocborder); font-size: .95rem; }
body.nb-singer-decoration #toc .toctitle h2 { margin: .1rem 0 .5rem; font-size: 1rem; color: inherit; border: 0; padding: 0; }
body.nb-singer-decoration #toc ul { margin: .25rem 0 .4rem 1.2rem; padding: 0; }
body.nb-singer-decoration #toc li { margin: .18rem 0; }
body.nb-singer-decoration h2 { clear: both; margin: 1.5rem 0 .7rem; padding-bottom: .15rem; border-bottom: 1px solid #a2a9b1; font-family: 'Libre Baskerville', Georgia, serif; font-size: 1.55rem; font-weight: 400; }
body.nb-singer-decoration h2 .mw-headline,
body.nb-singer-decoration h2 .section-title { color: var(--nb-heading); }
body.nb-singer-decoration .gallery { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin: .25rem 0 1.1rem; padding: 0; }
body.nb-singer-decoration .gallerybox { width: 155px; margin: 0; }
body.nb-singer-decoration .gallerybox > div { width: 155px !important; }
body.nb-singer-decoration .thumb { width: 150px !important; min-height: 150px; border: 1px solid #c8ccd1; background: #fff; display: flex; align-items: center; justify-content: center; padding: 6px; }
body.nb-singer-decoration .thumb > div { margin: 0 auto !important; }
body.nb-singer-decoration .thumb img { max-width: 120px; height: auto; display: block; }
body.nb-singer-decoration .gallerytext { font-size: .92rem; color: #444; margin-top: .35rem; }
body.nb-singer-decoration hr { border: 0; border-top: 1px solid #ddd; margin: 1.2rem 0; }
body.nb-singer-decoration ul { list-style-type: none; padding-left: 0; margin-left: 0; }
@media (max-width: 860px) {
  body.nb-singer-decoration #toc { float: none; min-width: 0; max-width: none; margin: 0 0 1rem; }
  body.nb-singer-decoration .content { padding: 16px; }
}

/* Former inline style="" attributes. */
.nb-inline-001 { font-family: 'Catamaran-Regular', sans-serif; font-weight: 400; }
.nb-inline-002 { font-family: 'Catamaran-Regular', sans-serif; font-weight: 400; }
.nb-inline-003 { font-size: 10.0pt }
.nb-inline-004 { font-size:10.0pt }
.nb-inline-005 { font-size:10.0pt; }
.nb-inline-006 { font-size:14.0pt;mso-bidi-font-size: 12.0pt }
.nb-inline-007 { font-size:14.0pt;mso-bidi-font-size:12.0pt }
.nb-inline-008 { font-size:16.0pt;mso-bidi-font-size:12.0pt }
.nb-inline-009 { margin-left: 30px; width: 283px; }
.nb-inline-010 { margin:15px auto; }
.nb-inline-011 { margin:16.5px auto; }
.nb-inline-012 { margin:17px auto; }
.nb-inline-013 { margin:19px auto; }
.nb-inline-014 { margin:20px auto; }
.nb-inline-015 { margin:21.5px auto; }
.nb-inline-016 { margin:22.5px auto; }
.nb-inline-017 { margin:23.5px auto; }
.nb-inline-018 { margin:23px auto; }
.nb-inline-019 { margin:24.5px auto; }
.nb-inline-020 { margin:25.5px auto; }
.nb-inline-021 { margin:26px auto; }
.nb-inline-022 { margin:27.5px auto; }
.nb-inline-023 { margin:27px auto; }
.nb-inline-024 { margin:28.5px auto; }
.nb-inline-025 { margin:28px auto; }
.nb-inline-026 { margin:29.5px auto; }
.nb-inline-027 { margin:29px auto; }
.nb-inline-028 { margin:30.5px auto; }
.nb-inline-029 { margin:30px auto; }
.nb-inline-030 { margin:31.5px auto; }
.nb-inline-031 { margin:31px auto; }
.nb-inline-032 { margin:32.5px auto; }
.nb-inline-033 { margin:32px auto; }
.nb-inline-034 { margin:33.5px auto; }
.nb-inline-035 { margin:33px auto; }
.nb-inline-036 { margin:34.5px auto; }
.nb-inline-037 { margin:34px auto; }
.nb-inline-038 { margin:35.5px auto; }
.nb-inline-039 { margin:35px auto; }
.nb-inline-040 { margin:36.5px auto; }
.nb-inline-041 { margin:36px auto; }
.nb-inline-042 { margin:37.5px auto; }
.nb-inline-043 { margin:37px auto; }
.nb-inline-044 { margin:38.5px auto; }
.nb-inline-045 { margin:38px auto; }
.nb-inline-046 { margin:39.5px auto; }
.nb-inline-047 { margin:39px auto; }
.nb-inline-048 { margin:40.5px auto; }
.nb-inline-049 { margin:40px auto; }
.nb-inline-050 { margin:41px auto; }
.nb-inline-051 { margin:42.5px auto; }
.nb-inline-052 { margin:43.5px auto; }
.nb-inline-053 { margin:44.5px auto; }
.nb-inline-054 { margin:45.5px auto; }
.nb-inline-055 { margin:47.5px auto; }
.nb-inline-056 { margin:47px auto; }
.nb-inline-057 { margin:48.5px auto; }
.nb-inline-058 { margin:49.5px auto; }
.nb-inline-059 { margin:49px auto; }
.nb-inline-060 { margin:55px auto; }
.nb-inline-061 { margin:56.5px auto; }
.nb-inline-062 { margin:57.5px auto; }
.nb-inline-063 { margin:60.5px auto; }
.nb-inline-064 { text-align:center }
.nb-inline-065 { text-transform: uppercase }
.nb-inline-066 { width: 100% }
.nb-inline-067 { width: 150px; }
.nb-inline-068 { width: 155px }
.nb-inline-069 { width: 331px; }
