@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');
:root { --deep-blue:#1d008f; --nav-blue:#70acd5; --mint:#afd6d1; --text:#353535; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; }
body { background:var(--mint); color:var(--text); font:14px/1.6 "Open Sans", Arial, sans-serif; }
a { color:#1d008f; text-decoration:none; } button, input { font:inherit; }
.site-shell { width:min(1340px, calc(100% - 20px)); margin:0 auto; }
.site-header { height:304px; background:var(--deep-blue); display:flex; align-items:center; justify-content:center; padding:18px 70px 36px; }
.site-header img { width:100%; height:248px; object-fit:cover; }
.main-nav { height:52px; background:var(--deep-blue); display:flex; align-items:stretch; border-top:1px solid rgba(255,255,255,.4); }
.main-nav a { flex:1; min-width:0; color:white; background:#70acd5; border-right:1px solid #2d438f; text-align:center; display:flex; align-items:center; justify-content:center; flex-direction:column; line-height:16px; padding:8px 7px; white-space:nowrap; }
.main-nav a.active { background:var(--deep-blue); } .main-nav a span { font-size:15px; line-height:8px; }
.main-nav button { width:66px; border:0; border-left:1px solid #2d438f; color:#fff; background:#70acd5; font-size:0; position:relative; }
.main-nav button:after { content:'⌕'; font-size:27px; position:absolute; left:21px; top:9px; transform:rotate(-20deg); }
.ticker { height:61px; margin-top:19px; display:grid; grid-template-columns:150px 1fr 126px; overflow:hidden; align-items:center; }
.ticker strong, .ticker time { height:41px; background:#240b91; color:white; display:flex; align-items:center; justify-content:center; }
.ticker strong { clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%); font-size:13px; }
.ticker div { height:41px; background:white; display:flex; align-items:center; overflow:hidden; white-space:nowrap; color:#666; } .ticker time { font-weight:700; }
.hero-gap { height:30px; }
.content-grid { display:grid; grid-template-columns:306px minmax(0,650px) 306px; gap:21px; align-items:start; margin:0 18px; }
.widget { background:white; margin-bottom:22px; } .widget > h3 { margin:0; background:linear-gradient(100deg,#16006c,#2b06a4); color:white; font-size:14px; padding:13px 16px; min-height:47px; }
.widget-body { padding:19px 20px 21px; } .widget-body p { margin:0 0 20px; }
.problem { color:#d6382d; text-align:center; font-size:15px; } .problem b { display:block; font-size:23px; line-height:1.18; margin:3px 0 14px; } .problem a { color:#d6382d; }
.widget input, .letter input { width:100%; border:1px solid #e8e8e8; background:#fafafa; padding:10px; color:#999; margin-bottom:20px; }
.plain-button { border:1px solid #777; background:#efefef; padding:1px 7px; line-height:20px; }
.partner-img { display:block; width:100%; height:auto; object-fit:contain; } .partner-img.wide { margin-top:15px; } .widget hr { border:0; border-top:1px solid #ddd; margin:28px 0 15px; }
.breadcrumbs { height:47px; border-bottom:1px solid rgba(255,255,255,.65); color:#777; font-size:12px; text-transform:uppercase; display:flex; align-items:center; }
.post-card { background:white; padding:18px 21px 30px; } h1 { margin:0 0 3px; color:var(--deep-blue); font-size:24px; line-height:1.3; }
.post-meta { display:flex; justify-content:space-between; font-size:12px; border-bottom:1px solid #ddd; padding-bottom:7px; margin-bottom:14px; }
.post-copy p { margin:0 0 18px; } .post-copy strong { font-weight:700; }
.memorial-post { padding-top:25px; }
.memorial-post h1 { margin-bottom:24px; }
.memorial-post .post-copy { font-size:15px; line-height:1.75; }
.memorial-post .post-copy p:last-child { margin:30px 0 4px; }
.share { margin-top:10px; } .share > b { display:block; font-size:13px; margin-bottom:7px; } .share-buttons { display:flex; gap:5px; flex-wrap:wrap; }
.share-buttons button { color:#666; border:1px solid #c8c8c8; background:linear-gradient(#fff,#eee); border-radius:3px; padding:2px 7px; font-size:12px; }
.tags { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:14px 0 28px; } .tags b { margin-right:4px; } .tags a { color:#888; font-size:11px; border:1px solid #ddd; background:#fafafa; padding:2px 10px; }
.promos p { padding:15px 0; border-top:1px solid #ddd; margin:0; }
.right-sidebar { min-height:730px; }
.right-sidebar .widget-body h2 { color:var(--deep-blue); font-size:20px; line-height:1.3; margin:0 0 15px; }
.slim-ad { display:block; margin:auto; max-width:180px; }
.related { border-top:1px solid #ddd; margin-top:12px; padding-top:17px; }
.related h2 { color:var(--deep-blue); font-size:20px; margin:0 0 15px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.related-grid img, .missing-image { width:100%; height:122px; object-fit:cover; background:#eee; }
.related-grid h4 { color:var(--deep-blue); font-size:13px; line-height:1.4; margin:8px 0 2px; }
.related-grid time { color:#888; font-size:11px; }
.reply { border-top:1px solid #ddd; margin-top:28px; padding-top:15px; }
.reply h3 { color:var(--deep-blue); font-size:18px; margin:0 0 10px; }
.reply textarea { width:100%; min-height:140px; border:1px solid #ddd; padding:12px; resize:vertical; }
.form-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:10px 0; }
.form-row input { width:100%; border:1px solid #ddd; padding:9px; min-width:0; }
.reply label { display:block; margin:8px 0; font-size:12px; }
.reply button { margin:7px 0; padding:5px 12px; border:1px solid #bbb; background:#eee; }
.overlay { position:fixed; inset:0; background:rgba(0,0,0,.78); z-index:20; display:flex; justify-content:center; align-items:center; }
.newsletter-modal { width:850px; max-width:calc(100% - 30px); background:white; position:relative; padding:16px 34px 27px; border:8px solid transparent; border-image:repeating-linear-gradient(45deg,#244883 0 10px,#fff 10px 19px,#ac3d43 19px 29px,#fff 29px 38px) 8; box-shadow:0 3px 20px rgba(0,0,0,.3); }
.modal-close { position:absolute; right:4px; top:0; border:0; background:transparent; color:#999; font-size:30px; line-height:30px; cursor:pointer; }
.newsletter-modal h2 { text-align:center; color:#304c96; font-size:36px; margin:0 0 14px; }
.letter { background:#c0e0fb; border:1px solid #a8cae6; border-radius:9px; padding:17px 24px 26px; } .letter h3 { color:#160087; font-size:25px; margin:0 0 4px; white-space:nowrap; } .letter p { color:#587a96; margin:0; }
.letter input { height:41px; margin:0 0 1px; background:white; } .letter strong { display:block; color:#12009c; text-align:center; font-size:26px; line-height:1.3; }
.secure { width:245px; height:54px; display:block; margin:21px auto 0; }
.cookie-bar { position:fixed; right:30px; bottom:30px; z-index:30; background:#2a0d91; color:white; padding:9px 19px; width:710px; max-width:calc(100% - 30px); text-align:center; border-radius:6px; font-size:11px; }
.cookie-bar a { color:white; } .cookie-bar button { margin-left:22px; padding:1px 15px; font-size:11px; }
@media (max-width:1000px) { .site-header { height:auto; padding:14px; } .site-header img { height:auto; } .main-nav { overflow-x:auto; } .main-nav a { min-width:125px; } .hero-gap { height:180px; } .content-grid { grid-template-columns:1fr; margin:0; } .left-sidebar, .right-sidebar { display:none; } main { width:min(650px,100%); margin:auto; } .newsletter-modal h2 { font-size:27px; } .letter h3, .letter strong { font-size:19px; } .letter h3 { white-space:normal; } }
