/* Main-site masthead, navigation and footer, isolated from reading typography. */
.tt-site-header { width:100%; }
.tt-masthead { height:210px; background:#052858 url("site-assets/masthead.jpg") center center / cover no-repeat; }
.tt-masthead-inner { position:relative; max-width:1200px; height:100%; padding:42px 24px 0; margin:auto; display:grid; grid-template-columns:1fr 280px 1fr; align-items:start; }
.tt-masthead-name,.tt-memorial-name { color:#fad807; font:700 32px/1.3 "Palatino Linotype",Palatino,Georgia,serif; text-align:center; text-decoration:none; }
.tt-masthead-name:hover,.tt-memorial-name:hover { color:#fff0a2; }
.tt-masthead-logo { display:block; height:156px; margin-top:-28px; }
.tt-site-search { position:absolute; right:24px; bottom:24px; z-index:35; }
.tt-site-search summary { display:flex; align-items:center; justify-content:center; width:34px; height:34px; cursor:pointer; color:#a78a00; background:white; border:1px solid #dadcda; border-radius:50%; list-style:none; }
.tt-site-search summary::-webkit-details-marker { display:none; }
.tt-site-search form { position:absolute; right:0; top:44px; width:320px; max-width:calc(100vw - 32px); padding:16px; background:white; color:#23384b; border:1px solid #ced6df; border-radius:5px; box-shadow:0 8px 25px #00172c40; font:14px/1.4 system-ui,sans-serif; }
.tt-site-search label { display:block; margin-bottom:8px; font-weight:600; }
.tt-site-search form div { display:flex; gap:8px; }
.tt-site-search input { min-width:0; width:100%; padding:9px; border:1px solid #9fb0c8; border-radius:3px; font:16px/1.4 system-ui,sans-serif; background:white; color:#23384b; }
.tt-site-search button { padding:8px 10px; background:#003366; color:white; border:0; border-radius:3px; cursor:pointer; }
.tt-main-nav { display:block; background:#fff; border-bottom:1px solid #d8dee5; }
.tt-navigation-menu { max-width:1240px; margin:auto; }
.tt-navigation-menu > summary { display:none; }
.tt-main-nav ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; list-style:none; gap:0; padding:10px 12px; margin:0; }
.tt-main-nav li { margin:0; padding:0; }
.tt-main-nav a { display:block; padding:9px 6px; color:#666; font:14px/1.35 Georgia,"Times New Roman",serif; text-transform:uppercase; text-decoration:none; white-space:nowrap; }
.tt-main-nav a:hover { color:#003366; background:#f1f5f8; }
.tt-main-nav a[aria-current="page"] { color:#003366; box-shadow:inset 0 -3px 0 #d4af35; }
.tt-breadcrumb { display:block; padding:8px 24px; background:#003366; color:#c8d7e8; font:14px/1.4 Georgia,serif; }
.tt-breadcrumb > div { max-width:1200px; margin:auto; display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.tt-breadcrumb a { color:#e3ecf5; text-decoration:none; }
.tt-breadcrumb a:hover { text-decoration:underline; }
.tt-site-footer { width:100%; margin:0; padding:0; border:0; background:#003366; color:#efebeb; font:14px/1.6 Lora,Georgia,"Times New Roman",serif; }
.tt-footer-columns { display:grid; grid-template-columns:3fr 4fr 2fr 3fr; max-width:1170px; margin:auto; padding:60px 24px 40px; gap:30px; }
.tt-site-footer h3 { font:600 20px/1.3 "Playfair Display",Playfair,Georgia,serif; color:#ffffff; margin:0 0 18px; text-align:left; letter-spacing:.3px; }
.tt-site-footer p { margin:0 0 15px; color:#efebeb; }
.tt-site-footer ul { list-style:none; margin:0; padding:0; }
.tt-site-footer li { padding:4px 0; line-height:1.6; }
.tt-site-footer a { color:#efebeb; text-decoration:none; }
.tt-site-footer a:hover { color:#fad807; text-decoration:none; }
.tt-footer-split { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tt-contact-email { margin-bottom:22px; }
.tt-social-links { display:flex; gap:10px; margin-top:6px; padding:0; }
.tt-social-links li { padding:0; }
.tt-social-links a { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); color:#ffffff; transition:background .15s,color .15s; }
.tt-social-links a:hover { background:#fad807; color:#003366; }
.tt-footer-bottom { background:#06111d; padding:16px 24px; color:#c6d0da; font:13px/1.55 Lora,Georgia,serif; display:grid; grid-template-columns:1fr 3fr; gap:28px; max-width:none; align-items:center; }
.tt-footer-bottom p { margin:0; }
.tt-footer-bottom .tt-copyright { padding-left:0; max-width:1170px; }
.tt-footer-bottom .tt-credit span { display:block; margin-top:6px; }
.tt-footer-bottom a { color:#c6d0da; text-decoration:underline; }
.tt-footer-bottom a:hover { color:#fad807; }
.library-header { min-height:0; padding:10px 24px; background:#003366!important; justify-content:center; }
.library-header .topnav { width:100%; max-width:1200px; justify-content:space-between; }
.library-header .book-menu { margin-left:auto; }
.library-header .topnav > a:last-child { display:none; }
@media(max-width:900px) {
  .tt-masthead-inner { grid-template-columns:1fr 200px 1fr; padding-top:44px; }
  .tt-masthead-name,.tt-memorial-name { font-size:26px; }
  .tt-footer-columns { grid-template-columns:1fr 1fr; }
  .tt-footer-bottom { grid-template-columns:1fr; gap:10px; text-align:center; }
}
@media(max-width:600px) {
  .tt-masthead { height:170px; background-size:auto 170px; }
  .tt-masthead-inner { padding:16px 12px 0; grid-template-columns:1fr 120px 1fr; }
  .tt-masthead-name,.tt-memorial-name { font-size:18px; line-height:1.2; padding-top:4px; }
  .tt-masthead-logo { height:132px; margin-top:0; }
  .tt-site-search { right:14px; bottom:14px; }
  .tt-navigation-menu > summary { display:block; list-style:none; cursor:pointer; padding:14px 20px; color:#003366; font:600 16px/1.4 system-ui,sans-serif; }
  .tt-navigation-menu > summary::after { content:" ▾"; float:right; }
  .tt-navigation-menu[open] > summary::after { content:" ▴"; }
  .tt-main-nav ul { display:grid; grid-template-columns:1fr 1fr; padding:0 14px 14px; }
  .tt-main-nav a { white-space:normal; padding:10px 7px; font-size:12px; }
  .tt-breadcrumb { padding:9px 18px; font-size:13px; }
  .tt-footer-columns { grid-template-columns:1fr; padding:36px 20px 26px; gap:28px; }
  .tt-footer-split { grid-template-columns:1fr; gap:0; }
  .library-header .topnav { gap:12px; }
}
@media print { .tt-site-header,.tt-site-footer,.library-header { display:none!important; } }
