/* Original Site, Navigation and Workspace theme. Missing decorative images
   are approximated with CSS; all image assets are stored locally. */
:root { --orange: #e36300; --coral: #f37046; --slate: #3d4f59; }
* { box-sizing: border-box; }
body { margin: 8px; overflow-y: scroll; background: #fff url('background-body.jpg') no-repeat fixed; background-size: cover; color: #313131; font: 12px/1.45 Arial, sans-serif; }
a { color: #c14b26; text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
img { max-width: 100%; height: auto; }
h1, h2 { margin: 0 0 18px; color: var(--orange); font-size: 20px; line-height: 1.2; }
h3 { font-size: 18px; color: #cc2610; line-height: 1.3; }
p { margin: 0 0 17px; }
ul { padding-left: 17px; list-style: square; }
li { margin-bottom: 5px; }
.site-wrapper { width: 962px; max-width: 100%; margin: 0 auto; }
.skip { position: absolute; top: -80px; left: 10px; padding: 8px; background: white; z-index: 5; }
.skip:focus { top: 8px; }
.site-header { height: 140px; padding: 10px; }
.brand { display: inline-block; }
.brand img { display: block; width: 537px; height: auto; }
.site-navigation { min-height: 48px; padding: 0 10px 11px; background: linear-gradient(to bottom, #3d4f59 0, #3d4f59 37px, #cbd0d3 37px, #f4f4f4 48px); }
.nav-list { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.nav-list > li { position: relative; margin: 0; }
.nav-list > li > a { position: relative; display: block; height: 37px; padding: 6px 10px 4px 40px; color: #e8e8e8; font: bold 18px/27px Arial, sans-serif; white-space: nowrap; }
.nav-list > li > a > span { font-size: 22px; }
.nav-list > li > a:hover, .nav-list > li > a[aria-current="page"] { background: var(--coral); text-decoration: none; }
.nav-list > li > a:hover::before, .nav-list > li > a[aria-current="page"]::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 22px; background: var(--slate); clip-path: polygon(0 0, 25% 0, 100% 100%, 0 100%); }
.submenu { display: none; position: absolute; top: 100%; left: 30px; width: 220px; margin: 0; padding: 0; list-style: none; z-index: 3; }
.submenu li { margin: 0; }
.submenu a { display: block; padding: 10px; background: var(--slate); color: white; font-size: 16px; }
.submenu a:hover { color: silver; }
.nav-list li:hover > .submenu, .nav-list li:focus-within > .submenu { display: block; }
.site-content { min-height: 450px; padding: 10px 40px 40px; background: white; }
.site-footer { min-height: 39px; padding: 0 20px 15px; text-align: center; color: #313131; }
.site-footer a { color: black; }
.facebook-icon { display: inline-block; margin-top: 20px; }
.facebook-icon img { display: block; width: 60px; height: 60px; }
/* Preserve the desktop positions from the saved homepage's editor layout. */
.home-workspace { position: relative; min-height: 1061px; }
.home-welcome { position: absolute; top: 200px; left: 96px; width: 604px; }
.home-services { position: absolute; top: 337px; left: 96px; width: 604px; }
.home-services h2 { margin-bottom: 17px; }
.home-workspace h1, .home-workspace h2 { line-height: 17.333px; }
.home-services ul { margin: 0 0 17px; }
.home-services li { margin: 0; }
.home-facebook { position: absolute; top: 702px; left: 96px; width: 614px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.home-facebook h2 { width: 337px; text-align: center; }
.home-facebook img { display: block; width: 160px; height: 48px; }
/* Static subpages share the original typography and colours. */
.wrap { width: 100%; margin: 0; }
.page-intro { padding: 18px 0 12px; }
.page-intro h1 { margin-bottom: 17px; }
.intro { margin-bottom: 15px; }
.crumbs { margin-bottom: 20px; font-size: 11px; }
.eyebrow { display: none; }
.section { padding: 12px 0 24px; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) 245px; gap: 35px; }
.prose { min-width: 0; }
.prose h2 { margin-top: 24px; }
.prose h2:first-child { margin-top: 0; }
.side { align-self: start; background: #eee; padding: 16px; border: 1px solid silver; }
.side h2 { font-size: 18px; }
address { font-style: normal; }
.side address { margin-bottom: 15px; }
.side small { display: block; margin-top: 15px; font-size: 11px; }
.buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.button { display: inline-block; padding: 6px 10px; border: 1px solid #a74220; background: #c8522c; color: white; }
.button:hover { background: #ad4321; text-decoration: none; }
.button.secondary { color: #313131; border-color: silver; background: #eee; }
.side .button { margin-top: 8px; }
.feature-list { margin: 0 0 17px; padding-left: 17px; }
.two-lists { columns: 2; column-gap: 20px; }
.two-lists li { break-inside: avoid; }
.project-list { list-style: square; padding-left: 17px; }
.project-list a { display: inline-block; padding: 3px 0; }
.notice { padding: 12px; border: 1px solid silver; background: #eee; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.contact-data { display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 14px; }
.contact-data dd { margin: 0; overflow-wrap: anywhere; }
.hours { width: 100%; border-collapse: collapse; }
.hours th, .hours td { padding: 8px 0; border-bottom: 1px solid silver; text-align: left; font-weight: normal; }
.hours td { text-align: right; }
.caption, .archive-label { font-size: 11px; }
.archive-label { margin-top: 25px; border-top: 1px solid silver; padding-top: 15px; }
@media (max-width: 980px) {
  .nav-list > li > a { padding-left: 24px; font-size: 16px; }
}
@media (max-width: 800px) {
  .site-header { height: auto; min-height: 100px; padding: 12px 5px 20px; }
  .brand { max-width: 100%; }
  .site-navigation { padding: 0 0 8px; background: var(--slate); }
  .nav-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nav-list > li > a { height: auto; min-height: 39px; padding: 6px 8px; font-size: 13px; line-height: 27px; text-align: center; }
  .nav-list > li > a > span { font-size: 16px; }
  .nav-list > li > a:hover::before, .nav-list > li > a[aria-current="page"]::before { display: none; }
  .submenu { left: auto; right: 0; width: 200px; }
  .submenu a { font-size: 13px; }
  .site-content { padding: 20px 15px 30px; }
  .home-workspace { min-height: 0; padding: 35px 0 65px; }
  .home-welcome, .home-services, .home-facebook { position: static; width: auto; }
  .home-welcome { margin-bottom: 50px; }
  .home-services { margin-bottom: 50px; }
  .home-facebook { flex-wrap: wrap; justify-content: center; gap: 14px; }
  .home-facebook h2 { width: 100%; }
  .split, .contact-grid { grid-template-columns: 1fr; gap: 25px; }
  .two-lists { columns: 1; }
  .site-footer { padding-inline: 10px; font-size: 11px; }
}
