/* Styles for the few visible pieces added by transforms/40_seo.py */

/* /job-listings page title */
.jobs-index .sh-jobs-title { margin: 0 0 20px; color: #08344a; }

/* /blog: list of every article, under the cards */
#post-summaries .sh-archive { width: 100%; margin: 30px 1% 10px; padding: 24px 0 0; border-top: 1px solid #e0e0e0; }
#post-summaries .sh-archive h2 { margin: 0 0 14px; color: #08344a; font-size: 26px; }
#post-summaries .sh-archive ul { list-style: none; margin: 0; padding: 0; columns: 2 320px; column-gap: 40px; }
#post-summaries .sh-archive li { break-inside: avoid; padding: 6px 0; line-height: 1.4; }
#post-summaries .sh-archive a { color: #08344a; font-weight: 700; text-decoration: none; }
#post-summaries .sh-archive a:hover, #post-summaries .sh-archive a:focus { text-decoration: underline; }
#post-summaries .sh-archive time { display: block; font-size: 14px; color: #555; }

/* /sitemap: every page, job and article */
.sh-sitemap { max-width: 1200px; margin: 0 auto; padding: 20px 20px 60px; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px 40px; }
.sh-sitemap section { min-width: 0; }
.sh-sitemap .sh-wide { grid-column: 1 / -1; }
.sh-sitemap h2 { margin: 24px 0 10px; font-size: 22px; font-weight: 700; color: #08344a; }
.sh-sitemap ul { list-style: none; margin: 0; padding: 0; }
.sh-sitemap .sh-wide ul { columns: 3 260px; column-gap: 40px; }
.sh-sitemap li { break-inside: avoid; padding: 5px 0; line-height: 1.4; }
.sh-sitemap a { color: #08344a; text-decoration: none; }
.sh-sitemap a:hover, .sh-sitemap a:focus { text-decoration: underline; }
.sh-sitemap li span { color: #555; font-size: 14px; }

/* 404 page */
.sh-404 { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; padding: 40px 20px 60px; text-align: center; background: rgba(255, 255, 255, .85); }
.sh-404 h1 { margin: 0 0 12px; color: #08344a; font-size: 40px; font-weight: 700; line-height: 1.2; }
.sh-404 p { margin: 0 0 16px; font-size: 18px; }
.sh-404 a { display: inline-block; margin: 4px 8px; color: #08344a; font-weight: 700; }
/* The old CMS's stock error picture (a broken screen reading "An error occurred while processing your
   request") contradicts the message above and was cut off on phones. The page shows the message alone. */
.error404 .errorBG { display: none; }
.error404 { min-height: 0; padding: 72px 0 96px; }
