/*
All-Med stylesheet. Layout, colours and proportions rebuilt from the theme the site used in its
2023 Wayback snapshot (VT Blogging: 1000px container, 660px content box + 320px sidebar, #343e47 header,
#f0f0f0 page, Open Sans, #eb5424 accent). Readability pass: larger body text, darker greys,
accent darkened to #c43e16 wherever it carries text.
*/

/* 0. Reset (from the theme) */
*, *:before, *:after { box-sizing: border-box; }
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, em, img, small, strong, b, i,
dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, thead, tr, th, td,
article, aside, figcaption, figure, footer, header, nav, section, main {
  margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline;
  background: transparent; word-wrap: break-word;
}
html { -webkit-text-size-adjust: 100%; }
article, aside, figcaption, figure, footer, header, nav, section, main { display: block; }
nav ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
img { max-width: 100%; height: auto; }

@font-face {
  font-family: 'Genericons';
  src: url("../fonts/genericons-regular-webfont.woff?v=db7a8d16") format("woff");
  font-weight: normal; font-style: normal; font-display: block;
}
.genericon { display: inline-block; font-family: "Genericons"; font-style: normal; font-weight: normal;
  line-height: 1; text-decoration: inherit; -webkit-font-smoothing: antialiased; speak: none; }
.genericon-search:before { content: "\f400"; }
.genericon-close:before { content: "\f405"; }
.genericon-collapse:before { content: "\f432"; }
.genericon-menu:before { content: "\f419"; }

/* 1. Defaults */
body {
  background: #f0f0f0;
  color: #333;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 { color: #222; font-weight: 600; }
strong, b { font-weight: 700; }
a { color: #c43e16; text-decoration: none; }
a:hover { color: #c43e16; text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, label:focus-visible {
  outline: 2px solid #eb5424; outline-offset: 2px;
}
input, textarea, select {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px; background-color: #fff; border: 1px solid #bbb; color: #333; border-radius: 0;
}
input:focus, textarea:focus { border-color: #888; }
.container { margin: 0 auto; width: 1000px; }
.clear:before, .clear:after { content: ""; display: table; }
.clear:after { clear: both; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }
.skip-link:focus { clip: auto; height: auto; width: auto; left: 10px; top: 10px; z-index: 1000; background: #fff; padding: 8px 12px; color: #222; }

/* 2. Header */
.site-header { background-color: #343e47; height: 80px; width: 100%; line-height: 1; position: relative; z-index: 50; }
#masthead .container { position: relative; height: 80px; }
.site-branding { float: left; margin-right: 30px; text-align: left; }
.site-title { font-size: 26px; font-weight: 600; letter-spacing: 1.5px; line-height: 45px; margin: 5px 0 0; }
.site-title a { color: #ddd; display: block; }
.site-title a:hover { color: #fff; text-decoration: none; }
.site-description { color: #ddd; font-size: 13px; font-weight: 600; margin-top: 2px; }

.site-header .search-icon { display: block; position: absolute; top: 26px; right: 0; background: none; border: 0; cursor: pointer; padding: 2px; }
.site-header .search-icon span { color: #fff; font-size: 22px; font-weight: bold; vertical-align: middle; }
.site-header .search-icon:hover span { color: rgba(255,255,255,0.8); }
.site-header .search-icon .genericon-close { display: none; }
.site-header .search-icon.active .genericon-search { display: none; }
.site-header .search-icon.active .genericon-close { display: inline-block; }

/* Header search (works: filters the guide index) */
.header-search { border-top: 1px solid #333; display: none; background-color: #3c4852; line-height: 1; width: 100%; position: relative; z-index: 40; }
.header-search.open { display: block; }
.header-search .container { position: relative; }
.header-search .container:before { color: #ccc; font-family: 'Genericons'; font-size: 24px; content: '\f400'; position: absolute; top: 18px; left: 0; }
.header-search .search-input { background: transparent; border: none; color: #fff; font-size: 20px; height: 60px; width: 100%; padding-left: 40px; outline: none; }
.header-search .search-input::placeholder { color: #b8c0c6; }
.search-results { list-style: none; margin: 0; padding: 0 0 12px 40px; }
.search-results li { line-height: 1.5; padding: 6px 0; border-top: 1px solid #4a5763; }
.search-results a { color: #fff; font-size: 15px; }
.search-results a:hover { color: #fff; }
.search-results .cat { color: #c9d0d5; font-size: 13px; margin-left: 8px; }
.search-results .none { color: #dfe4e7; font-size: 15px; }

/* Navigation (superfish skin from the theme) */
.main-navigation { float: left; }
.sf-menu, .sf-menu * { margin: 0; padding: 0; list-style: none; }
.sf-menu li { position: relative; }
.sf-menu > li { float: left; }
.sf-menu a { display: block; position: relative; text-decoration: none; }
.sf-menu li { line-height: 80px; white-space: nowrap; }
.sf-menu li a { padding: 0 17px; color: #fff; font-size: 15px; }
.sf-menu > li > a:hover, .sf-menu > li:hover > a, .sf-menu > li:focus-within > a { color: rgba(255,255,255,0.8); text-decoration: none; }
.sf-menu > li.current > a { color: #fff; box-shadow: inset 0 -3px 0 #eb5424; }
.sf-menu ul { position: absolute; display: none; top: 100%; left: 0; z-index: 99; background-color: #fff; border: 1px solid #e9e9e9;
  width: 230px; padding: 0 20px; box-shadow: rgba(190,190,190,0.46) 0 1px 5px; }
.sf-menu li:hover > ul, .sf-menu li:focus-within > ul { display: block; }
.sf-menu li li { line-height: 1.5; border-bottom: 1px solid #f0f0f0; }
.sf-menu li li:last-child { border-bottom: none; }
.sf-menu li li a { color: #222; font-size: 15px; padding: 12px 0; }
.sf-menu li li a:hover { color: #c43e16; }
.sf-menu .sf-with-ul { padding-right: 34px; }
.sf-menu .sf-with-ul:after { position: absolute; top: 50%; right: 15px; margin-top: -7px; content: '\f431'; font: normal 14px/1 'Genericons'; }
.menu-toggle-input { position: absolute; opacity: 0; pointer-events: none; }
.menu-toggle { display: none; }

/* 3. Content */
.site-content { padding: 50px 0; }
#primary { background-color: #fff; border: 1px solid #dfdfdf; float: left; width: 660px; }
#main { padding: 30px 25px 25px; }

.section-header { position: relative; margin-bottom: 20px; }
.section-header h1 { color: #5f5f5f; font-size: 15px; font-weight: 600; margin-bottom: 0; text-transform: uppercase; letter-spacing: .3px; }
.section-intro { border-bottom: 1px solid #e9e9e9; margin-bottom: 30px; padding-bottom: 25px; }
.section-intro p { font-size: 16px; line-height: 1.75; margin-bottom: 12px; }
.section-intro p:last-child { margin-bottom: 0; }

/* Homepage intro */
.home-intro { border-bottom: 1px solid #e9e9e9; margin-bottom: 30px; padding-bottom: 25px; }
.home-intro h1 { font-size: 24px; line-height: 1.35; margin-bottom: 12px; }
.home-intro p { font-size: 16px; line-height: 1.75; margin-bottom: 12px; }
.home-intro p:last-child { margin-bottom: 0; }

/* Listing (the archive's book-listing loop, reused for guides) */
.entry-title a, .entry-title a:visited { color: #333; }
.entry-title a:hover { color: #c43e16; }
.content-loop .hentry { border-bottom: 1px solid #e9e9e9; width: 100%; margin-bottom: 30px; padding-bottom: 30px; position: relative; }
.content-loop .hentry:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.content-loop .entry-title { font-size: 26px; line-height: 1.35; margin-bottom: 15px; }
.content-loop .entry-title a:hover { text-decoration: underline; }
.content-loop .thumbnail-link { display: block; float: left; width: 180px; position: relative; margin: 0 25px 0 0; line-height: 0; }
.content-loop .thumbnail-wrap img { width: 180px; height: 225px; object-fit: cover; display: block; }
.content-loop .entry-summary { display: table; font-size: 15px; line-height: 1.8; }
.content-loop .entry-data { list-style: none; margin: 0; padding: 0; }
.content-loop .entry-data li { margin: 0; }
.content-loop .entry-data b { font-weight: 600; }
.content-loop .read-more a { color: #c43e16; font-size: 15px; font-weight: bold; }
.content-loop .entry-excerpt { margin-top: 2px; font-size: 15px; line-height: 1.8; }

.entry-meta { font-size: 13px; position: relative; color: #555; }
.entry-meta a { color: #555; }
.entry-meta a:hover { color: #222; }
.site-main .entry-meta { background: #eef1f2; margin-left: -25px; margin-bottom: 15px; padding: 1px 0; line-height: 1.6; }
.site-main .entry-author { margin-left: 25px; }

/* Pagination */
.pagination { border-top: 1px solid #e9e9e9; padding: 35px 0; width: 100%; text-align: center; }
.pagination .nav-links { display: block; padding: 0 25px 0; position: relative; }
.pagination .page-numbers { background: #e8edf3; border: 1px solid #c9ced3; color: #333; display: inline-block; font-size: 14px;
  height: 36px; line-height: 34px; padding: 0 12px; margin: 0 1px 4px; }
.pagination .page-numbers.current { background: #c43e16; border-color: #c43e16; color: #fff; }
.pagination .nav-links > a:hover { background: #c43e16; border-color: #c43e16; color: #fff; text-decoration: none; }

/* Homepage text blocks (styled like the theme's single-page content) */
.home-blocks { border-top: 1px solid #dfdfdf; padding: 30px 25px 10px; }
.home-block { margin-bottom: 30px; }
.home-block h2 { font-size: 22px; line-height: 1.35; margin-bottom: 12px; }
.home-block p { font-size: 16px; line-height: 1.75; margin-bottom: 12px; }
.home-block ul { margin: 0 0 12px 0; }
.home-block ul li, .entry-content ul li { list-style: none; margin: 0 0 8px 0; padding-left: 20px; position: relative; font-size: 16px; line-height: 1.7; }
.home-block ul li:before, .entry-content ul li:before { content: ""; position: absolute; left: 4px; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: #8a8a8a; }
.home-block ul li:hover:before, .entry-content ul li:hover:before { background: #eb5424; }
.cat-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cat-cards a { display: block; border: 1px solid #dfdfdf; background: #f7f8f9; padding: 14px 16px; color: #333; }
.cat-cards a:hover { border-color: #eb5424; text-decoration: none; }
.cat-cards h3 { font-size: 17px; color: #c43e16; margin-bottom: 4px; }
.cat-cards p { font-size: 15px; line-height: 1.6; margin: 0 0 6px !important; }
.cat-cards span { font-size: 13px; color: #555; }

/* 4. Single post / page */
.page-title { font-size: 30px; margin-bottom: 25px; line-height: 1.25; }
.single h1.entry-title { font-size: 28px; line-height: 1.35; display: block; margin-bottom: 15px; }
.entry-header { margin-bottom: 20px; }
.entry-content { font-size: 16.5px; line-height: 1.75; color: #2f2f2f; }
.entry-content a { color: #c43e16; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.entry-content h2 { font-size: 23px; line-height: 1.35; margin: 30px 0 14px; }
.entry-content h3 { font-size: 19px; line-height: 1.35; margin: 24px 0 12px; }
.entry-content p { margin-bottom: 16px; }
.entry-content p.lead { font-size: 17.5px; color: #222; }
.entry-content ul, .entry-content ol { margin: 0 0 20px 0; }
.entry-content ol li { list-style: outside decimal; margin: 0 0 8px 22px; }
.entry-content figure, .entry-thumbnail { background-color: #f7f7f7; margin: 0 0 22px; }
.entry-content figure img, .entry-thumbnail img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; }
.entry-content figcaption, .entry-thumbnail figcaption { font-size: 13px; font-style: italic; color: #555; line-height: 1.5; padding: 7px 10px 8px; }
.entry-content table, .home-block table { width: 100%; margin: 0 0 22px; font-size: 15px; line-height: 1.55; }
.entry-content th, .entry-content td, .home-block th, .home-block td { border: 1px solid #dfdfdf; padding: 8px 10px; text-align: left; vertical-align: top; }
.entry-content th, .home-block th { background: #eef1f2; font-weight: 600; color: #222; }
.entry-content .facts { background: #f7f8f9; border: 1px solid #dfdfdf; border-left: 3px solid #eb5424; padding: 16px 18px 6px; margin: 0 0 22px; }
.entry-content .facts h3 { margin: 0 0 10px; font-size: 17px; }
.entry-content .facts dl { margin: 0; font-size: 15px; }
.entry-content .facts dt { font-weight: 600; color: #222; }
.entry-content .facts dd { margin: 0 0 10px; }
.entry-content .src { font-size: 14px; color: #555; border-top: 1px solid #e9e9e9; padding-top: 12px; margin-top: 24px; }
.entry-content label { display: block; font-weight: 600; margin-bottom: 14px; font-size: 15px; }
.entry-content input[type="text"], .entry-content input[type="email"] { width: 300px; max-width: 100%; height: 38px; padding: 0 8px; margin-top: 4px; display: block; }
.entry-content textarea { width: 100%; height: 200px; padding: 8px; margin-top: 4px; display: block; }
.entry-content .wpcf7-submit { background: #c43e16; border: 0; color: #fff; font-weight: 600; font-size: 15px; padding: 10px 26px; cursor: pointer; }
.entry-content .wpcf7-submit:hover { background: #a8350f; }

/* Related posts */
.entry-related { border-top: 1px solid #e9e9e9; margin: 25px 0 0; padding: 25px 0 0; }
.entry-related h2 { font-size: 18px; margin-bottom: 25px; }
.entry-related h2 span { color: #c43e16; }
.entry-related .hentry { float: left; width: 278px; margin: 0 24px 25px 0; }
.entry-related .hentry:nth-child(2n+1) { clear: left; }
.entry-related .hentry:nth-child(2n) { margin-right: 0; }
.entry-related .hentry .thumbnail-link { float: left; margin: 0 15px 0 0; width: 80px; line-height: 0; }
.entry-related .hentry .thumbnail-link img { width: 80px; height: 60px; object-fit: cover; }
.entry-related .hentry .entry-title { font-size: 15px; font-weight: 600; line-height: 1.45; display: table; }
.entry-related .hentry .entry-meta { font-size: 13px; margin-top: 3px; }

/* Author box */
.author-box { border-top: 1px solid #e9e9e9; margin-top: 10px; padding: 25px 0 0; }
.author-box img { border-radius: 50%; float: left; margin: 0 15px 0 0; width: 64px; height: 64px; }
.author-box .author-meta { display: table; }
.author-box .author-name { font-size: 16px; font-weight: 600; margin-bottom: 5px; color: #c43e16; }
.author-box p { font-size: 15px; line-height: 1.7; }

/* 7. Sidebar */
.sidebar { float: right; width: 320px; }
.sidebar .widget { background-color: #fff; border: 1px solid #dfdfdf; margin-bottom: 20px; padding: 20px; font-size: 15px; }
.sidebar .widget .widget-title { border-bottom: 1px solid #e9e9e9; font-size: 18px; font-weight: bold; color: #222; margin-bottom: 15px; line-height: 1.6; }
.sidebar .widget-title span { border-bottom: 3px solid #eb5424; display: inline-block; line-height: 40px; margin: 0 0 -1px; }
.sidebar .widget p { margin-bottom: 12px; line-height: 1.7; }
.sidebar .widget p:last-child { margin-bottom: 0; }
.sidebar .widget ul { margin: 0; padding: 0; }
.sidebar .widget ul > li { list-style: none; margin-bottom: 15px; line-height: 1.5; }
.sidebar .widget ul > li:last-child { margin-bottom: 0; }
.sidebar .widget ul > li a { color: #333; }
.sidebar .widget ul > li a:hover { color: #c43e16; }
.sidebar .widget_categories li { color: #555; }
.sidebar .widget_categories .n { color: #555; font-size: 14px; }

/* 8. Footer */
#site-bottom { color: #555; font-size: 13px; padding: 25px 0; }
#site-bottom .site-info { color: #555; letter-spacing: 1px; text-align: center; text-transform: uppercase; line-height: 1.8; }
#site-bottom .site-info a { color: #c43e16; }
#site-bottom .site-info a:hover { color: #222; }
#site-bottom .footer-links { text-align: center; margin-top: 6px; font-size: 13px; letter-spacing: .5px; }
#site-bottom .footer-links a { color: #444; margin: 0 8px; display: inline-block; line-height: 1.9; }
#site-bottom .footer-links a:hover { color: #c43e16; }
#site-bottom .independent { text-align: center; color: #555; margin-top: 6px; font-size: 13px; line-height: 1.6; }

/* Back to top */
#back-top { bottom: 20px; display: none; left: 50%; margin-left: 520px; position: fixed; z-index: 60; }
#back-top.show { display: block; }
#back-top a { display: block; background-color: #c43e16; color: #fff; font-size: 18px; width: 34px; height: 34px; line-height: 34px; text-align: center; }
#back-top a:hover { background-color: #eb5424; text-decoration: none; }
#back-top .genericon { line-height: 34px; vertical-align: top; }

/* Responsive (after the theme's responsive.css) */
@media only screen and (max-width: 1100px) {
  #back-top { left: auto; right: 15px; margin-left: 0; }
}
@media only screen and (max-width: 1039px) {
  .container { width: 95%; }
  #primary { width: 64%; }
  .sidebar { width: 33%; }
  .entry-related .hentry { width: 47%; margin-right: 6%; }
}
@media only screen and (max-width: 959px) {
  .site-header { height: auto; min-height: 80px; }
  #masthead .container { height: 80px; }
  .main-navigation { float: none; position: absolute; left: 0; right: 0; top: 80px; }
  .menu-toggle { display: block; position: absolute; top: 25px; right: 46px; cursor: pointer; background: #4a5763; color: #fff;
    border-radius: 3px; font-size: 13px; font-weight: 600; letter-spacing: 1px; height: 32px; line-height: 32px; padding: 0 12px; text-transform: uppercase; }
  .menu-toggle .genericon { font-size: 16px; margin-right: 6px; vertical-align: -3px; }
  .sf-menu { display: none; background: #3c4852; padding: 6px 0 10px; }
  .menu-toggle-input:checked ~ .main-navigation .sf-menu { display: block; }
  .sf-menu > li { float: none; }
  .sf-menu li { line-height: 1.4; white-space: normal; }
  .sf-menu li a { padding: 11px 2.5%; border-top: 1px solid #4a5763; }
  .sf-menu ul { display: block; position: static; width: auto; border: 0; box-shadow: none; background: transparent; padding: 0 0 0 20px; }
  .sf-menu li li { border: 0; }
  .sf-menu li li a { color: #fff; padding: 9px 2.5%; }
  .sf-menu li li a:hover { color: #fff; }
  .sf-menu .sf-with-ul:after { display: none; }
  .sf-menu > li.current > a { box-shadow: inset 3px 0 0 #eb5424; }
  #primary { float: none; width: 100%; margin-bottom: 25px; }
  .sidebar { float: none; width: 100%; }
}
@media only screen and (max-width: 767px) {
  body { background: #fff; }
  .site-content { padding: 3% 0; }
  #primary { border: none; }
  #main { padding: 20px 0; }
  .site-main .entry-meta { margin-left: 0; }
  .site-main .entry-author { margin-left: 10px; }
  .home-blocks { padding: 25px 0 10px; }
  .pagination .nav-links { padding: 0; }
  .sidebar .widget { padding: 18px 0; border-width: 1px 0 0; }
  .entry-related .hentry { width: 100%; margin-right: 0; float: none; }
  .entry-related .hentry:after { content: ""; display: block; clear: both; }
  .cat-cards { grid-template-columns: minmax(0, 1fr); }
  #site-bottom .site-info { letter-spacing: .5px; }
}
@media only screen and (max-width: 479px) {
  .container { width: auto; margin: 0 16px; }
  .site-title { font-size: 24px; }
  .site-branding { max-width: calc(100% - 86px); margin-right: 0; }
  .menu-toggle { right: 40px; padding: 0 9px; font-size: 0; letter-spacing: 0; }
  .menu-toggle .genericon { font-size: 18px; margin: 0; vertical-align: -4px; }
  .content-loop .entry-title { font-size: 22px; }
  .content-loop .thumbnail-link { float: none; width: 100%; margin: 0 0 15px; }
  .content-loop .thumbnail-wrap img { width: 100%; height: 200px; }
  .page-title, .single h1.entry-title { font-size: 24px; }
  .home-intro h1 { font-size: 22px; }
  .entry-content { font-size: 16px; }
  .entry-content table, .home-block table { font-size: 14px; }
  .entry-content th, .entry-content td, .home-block th, .home-block td { padding: 6px 7px; }
  .pagination .page-numbers { font-size: 13px; padding: 0 9px; height: 32px; line-height: 30px; }
}
