*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#e9e9e9;color:#111;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
#Header{position:sticky;top:0;z-index:1000;width:100%;background:#173f78;border-bottom:3px solid #ffea00;box-shadow:0 2px 10px rgba(0,0,0,.18)}
#FixedWrapper{width:100%;margin:0 auto}
#Hwrapper{min-height:56px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;max-width:1500px;margin:0 auto;padding:8px 18px}
.brochure-left{display:flex;align-items:center;gap:10px;min-width:0}
.brochure-left a{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap;padding:6px 8px;border-radius:4px}
.brochure-left a:hover{background:rgba(255,255,255,.12);color:#ffea00}
.brochure-icon{width:18px;height:18px;display:inline-block;fill:currentColor;flex:none}
#Page_ID{justify-self:center;color:#fff;font-weight:700;font-size:15px;white-space:nowrap;text-align:center;letter-spacing:.2px}
#Drop_Box{justify-self:end;position:relative}
#DropToggle{height:38px;min-width:132px;padding:0 12px;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:#fff;color:#173f78;font-weight:700;cursor:pointer;font-size:13px}
#DropToggle:hover{background:#f6f6f6}
#PagePicker{display:none;position:absolute;right:0;top:44px;width:190px;padding:12px;background:#fff;border:1px solid #cfcfcf;border-radius:5px;box-shadow:0 8px 22px rgba(0,0,0,.22)}
#PagePicker.open{display:block}
#PagePicker label{display:block;font-size:12px;font-weight:700;margin:0 0 6px;color:#333}
#PagePicker select{width:100%;height:34px;border:1px solid #aaa;background:#fff;font-size:14px;padding:3px 5px}
#Reader{position:relative;max-width:100%;padding:24px 84px 44px;min-height:calc(100vh - 56px)}
#Book{display:flex;justify-content:center;align-items:flex-start;gap:0;width:100%;max-width:1940px;margin:0 auto;position:relative}
.book-page{width:min(46vw,960px);background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden;position:relative}
.book-page img{display:block;width:100%;height:auto}
.spread{display:flex;justify-content:center;align-items:flex-start;gap:0}
.spread .book-page{width:min(46vw,960px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.book-page.zoomable{cursor:crosshair}
.zoom-lens{position:fixed;z-index:1300;width:420px;height:520px;border-radius:10px;border:2px solid rgba(23,63,120,.65);background-color:#fff;background-repeat:no-repeat;background-size:auto;box-shadow:0 12px 35px rgba(0,0,0,.34);pointer-events:none;opacity:0;transform:scale(.96);transition:opacity .12s ease,transform .12s ease;overflow:hidden}
.zoom-lens.show{opacity:1;transform:scale(1)}
.zoom-lens:after{content:"";position:absolute;inset:0;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);pointer-events:none}
.book-page.index-page{width:min(900px,92vw);min-height:0}
#Page,#IndexContainer{width:100%!important;max-width:none!important;margin:0!important}
#PageImage{display:block;width:100%!important;height:auto!important;max-width:none!important}
#Container{width:100%!important;margin:0!important}
#Container #Page{background:#fff!important;height:auto!important;min-height:1380px!important}
#Page #IndexContainer{width:800px!important;max-width:calc(100% - 30px)!important;padding:0!important;margin:0 auto!important}
#Page #IndexName{width:800px!important;max-width:100%!important;font-size:40px!important;padding-top:35px!important}
#Page #LeftTab,#Page #MidTab,#Page #RightTab{width:265px!important;padding-left:0!important;padding-right:0!important}
#Page #LeftTab,#Page #MidTab,#Page #RightTab{float:left!important}
.navtxt,#FootNav{display:none!important}
 .side-arrow{position:fixed;z-index:1100;top:50%;transform:translateY(-50%);width:100px;height:60px;display:block;text-decoration:none;background:transparent;border:0;box-shadow:none;padding:0;line-height:0}
.side-arrow .arrow-art{display:block;width:100px;height:60px;background-repeat:no-repeat;background-position:center;background-size:100px 60px;opacity:1;transition:opacity .12s ease,transform .12s ease}
.side-arrow.prev .arrow-art{background-image:url("images/Prev-Page-Blue-2x.png")}
.side-arrow.next .arrow-art{background-image:url("images/Next-Page-Blue-2x.png")}
.side-arrow.prev:hover .arrow-art{background-image:url("images/Prev-Page-White-2x.png");transform:scale(1.02)}
.side-arrow.next:hover .arrow-art{background-image:url("images/Next-Page-White-2x.png");transform:scale(1.02)}
.side-arrow.prev.is-clicked .arrow-art{background-image:url("images/Prev-Page-Black-2x.png")}
.side-arrow.next.is-clicked .arrow-art{background-image:url("images/Next-Page-Black-2x.png")}
.side-arrow.prev.disabled .arrow-art{background-image:url("images/Prev-Page-NA.png")}
.side-arrow.next.disabled .arrow-art{background-image:url("images/Next-Page-NA.png")}
.side-arrow.prev{left:8px}.side-arrow.next{right:8px}.side-arrow.disabled{visibility:hidden}
#Footer{background:#173f78;border-top:3px solid #ffea00;color:#fff;margin-top:0}
#Fwrapper{max-width:1500px;margin:0 auto;padding:18px 24px}
.brochure-footer-inner{position:relative;display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 55px;text-align:center}
.brochure-copyright{font-size:13px;line-height:1.5}.brochure-copyright a{color:#fff;text-decoration:none;font-weight:700}.brochure-copyright a:hover{color:#ffea00}
 .back-top{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:100px;height:60px;display:flex;align-items:center;justify-content:center;background:transparent;color:transparent;text-decoration:none;box-shadow:none;border:0;padding:0}
.back-top-art{display:block;width:100px;height:60px;background:url("images/Next-Page-Blue-2x.png") center/100px 60px no-repeat;transform:rotate(-90deg);transform-origin:center;transition:transform .12s ease}
.back-top:hover .back-top-art{background-image:url("images/Next-Page-White-2x.png");transform:rotate(-90deg) scale(1.02)}
.back-top.is-clicked .back-top-art{background-image:url("images/Next-Page-Black-2x.png");transform:rotate(-90deg)}
@media (max-width:1100px){#Reader{padding-left:64px;padding-right:64px}.spread .book-page{width:48vw}}
@media (hover:hover) and (pointer:fine) and (min-width:761px){.zoom-lens{display:block}}
@media (max-width:760px){
 #Hwrapper{grid-template-columns:1fr auto;grid-template-areas:'left right' 'counter counter';gap:5px;padding:7px 10px}
 .brochure-left{grid-area:left;gap:2px}.brochure-left a{font-size:12px;padding:5px 4px}.brochure-icon{width:16px;height:16px}
 #Page_ID{grid-area:counter;justify-self:center;font-size:13px;padding:1px 0 3px}.#Drop_Box{grid-area:right}
 #Drop_Box{grid-area:right}#DropToggle{min-width:132px;height:34px}#PagePicker{top:39px;width:190px}
 #Reader{padding:12px 10px 28px}#Book{display:block}.spread{display:block}
 .book-page,.book-page.index-page,.spread .book-page{width:100%;max-width:960px;margin:0 auto;box-shadow:0 4px 14px rgba(0,0,0,.15)}
 .spread .book-page+ .book-page{margin-top:10px}
 #Container #Page{min-height:0!important}#Page #IndexContainer{width:100%!important;max-width:none!important;padding:0 10px!important}
 #Page #IndexName{width:100%!important;max-width:none!important;font-size:30px!important;padding-top:20px!important}
 #Page #LeftTab,#Page #MidTab,#Page #RightTab{float:none!important;width:100%!important;padding:0!important}
 .side-arrow{width:100px;height:60px}.side-arrow.prev{left:2px}.side-arrow.next{right:2px}.side-arrow .arrow-art{width:100px;height:60px;background-size:100px 60px}
 .brochure-footer-inner{padding:0 108px 0 8px}.brochure-copyright{font-size:12px}.back-top{width:100px;height:60px;right:4px}.back-top-art{width:100px;height:60px;background-size:100px 60px}
 .zoom-lens{display:none!important}
}
@media (max-width:420px){.brochure-left a{font-size:11px}.brochure-left{gap:0}#DropToggle{min-width:118px;font-size:12px}#Reader{padding-left:6px;padding-right:6px}.side-arrow{width:100px;height:60px}.side-arrow .arrow-art{width:100px;height:60px;background-size:100px 60px}.side-arrow.prev{left:0}.side-arrow.next{right:0}.back-top{right:2px}}
/* Brochure Index: use the original three index sections as real desktop columns. */
@media (min-width:761px){
  #Page #IndexContainer{
    width:min(840px, calc(100% - 30px)) !important;
    max-width:none !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    text-align:left !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #Page #IndexContainer #IndexName{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:none !important;
    float:none !important;
    clear:both !important;
  }
  #Page #IndexContainer #LeftTab,
  #Page #IndexContainer #MidTab,
  #Page #IndexContainer #RightTab{
    float:none !important;
    position:relative !important;
    display:block !important;
    flex:0 0 calc((100% - 20px) / 3) !important;
    width:calc((100% - 20px) / 3) !important;
    min-width:0 !important;
    max-width:none !important;
    padding:30px 0 0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    clear:none !important;
  }
  #Page #IndexContainer table{
    width:100% !important;
    max-width:235px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #Page #IndexContainer .AlphaIndex{
    width:100% !important;
    max-width:245px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #Page #IndexContainer .AlphaBreak{width:100% !important;}
}
@media (min-width:761px) and (max-width:1050px){
  #Page #IndexContainer{width:min(720px, calc(100% - 24px)) !important;}
  #Page #IndexContainer #LeftTab,
  #Page #IndexContainer #MidTab,
  #Page #IndexContainer #RightTab{
    flex-basis:calc((100% - 10px) / 2) !important;
    width:calc((100% - 10px) / 2) !important;
  }
}
@media (max-width:760px){
  #Page #IndexContainer{display:block !important;}
}

/* Navigation arrows: twice the original artwork size, blue normally, white on hover, black while clicked. */
.side-arrow{width:100px;height:60px;}
.side-arrow .arrow-art{
  width:100px;height:60px;
  background-color:#1769aa;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100px 60px;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:100px 60px;
  mask-size:100px 60px;
  transition:background-color .12s ease,transform .12s ease;
}
.side-arrow.prev .arrow-art{-webkit-mask-image:url("images/Prev-Page.png");mask-image:url("images/Prev-Page.png");}
.side-arrow.next .arrow-art{-webkit-mask-image:url("images/Next-Page.png");mask-image:url("images/Next-Page.png");}
.side-arrow:hover .arrow-art{background-color:#fff;transform:scale(1.03);}
.side-arrow.is-clicked .arrow-art{background-color:#000 !important;transform:scale(1.03);}
.side-arrow.prev.disabled .arrow-art{-webkit-mask-image:url("images/Prev-Page-NA.png");mask-image:url("images/Prev-Page-NA.png");}
.side-arrow.next.disabled .arrow-art{-webkit-mask-image:url("images/Next-Page-NA.png");mask-image:url("images/Next-Page-NA.png");}
.side-arrow.prev{left:8px}.side-arrow.next{right:8px}
.side-arrow.disabled{visibility:hidden}

/* Matching bottom return-to-top arrow. */
.back-top{width:100px;height:60px;right:8px;}
.back-top-art{
  width:100px;height:60px;
  background-color:#1769aa;
  background-image:none !important;
  -webkit-mask-image:url("images/Next-Page.png");
  mask-image:url("images/Next-Page.png");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:100px 60px;mask-size:100px 60px;
  transform:rotate(-90deg);
  transform-origin:center;
  transition:background-color .12s ease,transform .12s ease;
}
.back-top:hover .back-top-art{background-color:#fff;transform:rotate(-90deg) scale(1.03)}
.back-top.is-clicked .back-top-art{background-color:#000 !important;transform:rotate(-90deg) scale(1.03)}

@media (max-width:760px){
  .side-arrow{width:100px;height:60px}
  .side-arrow .arrow-art{width:100px;height:60px;background-size:100px 60px;-webkit-mask-size:100px 60px;mask-size:100px 60px}
  .side-arrow.prev{left:0}.side-arrow.next{right:0}
  .brochure-footer-inner{padding:0 108px 0 8px}
  .back-top{width:100px;height:60px;right:2px}
  .back-top-art{width:100px;height:60px;-webkit-mask-size:100px 60px;mask-size:100px 60px}
}
@media (max-width:420px){
  .side-arrow{width:100px;height:60px}.side-arrow .arrow-art{width:100px;height:60px}
  .side-arrow.prev{left:0}.side-arrow.next{right:0}.back-top{right:2px}
}

/* FINAL ORIGINAL-STYLE INDEX RESTORATION */
.book-page.index-page{
  width:900px !important;
  max-width:900px !important;
  min-height:1380px !important;
  background:#fff url("images/signtech_eye_logo.png") no-repeat -100px center !important;
  overflow:hidden !important;
}
.book-page.index-page #Page{
  width:900px !important;
  max-width:900px !important;
  min-height:1380px !important;
  height:1380px !important;
  margin:0 auto !important;
  background:transparent !important;
}
.book-page.index-page #IndexWrap{
  width:900px !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
}
.book-page.index-page #IndexContainer{
  width:800px !important;
  max-width:800px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:block !important;
  text-align:center !important;
  overflow:hidden !important;
}
.book-page.index-page #IndexName{
  width:800px !important;
  max-width:800px !important;
  margin:0 auto !important;
  padding:35px 0 0 !important;
  border-bottom:10px solid #ff0 !important;
  box-sizing:content-box !important;
  display:block !important;
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important;
  font-weight:bold !important;
  color:#000 !important;
  text-align:left !important;
  font-size:40px !important;
  line-height:normal !important;
}
.book-page.index-page #LeftTab,
.book-page.index-page #MidTab,
.book-page.index-page #RightTab{
  float:left !important;
  width:265px !important;
  height:auto !important;
  padding:30px 0 0 !important;
  margin:0 !important;
  position:relative !important;
  box-sizing:border-box !important;
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important;
  font-weight:bold !important;
  color:#000 !important;
  text-align:left !important;
  clear:none !important;
}
.book-page.index-page #LeftTab{margin-left:2px !important;}
.book-page.index-page #MidTab{margin-left:2px !important;}
.book-page.index-page #RightTab{margin-left:2px !important;}
.book-page.index-page table{
  margin:0 auto !important;
  display:table !important;
  width:235px !important;
  position:relative !important;
  padding:2px 0 !important;
  border-collapse:separate !important;
}
.book-page.index-page .TR1{
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important;
  color:#000 !important;
  text-align:left !important;
  display:block !important;
  font-weight:bold !important;
  font-size:11px !important;
  line-height:16px !important;
}
.book-page.index-page .TR2{
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important;
  color:#900 !important;
  text-align:right !important;
  display:block !important;
  font-weight:bold !important;
  font-size:11px !important;
  line-height:16px !important;
}
.book-page.index-page #Page a:link,
.book-page.index-page #Page a:visited{
  color:#900 !important;
  text-decoration:none !important;
}
.book-page.index-page #Page a:hover{
  color:#03f !important;
  text-decoration:none !important;
  font-weight:bold !important;
}
.book-page.index-page .AlphaIndex{
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important;
  font-size:18px !important;
  font-weight:bold !important;
  color:#000 !important;
  text-align:left !important;
  border-bottom:1px solid #000 !important;
  text-indent:5px !important;
  padding-top:8px !important;
  padding-bottom:2px !important;
  width:245px !important;
  margin:0 auto !important;
  height:18px !important;
  box-sizing:content-box !important;
}
.book-page.index-page .AlphaBreak{
  height:15px !important;
  width:265px !important;
}
.book-page.index-page #PageNo{
  text-align:left !important;
  height:20px !important;
  border-bottom:3px solid #ff0 !important;
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important;
  font-size:20px !important;
  color:#000 !important;
  float:right !important;
  width:70px !important;
  padding-bottom:5px !important;
  font-weight:bold !important;
  padding-top:40px !important;
  position:relative !important;
  left:50px !important;
}
@media (max-width:760px){
  .book-page.index-page,
  .book-page.index-page #Page,
  .book-page.index-page #IndexWrap,
  .book-page.index-page #IndexContainer{
    width:100% !important;
    max-width:100% !important;
  }
  .book-page.index-page #Page{
    height:auto !important;
    min-height:0 !important;
  }
  .book-page.index-page #IndexContainer{
    padding:0 10px !important;
    box-sizing:border-box !important;
  }
  .book-page.index-page #IndexName{
    width:100% !important;
    max-width:100% !important;
    font-size:30px !important;
    padding-top:20px !important;
  }
  .book-page.index-page #LeftTab,
  .book-page.index-page #MidTab,
  .book-page.index-page #RightTab{
    float:none !important;
    width:265px !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding-top:20px !important;
  }
  .book-page.index-page .AlphaBreak{max-width:100% !important;}
}

/* v18 final fixes: visible original-style arrows + naturally extending Index page. */
.side-arrow{z-index:1500;background:transparent!important;visibility:visible!important;}
.side-arrow .arrow-art{
  background-color:transparent!important;
  -webkit-mask:none!important;mask:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100px 60px!important;
  opacity:1!important;
}
.side-arrow.prev .arrow-art{background-image:url("images/Prev-Page-Blue-2x.png")!important;}
.side-arrow.next .arrow-art{background-image:url("images/Next-Page-Blue-2x.png")!important;}
.side-arrow.prev:hover .arrow-art{background-image:url("images/Prev-Page-White-2x.png")!important;transform:scale(1.03);}
.side-arrow.next:hover .arrow-art{background-image:url("images/Next-Page-White-2x.png")!important;transform:scale(1.03);}
.side-arrow.prev.is-clicked .arrow-art{background-image:url("images/Prev-Page-Black-2x.png")!important;}
.side-arrow.next.is-clicked .arrow-art{background-image:url("images/Next-Page-Black-2x.png")!important;}
.side-arrow.prev.disabled .arrow-art{background-image:url("images/Prev-Page-NA.png")!important;}
.side-arrow.next.disabled .arrow-art{background-image:url("images/Next-Page-NA.png")!important;}

.book-page.index-page{
  width:min(900px,92vw)!important;
  max-width:900px!important;
  min-height:1380px!important;
  height:auto!important;
  overflow:visible!important;
}
.book-page.index-page #Page{
  width:100%!important;
  max-width:none!important;
  min-height:1380px!important;
  height:auto!important;
  overflow:visible!important;
}
.book-page.index-page #IndexWrap{width:100%!important;overflow:visible!important;}
.book-page.index-page #IndexContainer{
  width:calc(100% - 100px)!important;
  max-width:none!important;
  margin:0 auto!important;
  overflow:visible!important;
  display:block!important;
}
.book-page.index-page #IndexName{width:100%!important;max-width:none!important;}
.book-page.index-page #LeftTab,
.book-page.index-page #MidTab,
.book-page.index-page #RightTab{
  width:calc((100% - 6px)/3)!important;
  max-width:none!important;
  margin-left:2px!important;
  margin-right:0!important;
}
.book-page.index-page #IndexContainer:after{content:"";display:block;clear:both;}
.book-page.index-page table{width:88.7%!important;max-width:none!important;}
.book-page.index-page .AlphaIndex{width:92.45%!important;max-width:none!important;}
.book-page.index-page .AlphaBreak{width:100%!important;}
.book-page.index-page #PageNo{
  clear:both!important;
  float:right!important;
  position:static!important;
  left:auto!important;
  width:70px!important;
  height:20px!important;
  margin:25px 0 18px!important;
  padding:0 0 5px!important;
  border-bottom:3px solid #ff0!important;
  box-sizing:content-box!important;
}
.back-top-art{
  background-color:transparent!important;
  background-image:url("images/Next-Page-Blue-2x.png")!important;
  -webkit-mask:none!important;mask:none!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:100px 60px!important;
}
.back-top:hover .back-top-art{background-image:url("images/Next-Page-White-2x.png")!important;}
.back-top.is-clicked .back-top-art{background-image:url("images/Next-Page-Black-2x.png")!important;}

@media (max-width:760px){
  .book-page.index-page{width:100%!important;max-width:100%!important;min-height:0!important;}
  .book-page.index-page #Page{width:100%!important;min-height:0!important;}
  .book-page.index-page #IndexContainer{width:calc(100% - 20px)!important;max-width:none!important;}
  .book-page.index-page #LeftTab,
  .book-page.index-page #MidTab,
  .book-page.index-page #RightTab{width:265px!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;}
  .book-page.index-page table{width:88.7%!important;}
  .book-page.index-page .AlphaIndex{width:92.45%!important;}
  .book-page.index-page #PageNo{margin-top:25px!important;margin-bottom:18px!important;}
}


/* v19: crisp vector navigation arrows — no raster scaling, no black click box. */
.side-arrow,
.side-arrow:focus,
.side-arrow:focus-visible,
.back-top,
.back-top:focus,
.back-top:focus-visible{
  outline:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.side-arrow .arrow-art,
.back-top-art{
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100px 60px!important;
  -webkit-mask:none!important;
  mask:none!important;
  box-shadow:none!important;
  border:0!important;
}
.side-arrow.prev .arrow-art{background-image:url("images/Prev-Page-Blue.svg")!important;}
.side-arrow.next .arrow-art{background-image:url("images/Next-Page-Blue.svg")!important;}
.side-arrow.prev:hover .arrow-art{background-image:url("images/Prev-Page-White.svg")!important;}
.side-arrow.next:hover .arrow-art{background-image:url("images/Next-Page-White.svg")!important;}
.side-arrow.prev.is-clicked .arrow-art,
.side-arrow.prev:active .arrow-art{background-image:url("images/Prev-Page-Black.svg")!important;}
.side-arrow.next.is-clicked .arrow-art,
.side-arrow.next:active .arrow-art{background-image:url("images/Next-Page-Black.svg")!important;}
.back-top-art{background-image:url("images/Next-Page-Blue.svg")!important;transform:rotate(-90deg)!important;}
.back-top:hover .back-top-art{background-image:url("images/Next-Page-White.svg")!important;transform:rotate(-90deg)!important;}
.back-top.is-clicked .back-top-art,
.back-top:active .back-top-art{background-image:url("images/Next-Page-Black.svg")!important;transform:rotate(-90deg)!important;}

/* On phones, a spread becomes a one-page-at-a-time reader. JS toggles the two
   pages inside the spread; this rule keeps the inactive page out of the flow. */
@media (max-width:760px){
  #Book.spread.mobile-single-page .book-page.mobile-hidden{display:none!important;}
  #Book.spread.mobile-single-page .book-page.mobile-visible{display:block!important;margin-top:0!important;}
}


/* v20: clean square navigation controls — sharp CSS vector triangles. */
.side-arrow,
.back-top{
  width:60px!important;
  height:60px!important;
  outline:none!important;
  -webkit-tap-highlight-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.side-arrow .arrow-art,
.back-top-art{
  width:60px!important;
  height:60px!important;
  display:block!important;
  border:0!important;
  box-shadow:none!important;
  background-image:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  background-color:#1769AA!important;
  transition:background-color .12s ease,transform .12s ease!important;
}
.side-arrow.prev .arrow-art{clip-path:polygon(0 50%,100% 0,100% 100%);}
.side-arrow.next .arrow-art{clip-path:polygon(100% 50%,0 0,0 100%);}
.side-arrow:hover .arrow-art{background-color:#fff!important;transform:none!important;}
.side-arrow.is-clicked .arrow-art,
.side-arrow:active .arrow-art{background-color:#000!important;transform:none!important;}
.back-top-art{clip-path:polygon(50% 0,0 100%,100% 100%);transform:none!important;}
.back-top:hover .back-top-art{background-color:#fff!important;transform:none!important;}
.back-top.is-clicked .back-top-art,
.back-top:active .back-top-art{background-color:#000!important;transform:none!important;}
.side-arrow.prev{left:8px!important;right:auto!important;}
.side-arrow.next{right:8px!important;left:auto!important;}

@media (max-width:760px){
  .side-arrow,
  .back-top{width:60px!important;height:60px!important;}
  .side-arrow .arrow-art,
  .back-top-art{width:60px!important;height:60px!important;}
  .side-arrow.prev{left:2px!important;}
  .side-arrow.next{right:2px!important;}
  .back-top{right:2px!important;}
}

/* v21: final navigation sizing/interaction and mobile Index layout. */
.side-arrow,
.side-arrow .arrow-art,
.back-top,
.back-top-art{
  transition:none!important;
}
.side-arrow,
.back-top{
  width:40px!important;
  height:40px!important;
}
.side-arrow .arrow-art,
.back-top-art{
  width:40px!important;
  height:40px!important;
  transform:none!important;
}
.side-arrow.prev{left:8px!important;right:auto!important;}
.side-arrow.next{right:8px!important;left:auto!important;}
.side-arrow.prev .arrow-art{clip-path:polygon(0 50%,100% 0,100% 100%)!important;}
.side-arrow.next .arrow-art{clip-path:polygon(100% 50%,0 0,0 100%)!important;}
.side-arrow:hover .arrow-art,
.side-arrow:focus .arrow-art,
.side-arrow:focus-visible .arrow-art{transform:none!important;}
.side-arrow .arrow-art{background-color:#1769AA!important;}
.side-arrow:hover .arrow-art{background-color:#fff!important;}
.side-arrow.is-clicked .arrow-art,
.side-arrow:active .arrow-art{background-color:#000!important;}
.back-top-art{clip-path:polygon(50% 0,0 100%,100% 100%)!important;}
.back-top:hover .back-top-art{background-color:#fff!important;transform:none!important;}
.back-top.is-clicked .back-top-art,
.back-top:active .back-top-art{background-color:#000!important;transform:none!important;}

@media (max-width:760px){
  .side-arrow,
  .back-top{width:30px!important;height:30px!important;}
  .side-arrow .arrow-art,
  .back-top-art{width:30px!important;height:30px!important;}
  .side-arrow.prev{left:4px!important;}
  .side-arrow.next{right:4px!important;}
  .back-top{right:4px!important;}

  /* The Index is a single readable column on phones. */
  .book-page.index-page #IndexContainer{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .book-page.index-page #LeftTab,
  .book-page.index-page #MidTab,
  .book-page.index-page #RightTab{
    float:none!important;
    clear:both!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-top:24px!important;
  }
  .book-page.index-page #IndexName{
    font-size:30px!important;
    padding-top:22px!important;
  }
  .book-page.index-page #IndexContainer:after{display:none!important;}
  .book-page.index-page table,
  .book-page.index-page .AlphaIndex,
  .book-page.index-page .AlphaBreak{
    width:100%!important;
    max-width:none!important;
  }
}

/* v22: force the complete Index into one vertical column on mobile. */
@media (max-width:760px){
  #Page #IndexContainer{
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin:0 auto!important;
  }
  #Page #IndexContainer #IndexName,
  #Page #IndexContainer #LeftTab,
  #Page #IndexContainer #MidTab,
  #Page #IndexContainer #RightTab{
    display:block!important;
    float:none!important;
    clear:both!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  #Page #IndexContainer #LeftTab,
  #Page #IndexContainer #MidTab,
  #Page #IndexContainer #RightTab{
    padding-top:24px!important;
  }
  #Page #IndexContainer table,
  #Page #IndexContainer .AlphaIndex,
  #Page #IndexContainer .AlphaBreak{
    display:block!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* v23: stable mobile Index, consistent arrow size, and inert grey end arrows. */
.side-arrow,
.side-arrow .arrow-art{
  width:40px!important;
  height:40px!important;
}
.side-arrow.disabled{
  pointer-events:none!important;
  cursor:default!important;
  opacity:1!important;
}
.side-arrow.disabled .arrow-art,
.side-arrow.disabled:hover .arrow-art,
.side-arrow.disabled:active .arrow-art,
.side-arrow.disabled.is-clicked .arrow-art{
  background-color:#999!important;
  background-image:none!important;
  transform:none!important;
  clip-path:polygon(0 50%,100% 0,100% 100%)!important;
}
.side-arrow.next.disabled .arrow-art,
.side-arrow.next.disabled:hover .arrow-art,
.side-arrow.next.disabled:active .arrow-art,
.side-arrow.next.disabled.is-clicked .arrow-art{
  clip-path:polygon(100% 50%,0 0,0 100%)!important;
}

@media (max-width:760px){
  /* Keep mobile arrows the same 40px size as the Index/desktop controls. */
  .side-arrow,
  .side-arrow .arrow-art{
    width:40px!important;
    height:40px!important;
  }
  .side-arrow.prev{left:4px!important;}
  .side-arrow.next{right:4px!important;}

  /* Override the original page01 inline selectors so the Index is truly one column. */
  #Container #Page #IndexContainer{
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  #Container #Page #IndexContainer #IndexName{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #Container #Page #IndexContainer #LeftTab,
  #Container #Page #IndexContainer #MidTab,
  #Container #Page #IndexContainer #RightTab{
    display:block!important;
    float:none!important;
    clear:both!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  #Container #Page #IndexContainer #LeftTab{padding-top:24px!important;}
  #Container #Page #IndexContainer #MidTab,
  #Container #Page #IndexContainer #RightTab{padding-top:24px!important;}
  #Container #Page #IndexContainer table,
  #Container #Page #IndexContainer .AlphaIndex,
  #Container #Page #IndexContainer .AlphaBreak{
    display:block!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}


/* v24 final: device-width mobile layout, true single-column Index, and identical 40px arrows. */
.side-arrow,
.side-arrow .arrow-art{
  width:40px!important;
  height:40px!important;
}
.side-arrow .arrow-art{
  display:block!important;
  background-image:none!important;
  background-color:#1769AA!important;
  background-size:40px 40px!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
  border:0!important;
  transform:none!important;
  transition:none!important;
}
.side-arrow.prev .arrow-art{
  clip-path:polygon(0 50%,100% 0,100% 100%)!important;
}
.side-arrow.next .arrow-art{
  clip-path:polygon(100% 50%,0 0,0 100%)!important;
}
.side-arrow:hover .arrow-art{background-color:#fff!important;transform:none!important;}
.side-arrow:active .arrow-art,
.side-arrow.is-clicked .arrow-art{background-color:#000!important;transform:none!important;}

/* End arrows use the exact same triangle geometry/size, only grey and inert. */
.side-arrow.disabled,
.side-arrow.disabled:hover,
.side-arrow.disabled:active,
.side-arrow.disabled:focus{
  pointer-events:none!important;
  cursor:default!important;
  visibility:visible!important;
  opacity:1!important;
}
.side-arrow.disabled .arrow-art,
.side-arrow.disabled:hover .arrow-art,
.side-arrow.disabled:active .arrow-art,
.side-arrow.disabled.is-clicked .arrow-art{
  width:40px!important;
  height:40px!important;
  background-image:none!important;
  background-color:#999!important;
  transform:none!important;
  box-shadow:none!important;
}
.side-arrow.disabled.prev .arrow-art{clip-path:polygon(0 50%,100% 0,100% 100%)!important;}
.side-arrow.disabled.next .arrow-art{clip-path:polygon(100% 50%,0 0,0 100%)!important;}

@media (max-width:760px){
  /* Actual device CSS pixels are now available because every brochure page has a viewport meta tag. */
  #Reader{padding:12px 10px 28px!important;}
  #Book{width:100%!important;max-width:100%!important;}
  .book-page,.spread .book-page{width:100%!important;max-width:100%!important;}

  .side-arrow,
  .side-arrow .arrow-art{
    width:40px!important;
    height:40px!important;
  }
  .side-arrow.prev{left:4px!important;right:auto!important;}
  .side-arrow.next{right:4px!important;left:auto!important;}

  /* Index: one full-width column, with each original section stacked vertically. */
  .book-page.index-page,
  .book-page.index-page #Page,
  .book-page.index-page #IndexWrap,
  .book-page.index-page #IndexContainer{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .book-page.index-page #IndexContainer{
    display:block!important;
    overflow:visible!important;
    padding:0 10px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexName{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    font-size:30px!important;
  }
  .book-page.index-page #LeftTab,
  .book-page.index-page #MidTab,
  .book-page.index-page #RightTab{
    display:block!important;
    float:none!important;
    clear:both!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:24px 0 0!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #LeftTab table,
  .book-page.index-page #MidTab table,
  .book-page.index-page #RightTab table{
    display:table!important;
    width:235px!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .book-page.index-page .AlphaIndex{
    width:245px!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .book-page.index-page .AlphaBreak{width:100%!important;max-width:100%!important;}
}

/* v25: final arrow rendering. Use one pure CSS triangle for every arrow.
   Remove all legacy image/mask artwork so disabled arrows cannot show a smaller overlay. */
.side-arrow,
.side-arrow .arrow-art{
  width:40px!important;
  height:40px!important;
}
.side-arrow .arrow-art{
  display:block!important;
  background-image:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
  border:0!important;
  transform:none!important;
  transition:none!important;
}
.side-arrow.prev .arrow-art,
.side-arrow.next .arrow-art{
  background-color:#1769AA!important;
}
.side-arrow.prev .arrow-art{clip-path:polygon(0 50%,100% 0,100% 100%)!important;}
.side-arrow.next .arrow-art{clip-path:polygon(100% 50%,0 0,0 100%)!important;}
.side-arrow:hover .arrow-art{background-color:#fff!important;transform:none!important;}
.side-arrow:active .arrow-art,
.side-arrow.is-clicked .arrow-art{background-color:#000!important;transform:none!important;}

/* Unavailable first/last controls: identical geometry and size, grey only, fully inert. */
.side-arrow.disabled,
.side-arrow.disabled:hover,
.side-arrow.disabled:active,
.side-arrow.disabled:focus,
.side-arrow.disabled:focus-visible{
  pointer-events:none!important;
  cursor:default!important;
  visibility:visible!important;
  opacity:1!important;
}
.side-arrow.disabled .arrow-art,
.side-arrow.disabled:hover .arrow-art,
.side-arrow.disabled:active .arrow-art,
.side-arrow.disabled.is-clicked .arrow-art{
  width:40px!important;
  height:40px!important;
  background-image:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  background-color:#999!important;
  clip-path:none!important;
  transform:none!important;
  box-shadow:none!important;
}
.side-arrow.disabled.prev .arrow-art{clip-path:polygon(0 50%,100% 0,100% 100%)!important;}
.side-arrow.disabled.next .arrow-art{clip-path:polygon(100% 50%,0 0,0 100%)!important;}

@media (max-width:760px){
  /* Mobile arrows are exactly 50% of the 40px desktop size. */
  .side-arrow,
  .side-arrow .arrow-art{
    width:20px!important;
    height:20px!important;
  }
  .side-arrow.prev{left:4px!important;right:auto!important;}
  .side-arrow.next{right:4px!important;left:auto!important;}
  .side-arrow .arrow-art{
    background-size:20px 20px!important;
  }
  .side-arrow.disabled .arrow-art,
  .side-arrow.disabled:hover .arrow-art,
  .side-arrow.disabled:active .arrow-art,
  .side-arrow.disabled.is-clicked .arrow-art{
    width:20px!important;
    height:20px!important;
  }
}

/* v26: clean geometric navigation arrows and keep the mobile Index page number inside the page. */
.side-arrow,
.side-arrow .arrow-art{
  box-sizing:border-box!important;
}
.side-arrow .arrow-art{
  width:40px!important;
  height:40px!important;
  display:block!important;
  background:none!important;
  background-image:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border:0!important;
  border-style:solid!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  transform:none!important;
  box-shadow:none!important;
}
.side-arrow.prev .arrow-art{
  border-top-width:20px!important;
  border-bottom-width:20px!important;
  border-left-width:0!important;
  border-right-width:40px!important;
  border-left-color:transparent!important;
  border-right-color:#1769AA!important;
}
.side-arrow.next .arrow-art{
  border-top-width:20px!important;
  border-bottom-width:20px!important;
  border-left-width:40px!important;
  border-right-width:0!important;
  border-left-color:#1769AA!important;
  border-right-color:transparent!important;
}
.side-arrow:hover .arrow-art{
  background:none!important;
  background-image:none!important;
  transform:none!important;
}
.side-arrow.prev:hover .arrow-art{
  border-right-color:#fff!important;
}
.side-arrow.next:hover .arrow-art{
  border-left-color:#fff!important;
}
.side-arrow:active .arrow-art,
.side-arrow.is-clicked .arrow-art{
  background:none!important;
  background-image:none!important;
  transform:none!important;
}
.side-arrow.prev:active .arrow-art,
.side-arrow.prev.is-clicked .arrow-art{
  border-right-color:#000!important;
}
.side-arrow.next:active .arrow-art,
.side-arrow.next.is-clicked .arrow-art{
  border-left-color:#000!important;
}
.side-arrow.disabled .arrow-art,
.side-arrow.disabled:hover .arrow-art,
.side-arrow.disabled:active .arrow-art,
.side-arrow.disabled.is-clicked .arrow-art,
.side-arrow.disabled:focus .arrow-art,
.side-arrow.disabled:focus-visible .arrow-art{
  background:none!important;
  background-image:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  transform:none!important;
  box-shadow:none!important;
}
.side-arrow.disabled.prev .arrow-art,
.side-arrow.disabled.prev:hover .arrow-art,
.side-arrow.disabled.prev:active .arrow-art,
.side-arrow.disabled.prev.is-clicked .arrow-art{
  border-top-width:20px!important;
  border-bottom-width:20px!important;
  border-left-width:0!important;
  border-right-width:40px!important;
  border-left-color:transparent!important;
  border-right-color:#999!important;
}
.side-arrow.disabled.next .arrow-art,
.side-arrow.disabled.next:hover .arrow-art,
.side-arrow.disabled.next:active .arrow-art,
.side-arrow.disabled.next.is-clicked .arrow-art{
  border-top-width:20px!important;
  border-bottom-width:20px!important;
  border-left-width:40px!important;
  border-right-width:0!important;
  border-left-color:#999!important;
  border-right-color:transparent!important;
}

@media (max-width:760px){
  .side-arrow,
  .side-arrow .arrow-art{
    width:20px!important;
    height:20px!important;
  }
  .side-arrow.prev .arrow-art,
  .side-arrow.disabled.prev .arrow-art,
  .side-arrow.disabled.prev:hover .arrow-art,
  .side-arrow.disabled.prev:active .arrow-art,
  .side-arrow.disabled.prev.is-clicked .arrow-art{
    border-top-width:10px!important;
    border-bottom-width:10px!important;
    border-left-width:0!important;
    border-right-width:20px!important;
  }
  .side-arrow.next .arrow-art,
  .side-arrow.disabled.next .arrow-art,
  .side-arrow.disabled.next:hover .arrow-art,
  .side-arrow.disabled.next:active .arrow-art,
  .side-arrow.disabled.next.is-clicked .arrow-art{
    border-top-width:10px!important;
    border-bottom-width:10px!important;
    border-left-width:20px!important;
    border-right-width:0!important;
  }

  /* Keep the Index page number within the mobile page instead of using the old 50px offset. */
  #Container #Page #PageNo,
  .book-page.index-page #PageNo{
    float:none!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    clear:both!important;
    display:block!important;
    width:70px!important;
    max-width:70px!important;
    height:auto!important;
    margin:24px 0 18px auto!important;
    padding-top:0!important;
    padding-bottom:5px!important;
    box-sizing:border-box!important;
    text-align:right!important;
  }
}

/* v28: native Go to page dropdown. */
#Drop_Box{justify-self:end;position:relative;}
#Drop_Box #go-to-page{
  height:38px;
  min-width:132px;
  padding:0 28px 0 12px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:4px;
  background:#fff;
  color:#173f78;
  font-weight:700;
  cursor:pointer;
  font-size:13px;
  line-height:38px;
}
#Drop_Box #go-to-page:hover{background:#f6f6f6;}
#Drop_Box #PagePicker,#DropToggle{display:none!important;}
@media (max-width:760px){
  #Drop_Box{grid-area:right;}
  #Drop_Box #go-to-page{min-width:132px;height:34px;font-size:12px;line-height:34px;}
}
@media (max-width:420px){
  #Drop_Box #go-to-page{min-width:118px;font-size:12px;}
}

/* v30: mobile Index columns — descriptions left, page links fixed to the far right. */
@media (max-width:760px){
  #Container #Page .IndexEntryTable{
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  #Container #Page .IndexEntryTable .IndexLabel{
    width:auto!important;
    padding-right:10px!important;
    text-align:left!important;
  }
  #Container #Page .IndexEntryTable .IndexPages{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    padding-left:4px!important;
    padding-right:0!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  #Container #Page .IndexEntryTable .IndexPages .TR2{
    display:block!important;
    width:100%!important;
    text-align:right!important;
  }
  #Container #Page .IndexEntryTable .IndexPages a{
    white-space:nowrap!important;
  }
}

/* v31: mobile Index page-number column is fixed to the far right of every letter section. */
@media (max-width:760px){
  #Container #Page .IndexEntryTable{
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #Container #Page .IndexEntryTable .IndexLabel{
    width:auto!important;
    padding-right:8px!important;
  }
  #Container #Page .IndexEntryTable .IndexPages{
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    box-sizing:border-box!important;
    padding:0!important;
    text-align:right!important;
    vertical-align:top!important;
  }
  #Container #Page .IndexEntryTable .IndexPages .TR2{
    display:inline!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  #Container #Page .IndexEntryTable .IndexPages a{
    white-space:nowrap!important;
  }
}

/* v32: mobile Index uses the full actual screen-width content column.
   Every letter section shares the same right-hand pixel edge for page numbers. */
@media (max-width:760px){
  #Container #Page #IndexContainer,
  .book-page.index-page #IndexContainer{
    width:100%!important;
    max-width:none!important;
    padding-left:10px!important;
    padding-right:10px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  #Container #Page #IndexContainer #LeftTab,
  #Container #Page #IndexContainer #MidTab,
  #Container #Page #IndexContainer #RightTab,
  .book-page.index-page #LeftTab,
  .book-page.index-page #MidTab,
  .book-page.index-page #RightTab{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:20px 0 0!important;
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
  }
  #Container #Page .IndexEntryTable,
  .book-page.index-page .IndexEntryTable{
    display:table!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:2px 0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    box-sizing:border-box!important;
  }
  #Container #Page .IndexEntryTable tr,
  .book-page.index-page .IndexEntryTable tr{display:table-row!important;}
  #Container #Page .IndexEntryTable .IndexLabel,
  .book-page.index-page .IndexEntryTable .IndexLabel{
    display:table-cell!important;
    width:auto!important;
    min-width:0!important;
    padding:0 8px 0 0!important;
    vertical-align:top!important;
    text-align:left!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#000!important;
    font-size:11px!important;
    line-height:16px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  #Container #Page .IndexEntryTable .IndexPages,
  .book-page.index-page .IndexEntryTable .IndexPages{
    display:table-cell!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    padding:0!important;
    vertical-align:top!important;
    text-align:right!important;
    white-space:nowrap!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#900!important;
    font-size:11px!important;
    line-height:16px!important;
    box-sizing:border-box!important;
  }
  #Container #Page .IndexEntryTable .IndexPages .TR2,
  .book-page.index-page .IndexEntryTable .IndexPages .TR2{
    display:inline!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  #Container #Page .IndexEntryTable .IndexPages a,
  .book-page.index-page .IndexEntryTable .IndexPages a{
    white-space:nowrap!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#900!important;
    font-size:11px!important;
    line-height:16px!important;
  }
  /* Q / Quality Labels has no TR1/TR2 wrapper in the original HTML, so give it
     exactly the same typography and alignment as every other Index row. */
  #Container #Page .IndexEntryTable .IndexLabel:not(:has(.TR1)),
  .book-page.index-page .IndexEntryTable .IndexLabel:not(:has(.TR1)){
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#000!important;
    font-size:11px!important;
    line-height:16px!important;
  }
  #Container #Page .IndexEntryTable .IndexPages:not(:has(.TR2)),
  .book-page.index-page .IndexEntryTable .IndexPages:not(:has(.TR2)){
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#900!important;
    font-size:11px!important;
    line-height:16px!important;
    text-align:right!important;
  }
}

/* v33: make Index columns use the actual available page width and keep every
   page-number cell on one consistent right edge.  Also normalise Quality Labels. */
.book-page.index-page .IndexEntryTable .IndexLabel,
.book-page.index-page .IndexEntryTable .IndexPages{
  box-sizing:border-box!important;
}

@media (min-width:761px){
  .book-page.index-page #IndexContainer .IndexEntryTable{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel{
    width:auto!important;
    padding-right:8px!important;
    text-align:left!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages{
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    padding:0!important;
    text-align:right!important;
    vertical-align:top!important;
    white-space:nowrap!important;
  }
}

@media (max-width:760px){
  /* The original index restoration fixed the page itself at 900px.  That was
     the reason the single-column view was still behaving like a cropped desktop
     page.  On mobile the page and all index wrappers must be viewport-width. */
  .book-page.index-page,
  .book-page.index-page #Page,
  .book-page.index-page #IndexWrap,
  .book-page.index-page #IndexContainer{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .book-page.index-page{
    min-height:0!important;
    height:auto!important;
  }
  .book-page.index-page #Page{
    height:auto!important;
    min-height:0!important;
  }
  .book-page.index-page #IndexWrap{
    padding:0!important;
  }
  .book-page.index-page #IndexContainer{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .book-page.index-page #LeftTab,
  .book-page.index-page #MidTab,
  .book-page.index-page #RightTab{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    padding:20px 0 0!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel{
    width:auto!important;
    min-width:0!important;
    padding:0 8px 0 0!important;
    text-align:left!important;
    vertical-align:top!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages{
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    padding:0!important;
    text-align:right!important;
    vertical-align:top!important;
    white-space:nowrap!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
}


/* v34: mobile Index is a true full-width two-column layout.
   The old desktop Index columns are deliberately left untouched. */
@media (max-width:760px){
  .book-page.index-page #IndexContainer .IndexEntryTable{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 64px!important;
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:2px 0!important;
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable tbody{
    display:contents!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable tr{
    display:contents!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0 8px 0 0!important;
    margin:0!important;
    vertical-align:top!important;
    text-align:left!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#000!important;
    font-size:11px!important;
    line-height:16px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages{
    display:block!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    padding:0!important;
    margin:0!important;
    vertical-align:top!important;
    text-align:right!important;
    white-space:nowrap!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#900!important;
    font-size:11px!important;
    line-height:16px!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel .TR1,
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    font-size:11px!important;
    line-height:16px!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
    text-align:right!important;
    white-space:nowrap!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages a{
    white-space:nowrap!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:bold!important;
    color:#900!important;
    font-size:11px!important;
    line-height:16px!important;
  }
}

/* v35: definitive mobile Index alignment.  Use a normal block layout with
   the page-number cell absolutely anchored to the right edge of each full-
   width entry.  This avoids the legacy table/grid sizing rules entirely. */
@media (max-width:760px){
  .book-page.index-page #IndexContainer .IndexEntryTable{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:2px 64px 2px 0!important;
    box-sizing:border-box!important;
    table-layout:auto!important;
    border:0!important;
    border-collapse:separate!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable tbody,
  .book-page.index-page #IndexContainer .IndexEntryTable tr{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    line-height:16px!important;
    font-weight:bold!important;
    color:#000!important;
    text-align:left!important;
    vertical-align:top!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages{
    display:block!important;
    position:absolute!important;
    top:2px!important;
    right:0!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    line-height:16px!important;
    font-weight:bold!important;
    color:#900!important;
    text-align:right!important;
    vertical-align:top!important;
    white-space:nowrap!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel .TR1,
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    line-height:16px!important;
    font-weight:bold!important;
    box-sizing:border-box!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
    text-align:right!important;
    white-space:nowrap!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages a{
    white-space:nowrap!important;
    font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    line-height:16px!important;
    font-weight:bold!important;
    color:#900!important;
  }
}

/* Keep Quality Labels identical to the other Index entries on desktop too. */
.book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel,
.book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel .TR1{
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:16px!important;
  font-weight:bold!important;
  color:#000!important;
  text-align:left!important;
}
.book-page.index-page #IndexContainer .IndexEntryTable .IndexPages,
.book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2,
.book-page.index-page #IndexContainer .IndexEntryTable .IndexPages a{
  font-family:"Trebuchet MS",Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:16px!important;
  font-weight:bold!important;
  color:#900!important;
}


/* v36: Index entries are real table rows. Each description is paired with its
   corresponding page-number links, so desktop and mobile can never drift apart. */
.book-page.index-page #IndexContainer .IndexEntryTable{
  border-collapse:collapse!important;
  table-layout:fixed!important;
}
.book-page.index-page #IndexContainer .IndexEntryTable tbody{display:table-row-group!important;}
.book-page.index-page #IndexContainer .IndexEntryTable tr{display:table-row!important;}
.book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel{
  display:table-cell!important; width:auto!important; min-width:0!important;
  padding:0 8px 0 0!important; vertical-align:top!important; text-align:left!important;
}
.book-page.index-page #IndexContainer .IndexEntryTable .IndexPages{
  display:table-cell!important; width:64px!important; min-width:64px!important; max-width:64px!important;
  padding:0!important; vertical-align:top!important; text-align:right!important; white-space:nowrap!important;
}
.book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel .TR1,
.book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
  display:inline!important; width:auto!important; margin:0!important; padding:0!important;
}
@media (min-width:761px){
  .book-page.index-page #IndexContainer .IndexEntryTable{
    width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important;
  }
}
@media (max-width:760px){
  .book-page.index-page #IndexContainer .IndexEntryTable{
    display:table!important; width:100%!important; max-width:none!important; min-width:0!important;
    margin:0!important; padding:2px 0!important; table-layout:fixed!important;
    border-collapse:collapse!important; position:static!important; transform:none!important; left:auto!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable tbody{display:table-row-group!important;}
  .book-page.index-page #IndexContainer .IndexEntryTable tr{display:table-row!important;}
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel{
    display:table-cell!important; width:auto!important; min-width:0!important; max-width:none!important;
    padding:0 8px 0 0!important; vertical-align:top!important; text-align:left!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages{
    display:table-cell!important; position:static!important; top:auto!important; right:auto!important;
    width:64px!important; min-width:64px!important; max-width:64px!important; height:auto!important;
    padding:0!important; margin:0!important; vertical-align:top!important; text-align:right!important; white-space:nowrap!important;
  }
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexLabel .TR1,
  .book-page.index-page #IndexContainer .IndexEntryTable .IndexPages .TR2{
    display:inline!important; width:auto!important; margin:0!important; padding:0!important;
  }
}
