/* National Association of Bookmakers - site stylesheet */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 100%; }
body {
  background: #116708;
  color: #1f2a1e;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}
.frame { max-width: 1100px; margin: 0 auto; background: #ffffff; border-left: 1px solid #0a4a04; border-right: 1px solid #0a4a04; }
a { color: #116708; }
a:hover { color: #0a4a04; }
a:focus, button:focus { outline: 2px solid #0a4a04; outline-offset: 1px; }
.skip {
  position: absolute; left: -999px; top: 0; background: #ffffff; color: #116708;
  padding: 8px 14px; z-index: 50; border: 2px solid #116708;
}
.skip:focus { left: 8px; }

/* header */
.site-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding: 20px 24px 14px; border-bottom: 1px solid #cdd8cb; flex-wrap: wrap; }
.brand-name { font-family: Verdana, Geneva, sans-serif; font-weight: bold; font-size: 1.7rem; line-height: 1.2; color: #116708; }
.brand-name a { color: #116708; text-decoration: none; }
.brand-name a:hover { text-decoration: underline; }
.brand-tag { font-family: Verdana, Geneva, sans-serif; font-size: 0.78rem; color: #4c5a4a; margin-top: 4px; }
.utility { display: flex; align-items: center; gap: 6px; font-family: Verdana, Geneva, sans-serif; font-size: 0.78rem; flex-wrap: wrap; }
.fs-label { color: #4c5a4a; }
/* Text-size control is pure CSS: the three links target empty anchors and the
   root font-size responds, so no script is loaded anywhere on the site. */
.fs-anchor { position: absolute; width: 0; height: 0; overflow: hidden; }
.fs-btn { border: 1px solid #cdd8cb; background: #f4f6f3; color: #116708; font-weight: bold; padding: 3px 8px; text-decoration: none; line-height: 1.2; }
.fs-btn:hover { background: #e9f0e7; text-decoration: none; }
html:has(#fs-large:target) { font-size: 112.5%; }
html:has(#fs-larger:target) { font-size: 125%; }
.utility-link { margin-left: 10px; }

/* top menu */
.topmenu { background: #116708; }
.tabs { list-style: none; display: flex; flex-wrap: wrap; }
.tabs > li { position: relative; }
.tabs > li > a { display: block; padding: 9px 18px; color: #ffffff; font-weight: bold; font-size: 0.94rem; text-decoration: none; border-right: 1px solid #0d5206; }
.tabs > li > a:hover, .tabs > li > a:focus, .tabs > li > a.active { background: #0a4a04; color: #ffffff; }
.sub { list-style: none; position: absolute; left: 0; top: 100%; background: #0f5c07; min-width: 170px; z-index: 20; display: none; }
.sub li a { display: block; padding: 8px 14px; color: #ffffff; text-decoration: none; font-size: 0.88rem; border-bottom: 1px solid #0a4a04; }
.sub li a:hover, .sub li a:focus { background: #0a4a04; }
.has-sub:hover .sub, .has-sub:focus-within .sub { display: block; }

/* breadcrumb */
.crumbline { background: #e9f0e7; border-bottom: 1px solid #cdd8cb; padding: 6px 24px; }
.crumbs { font-family: Verdana, Geneva, sans-serif; font-size: 0.78rem; color: #3d4a3b; }
.crumbs a { color: #116708; }
.crumbs .sep { color: #7a8a77; padding: 0 2px; }
.crumbs .here { font-weight: bold; }
.crumb-lead { color: #4c5a4a; }

/* layout */
.layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; padding: 24px; }
.main p, .main li { max-width: 72ch; }

/* modules */
.module { border: 1px solid #cdd8cb; margin-bottom: 18px; background: #f4f6f3; }
.module-h { background: #116708; color: #ffffff; font-family: Verdana, Geneva, sans-serif; font-size: 0.82rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.04em; padding: 6px 10px; }
.module-body { padding: 10px 12px; }
.module-body p { font-size: 0.85rem; line-height: 1.55; }
.menu-list { list-style: none; }
.menu-list li { border-bottom: 1px solid #dde5db; }
.menu-list li:last-child { border-bottom: none; }
.menu-list a { display: block; padding: 6px 2px; text-decoration: none; font-size: 0.9rem; }
.menu-list a:hover { text-decoration: underline; }
.menu-list .current > a { font-weight: bold; }
.module-contact .module-body p { font-size: 0.82rem; }

/* archive module */
.archive-group { margin-bottom: 8px; }
.archive-era { font-family: Verdana, Geneva, sans-serif; font-size: 0.78rem; font-weight: bold; color: #0d5206; display: block; margin-bottom: 4px; }
.years { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; }
.years li a { display: inline-block; border: 1px solid #cdd8cb; background: #ffffff; padding: 2px 7px; font-family: Verdana, Geneva, sans-serif; font-size: 0.78rem; text-decoration: none; }
.years li a:hover { background: #e9f0e7; }
.years li.current a { background: #116708; color: #ffffff; border-color: #116708; }
.archive-single { margin-top: 2px; }

/* leading article */
.lead { border-bottom: 1px solid #cdd8cb; padding-bottom: 20px; margin-bottom: 22px; }
.lead-title { font-size: 1.75rem; line-height: 1.25; margin-bottom: 6px; }
.lead-title a { text-decoration: none; }
.lead-title a:hover { text-decoration: underline; }
.meta { font-family: Verdana, Geneva, sans-serif; font-size: 0.78rem; color: #4c5a4a; margin-bottom: 10px; }
.lead p { margin-bottom: 10px; }
.readmore a { font-size: 0.9rem; font-weight: bold; }

/* excerpts */
.excerpts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 26px; }
.excerpt { border: 1px solid #cdd8cb; padding: 14px 16px; background: #ffffff; }
.excerpt-title { font-size: 1.18rem; line-height: 1.3; margin-bottom: 4px; }
.excerpt-title a { text-decoration: none; }
.excerpt-title a:hover { text-decoration: underline; }
.excerpt p { margin-bottom: 8px; font-size: 0.94rem; }

/* resources */
.resources { border: 1px solid #cdd8cb; background: #f4f6f3; margin-bottom: 4px; }
.resources .module-body p { font-size: 0.94rem; margin-bottom: 8px; }
.plain-rows { list-style: none; margin: 0 0 10px; }
.plain-rows li { border-bottom: 1px solid #dde5db; padding: 6px 2px; font-size: 0.94rem; }
.plain-rows li:last-child { border-bottom: none; }
.fact { font-family: Verdana, Geneva, sans-serif; font-size: 0.8rem; color: #4c5a4a; }

/* inner pages */
.page-title { font-size: 1.9rem; line-height: 1.2; color: #116708; margin-bottom: 8px; }
.main > p { margin-bottom: 12px; }
.main h2 { font-size: 1.25rem; margin: 18px 0 8px; color: #0d5206; }
.main .module-h { color: #ffffff; font-size: 0.82rem; margin: 0; }
.legal p { margin-bottom: 12px; }
.legal ul, .legal ol { margin: 0 0 12px 22px; }
.legal li { margin-bottom: 6px; }
.rule { border: none; border-top: 1px solid #cdd8cb; margin: 14px 0; }

/* notices */
.notices { list-style: none; margin-top: 14px; }
.notice { border-bottom: 1px solid #dde5db; padding: 10px 2px; }
.notice-date { display: block; font-family: Verdana, Geneva, sans-serif; font-size: 0.76rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.04em; color: #0d5206; margin-bottom: 2px; }
.notice-title { font-size: 1rem; }
.notice-body { margin-top: 6px; }
.notice-body p { margin-bottom: 8px; font-size: 0.95rem; }

/* archive + links rows */
.archive-rows, .links-rows { list-style: none; margin-top: 14px; }
.archive-rows li, .links-rows li { border-bottom: 1px solid #dde5db; padding: 9px 2px; }
.archive-rows a, .links-rows a { font-size: 1rem; }
.archive-rows .notice-date { display: inline-block; margin-right: 10px; margin-bottom: 0; }

/* affiliates */
.aff-country h2 { margin-top: 20px; }
.aff-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 8px; }
.aff-row { border: 1px solid #cdd8cb; background: #ffffff; padding: 12px 14px; }
.aff { font-size: 0.92rem; line-height: 1.55; }

/* contact */
.contact-sheet { border: 1px solid #cdd8cb; background: #ffffff; padding: 16px 18px; margin-bottom: 16px; }
.contact-sheet h2 { margin-top: 6px; }
.contact-sheet p { margin-bottom: 10px; }

/* related */
.related { border: 1px solid #cdd8cb; background: #f4f6f3; margin-top: 24px; }
.related-list { list-style: none; }
.related-list li { border-bottom: 1px solid #dde5db; }
.related-list li:last-child { border-bottom: none; }
.related-list a { display: block; padding: 6px 2px; font-size: 0.9rem; text-decoration: none; }
.related-list a:hover { text-decoration: underline; }

/* footer */
.site-foot { border-top: 1px solid #cdd8cb; }
.foot-mods { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; padding: 20px 24px; }
.foot-mod { border: 1px solid #cdd8cb; background: #f4f6f3; }
.foot-mod p { padding: 8px 12px 0; font-size: 0.82rem; }
.foot-mod p:last-child { padding-bottom: 10px; }
.foot-strip { background: #116708; color: #ffffff; padding: 10px 24px; }
.foot-strip p { font-family: Verdana, Geneva, sans-serif; font-size: 0.76rem; }

/* responsive */
@media (max-width: 900px) {
  .layout { display: block; }
  .has-sub .sub { display: none !important; }
  .rail { margin-bottom: 20px; }
  .menu-list { display: flex; flex-wrap: wrap; }
  .menu-list li { border-bottom: none; border-right: 1px solid #dde5db; }
  .menu-list li:last-child { border-right: none; }
  .menu-list a { padding: 6px 10px; }
  .module-archive .module-body { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
  .foot-mods { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .excerpts { grid-template-columns: 1fr; }
  .aff-grid { grid-template-columns: 1fr; }
  .site-head { align-items: flex-start; }
  .brand-name { font-size: 1.35rem; }
  .lead-title { font-size: 1.4rem; }
  .page-title { font-size: 1.5rem; }
  .layout { padding: 16px; }
  .site-head { padding: 16px 16px 12px; }
  .crumbline { padding: 6px 16px; }
  .foot-mods { padding: 16px; }
  .foot-strip { padding: 10px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
