/* Measurements from the base copy at 1440, 768 and 390 CSS pixels. */
@font-face {
  font-family:SSW Icons;
  src:url(fonts/fontawesome-webfont.woff2) format('woff2');
  font-weight:normal;
  font-style:normal;
  font-display:block;
}
html {
  box-sizing:border-box;
}
*,*::before,*::after {
  box-sizing:inherit;
}
body {
  margin:0;
  -webkit-font-smoothing:antialiased;
  word-wrap:break-word;
  background:#b7b7b7;
  color:#494949;
}
body,button,input,select,textarea {
  font-family:"Roboto Condensed",sans-serif;
}
h1,h2,h3,h4,h5,h6,p,figure,ul,ol,blockquote,dl,dd {
  padding:0;
  margin:0;
}
h1,h2,h3,h4,h5,h6 {
  font-weight:100;
  line-height:1.2;
  margin-bottom:20px;
  color:#4f2683;
}
h1 {
  font-size:52px;
}
h2 {
  font-size:48px;
}
h3 {
  font-size:36px;
}
h4 {
  font-size:28px;
}
h5 {
  font-size:22px;
}
h6 {
  font-size:18px;
}
p {
  margin-bottom:20px;
  line-height:1.7;
}
ul,ol {
  margin-left:35px;
  margin-bottom:20px;
}
ul ul {
  list-style:circle;
}
img {
  max-width:100%;
  height:auto;
  vertical-align:middle;
}
a {
  color:#4f2683;
  text-decoration:none;
}
a:hover {
  color:#333;
}
b,strong {
  font-weight:700;
}
button {
  cursor:pointer;
}
input,select,textarea {
  font-size:15px;
}
.wp-site-blocks {
  background:#fff;
  max-width:1180px;
  margin:0 auto;
  padding:0;
}
.wp-site-blocks>* {
  margin-block:0;
}
.wp-site-blocks .wp-block-group {
  margin-block-start:0;
}
.wp-site-blocks .wp-block-template-part {
  margin-block-start:0;
}
.ssw-skip-link {
  position:fixed;
  left:20px;
  top:-100px;
  z-index:100000;
  background:#fff;
  padding:10px 20px;
}
.ssw-skip-link:focus {
  top:10px;
}
:focus-visible {
  outline:2px solid #8461b5;
  outline-offset:4px;
}
.ssw-top-bar {
  background:#4f2683;
  font-size:17px;
  line-height:1.7;
  padding:10px 50px;
  color:#fff;
}
.ssw-top-inner {
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.ssw-top-inner>a {
  margin-right:20px;
  color:#fff;
}
.ssw-top-inner>a:nth-child(2) {
  margin-right:44px;
}
.ssw-search-toggle {
  border:0;
  background:transparent;
  color:#fff;
  font-size:16px;
  padding:0;
  line-height:1.7;
}
.ssw-search-toggle span,.ssw-search-dialog button[type=submit] {
  font-family:SSW Icons;
}
.ssw-header {
  background:white;
  border-bottom:2px solid #e8e8e8;
  z-index:30;
  position:relative;
}
.ssw-logo {
  padding:30px;
  text-align:center;
  line-height:0;
}
.ssw-logo img {
  width:600px;
  height:auto;
}
.ssw-logo .ssw-sticky-logo {
  display:none;
}
nav.ssw-navigation {
  background:#eee;
  padding:36px 0 34px;
  font-size:21px;
  font-weight:500;
  line-height:1.7;
  text-transform:uppercase;
  color:#494949;
}
nav.ssw-navigation .wp-block-navigation__container {
  gap:60px;
  flex-wrap:nowrap;
  margin:0;
  list-style:none;
}
nav.ssw-navigation a {
  color:inherit;
}
nav.ssw-navigation a:hover,nav.ssw-navigation .current-menu-item>a {
  color:#4f2683;
}
nav.ssw-navigation .wp-block-navigation-item__content {
  padding:0;
}
nav.ssw-navigation .wp-block-navigation__submenu-icon {
  display:none;
}
nav.ssw-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
  width:100%;
}
/* The mega menus' column items ("Solutions Column 1", "Services A-L" and so
   on) only group links. The old theme hid their titles on desktops; its phone
   menu showed them. A column is a dropdown item with its own submenu. */
@media(min-width:1000px) {
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.has-child>.wp-block-navigation-item__content {
    display:none;
  }
}

/* Desktop dropdowns and mega menus, measured on the old site at 1440px.
   The selectors start with nav.ssw-navigation.wp-block-navigation so they
   outrank core's white submenu styles. */
@media(min-width:1000px) {
  /* The top-level links reach down to the bottom of the grey bar, so the
     pointer never crosses a gap on its way into a dropdown. */
  nav.ssw-navigation.wp-block-navigation {
    padding-bottom:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding-bottom:34px;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child:hover>.wp-block-navigation-item__content {
    color:#4f2683;
  }
  /* The old sticky bar: the small logo sits 30px from the window's left edge
     and takes no room, so the menu stays centred across the whole window at
     the same place as in the full header. The links reach 25px below their
     text. */
  div.ssw-header.is-sticky .ssw-logo {
    position:absolute;
    left:30px;
    top:0;
    padding:20px 15px 30px;
  }
  .ssw-header.is-sticky nav.ssw-navigation.wp-block-navigation {
    flex:1 1 auto;
    width:100%;
    padding:20px 15px 0;
  }
  .ssw-header.is-sticky nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container {
    gap:60px;
  }
  .ssw-header.is-sticky nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding-bottom:25px;
  }

  /* Ordinary dropdowns (About Us, Research): as wide as the longest link,
     purple, 15px left of the item, starting at the bottom of the grey bar. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container {
    top:100%;
    left:-15px;
    width:max-content;
    min-width:0;
    padding:11px 0;
    background:#4f2683;
    border:0;
    box-shadow:none;
    color:#bebebe;
    font-size:13px;
    font-weight:700;
    line-height:22.1px;
    text-transform:uppercase;
    gap:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.wp-block-navigation-item {
    padding:1px 11px;
  }
  nav.ssw-navigation.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    display:block;
    width:100%;
    line-height:22.1px;
    white-space:nowrap;
    padding:6px 30px 6px 12px;
    color:#bebebe;
    background:transparent;
  }
  nav.ssw-navigation.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover,
  nav.ssw-navigation.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.current-menu-item>.wp-block-navigation-item__content {
    color:#fff;
    background:transparent;
  }

  /* Mega menus (Industrial Solutions, Analytical Services): a dropdown whose
     items are columns. Columns sit side by side with a 1px #424242 divider,
     31px by 28px padding and 32px rows. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child:has(>.wp-block-navigation__submenu-container>.has-child)>.wp-block-navigation__submenu-container {
    flex-direction:row;
    align-items:stretch;
    left:-135px;
    width:590px;
    min-width:590px;
    padding:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.has-child {
    display:block;
    box-sizing:border-box;
    flex:1 1 0;
    min-width:0;
    padding:31px 28px;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.has-child+.has-child {
    border-left:1px solid #424242;
  }
  /* The column lists follow the dropdown's own visibility. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.has-child>.wp-block-navigation__submenu-container {
    position:static;
    visibility:inherit;
    opacity:1;
    width:auto;
    min-width:0;
    height:auto;
    overflow:visible;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.has-child>.wp-block-navigation__submenu-container>.wp-block-navigation-item {
    padding:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container>.has-child>.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding:5px 12px;
  }
  /* A mega menu with three columns spans the boxed header, 15px in from each
     side, so its item stops being the positioning box. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child:has(>.wp-block-navigation__submenu-container>.has-child:nth-child(3 of .has-child)) {
    position:static;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child:has(>.wp-block-navigation__submenu-container>.has-child:nth-child(3 of .has-child))>.wp-block-navigation__submenu-container {
    left:15px;
    width:calc(100% - 30px);
    min-width:0;
  }
  /* In the full-width sticky bar the mega menus grow with it: two columns
     take half the window, three columns the whole menu width. */
  .ssw-header.is-sticky nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child:has(>.wp-block-navigation__submenu-container>.has-child)>.wp-block-navigation__submenu-container {
    width:50vw;
    min-width:0;
  }
  .ssw-header.is-sticky nav.ssw-navigation.wp-block-navigation .wp-block-navigation__container>.has-child:has(>.wp-block-navigation__submenu-container>.has-child:nth-child(3 of .has-child))>.wp-block-navigation__submenu-container {
    left:0;
    width:100%;
  }
}
.ssw-header.is-sticky {
  position:fixed;
  top:0;
  width:100%;
  max-width:1180px;
  box-shadow:0 1px 4px #0002;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* On desktops the old sticky bar spans the whole window, is 83px tall (the
   navigation's height) and lets the logo overhang it. */
@media(min-width:1000px) {
  .ssw-header.is-sticky {
    left:0;
    max-width:none;
    height:83px;
    box-sizing:border-box;
    align-items:flex-start;
  }
}
.ssw-header.is-sticky .ssw-logo {
  padding:20px 30px 30px;
}
.ssw-header.is-sticky .ssw-logo img {
  display:none;
}
.ssw-header.is-sticky .ssw-logo .ssw-sticky-logo {
  display:block;
  width:100px;
}
.ssw-header.is-sticky nav.ssw-navigation {
  background:white;
  padding:20px 0 25px;
}
.ssw-header.is-sticky .wp-block-navigation__container {
  gap:35px;
}
.ssw-search-dialog {
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:50px;
  border:0;
  background:#000e;
  color:white;
}
.ssw-search-dialog::backdrop {
  background:transparent;
}
.ssw-search-dialog form {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(900px,80%);
  display:flex;
  border-bottom:3px solid #fff;
}
.ssw-search-dialog input {
  font:100 48px/1.7 "Roboto Condensed",sans-serif;
  color:white;
  background:transparent;
  border:0;
  width:100%;
  padding:15px 0;
}
.ssw-search-dialog button {
  color:white;
  background:transparent;
  border:0;
  font-size:30px;
}
.ssw-search-close {
  position:absolute;
  right:40px;
  top:25px;
  font-size:48px!important;
}
.ssw-page-title-band,.ssw-post-title-band {
  position:relative;
  background:#000 url(images/ssw_title_bkgnd_uwo.png) center/cover;
  isolation:isolate;
  overflow:hidden;
}
.ssw-page-title-band::before,.ssw-post-title-band::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
}
.ssw-page-title-band::before {
  background:#2d2d2d33;
}
.ssw-post-title-band::before {
  background:#00000014;
}
.ssw-post-title-band::after {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:155px;
  z-index:-1;
  background:linear-gradient(to top,transparent,#000);
}
.ssw-title-inner {
  padding:0 50px;
}
.ssw-page-title-band .wp-block-post-title {
  font-size:0;
  line-height:1.2;
  text-transform:uppercase;
  margin:0;
  color:#fff;
}
.ssw-post-title-band .ssw-title-inner {
  padding:93px 50px 87px;
  text-align:center;
}
.ssw-post-title-band .wp-block-post-title {
  font-size:50px;
  font-weight:300;
  letter-spacing:.5px;
  line-height:1.2;
  margin:0 0 11px;
  color:white;
}
.ssw-post-meta {
  font-size:19px;
  line-height:1.7;
  color:white;
}
.ssw-post-meta>span {
  display:inline-block;
  font-size:15px;
  font-weight:400;
  letter-spacing:.5px;
}
.ssw-post-meta>span+span::before {
  content:"•";
  margin:0 15px;
}
.ssw-post-meta a {
  color:white;
}
.ssw-page-content {
  padding:60px 50px 40px;
}
.ssw-page-content:empty {
  padding:0;
}
.ssw-page-content::after,.ssw-post-body .wp-block-post-content::after {
  content:"";
  display:block;
  clear:both;
}
.ssw-post-layout {
  padding:0 35px;
  display:flex;
  align-items:flex-start;
}
.ssw-post-body {
  width:66.6666%;
  padding:60px 15px 75px;
  min-width:0;
}
.ssw-sidebar {
  width:33.3333%;
  padding:60px 15px 55px;
  min-width:0;
}
.ssw-sidebar a {
  color:#484848;
}
.ssw-sidebar a:hover {
  color:#323232;
}
.ssw-sidebar .wp-block-social-links,.ssw-footer .wp-block-social-links {
  margin:0 0 20px;
  padding:0;
  gap:12px;
  line-height:1.7;
  font-size:24px;
  list-style:none;
}
.wp-block-social-links .wp-social-link {
  margin:0;
}
.wp-block-social-links .wp-social-link a {
  padding:6px;
}
.wp-block-social-links .wp-social-link svg {
  width:24px;
  height:24px;
}
/* WordPress 6.x changed core's Facebook blue to #0866ff; the site shows the
   older #1778f2. */
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook {
  background-color:#1778f2;
}
.ssw-sidebar sub {
  vertical-align:baseline;
  font-size:smaller;
}
.m0 {
  margin-bottom:0!important;
}
.ssw-footer {
  background:#282828;
  color:#ababab;
  padding:70px 0 50px;
}
.ssw-footer-inner {
  display:flex;
  padding:0 35px;
  align-items:stretch;
}
.ssw-footer h3,.ssw-footer h4 {
  color:#fff;
}
.ssw-footer a {
  color:#bababa;
}
.ssw-footer a:hover {
  color:#fff;
}
.ssw-footer-news {
  width:66.6666%;
  padding:0 30px 9px;
  min-width:0;
}
.ssw-footer-contact {
  width:33.3333%;
  padding:0 30px 9px;
  border-left:1px solid #494949;
  min-width:0;
}
.ssw-widget-title {
  font-size:25px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-bottom:35px;
}
.ssw-news-list {
  padding-top:8px;
}
.ssw-news-list .wp-block-post-template {
  margin:0;
  padding:0;
  list-style:none;
}
.ssw-news-list .wp-block-post {
  margin-bottom:20px;
}
.ssw-news-list .wp-block-post-title {
  font-size:18px;
  font-weight:300;
  line-height:1.7;
  margin:0 0 10px;
}
.ssw-news-list .wp-block-post-date {
  font-size:19px;
  line-height:1.7;
}
/* The footer's dates are greyer than its other links on the old site. */
.ssw-news-list .wp-block-post-date a {
  color:#a0a0a0;
}
.ssw-news-list time {
  display:inline-block;
  font-size:16px;
  line-height:15px;
  margin-bottom:18px;
}
.ssw-news-list time::before {
  content:"\f017";
  font:15px SSW Icons;
  color:#9c9c9c;
  margin-right:8px;
  display:inline-block;
}
.ssw-copyright {
  padding:20px 50px;
  color:#838383;
  text-align:center;
  font-size:16px;
  line-height:1.7;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.ssw-copyright a {
  color:inherit;
}
.ssw-listing {
  padding:60px 50px 40px;
}
.ssw-listing .wp-block-post-template {
  list-style:none;
  margin:0;
}
.ssw-listing .wp-block-post {
  margin-bottom:50px;
}
.ssw-listing .wp-block-post-title {
  font-size:32px;
}
.ssw-listing .wp-block-post-featured-image {
  margin-bottom:25px;
}
.ssw-listing .wp-block-post-excerpt__more-link {
  font-size:14px;
  text-transform:uppercase;
}
.ssw-listing .wp-block-query-pagination {
  gap:20px;
  justify-content:center;
}
@media(min-width:1000px) {
  nav.ssw-navigation .wp-block-navigation__responsive-container-open {
    display:none!important;
  }
  /* The phone menu's chevrons and back buttons live in the same markup. */
  nav.ssw-navigation .ssw-mm-next,
  nav.ssw-navigation .ssw-mm-back {
    display:none!important;
  }
  nav.ssw-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display:block!important;
  }
}
@media(max-width:999px) {
  .ssw-top-bar {
    font-size:13px;
  }
  .ssw-search-toggle {
    font-size:13px;
  }
  .ssw-header {
    border:0;
    height:75px;
  }
  .ssw-logo {
    padding:15px 50px;
    line-height:45px;
  }
  .ssw-logo img {
    width:450px;
    vertical-align:middle;
  }
  nav.ssw-navigation {
    position:absolute;
    left:30px;
    top:21px;
    padding:0;
    background:transparent;
    font-size:13px;
  }
  /* The old theme's menu button: three #383838 bars (16px, 16px, 10px) in a
     32px box, drawn in CSS instead of core's two-line SVG. */
  nav.ssw-navigation .wp-block-navigation__responsive-container-open {
    display:block!important;
    position:relative;
    width:32px;
    height:32px;
    color:#383838;
  }
  nav.ssw-navigation .wp-block-navigation__responsive-container-open svg {
    display:none;
  }
  nav.ssw-navigation .wp-block-navigation__responsive-container-open::before,
  nav.ssw-navigation .wp-block-navigation__responsive-container-open::after {
    content:"";
    position:absolute;
    left:7px;
    height:2px;
    background:#383838;
  }
  nav.ssw-navigation .wp-block-navigation__responsive-container-open::before {
    top:11px;
    width:16px;
    box-shadow:0 4px 0 #383838;
  }
  nav.ssw-navigation .wp-block-navigation__responsive-container-open::after {
    top:19px;
    width:10px;
  }
  nav.ssw-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display:none!important;
  }
  /* Phone and tablet menu: the old theme's slide-in panel, measured at 390px
     and 768px. A dark panel at the left (350px, 250px on phones), 45px
     side margins, 55px rows with a #626262 line, 12px bold uppercase links
     in #979797 (white for the current section). An item with a submenu gets
     a chevron that opens the submenu as its own panel, with a back chevron
     (chrome.js adds both buttons). The page slides right by the panel's
     width. Selectors start with nav.ssw-navigation.wp-block-navigation so
     they outrank core's white overlay. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    position:fixed;
    inset:0 auto 0 0;
    width:350px;
    max-width:100vw;
    padding:0;
    background:#1f1f1f;
    color:#979797;
    overflow:hidden;
    animation:none;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    position:static;
    max-width:none;
    height:100%;
    margin:0;
    padding:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position:absolute;
    top:40px;
    left:37px;
    right:auto;
    width:40px;
    height:43px;
    color:#979797;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
    width:24px;
    height:24px;
  }
  /* The page beside the open menu is dimmed by 30% black. The layer belongs
     to the panel (the header is its own stacking layer), starts at the
     panel's edge, and takes taps, so a tap beside the panel closes the menu
     (chrome.js) without following a link underneath. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open::before {
    content:"";
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:350px;
    background:rgba(0,0,0,.3);
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display:block;
    padding:110px 45px 0;
    height:100%;
    overflow-y:auto;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display:block;
    width:100%;
    gap:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display:block;
    position:relative;
    width:100%;
    padding:0;
    border-bottom:1px solid #626262;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display:block;
    padding:17px 0;
    border:0;
    font-family:inherit;
    font-size:12px;
    font-weight:700;
    line-height:20px;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#979797;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  /* Inside a submenu panel a label stops before its chevron ("SOLUTIONS
     COLU…"); on the first panel it may run under it, as on the old site. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .has-child>.wp-block-navigation-item__content {
    padding-right:50px;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open :is(.current-menu-item,.current-menu-ancestor)>:is(.wp-block-navigation-item__content,.ssw-mm-next) {
    color:#fff;
  }
  /* The chevron that opens a submenu: a 6px corner, 1px lines. */
  nav.ssw-navigation .ssw-mm-next,
  nav.ssw-navigation .ssw-mm-back button {
    position:absolute;
    top:0;
    right:0;
    width:50px;
    height:54px;
    padding:0;
    border:0;
    background:transparent;
    color:#979797;
    cursor:pointer;
  }
  nav.ssw-navigation .ssw-mm-next::after,
  nav.ssw-navigation .ssw-mm-back button::after {
    content:"";
    position:absolute;
    top:24px;
    left:42px;
    width:6px;
    height:6px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:rotate(-45deg);
  }
  /* A submenu is hidden until its chevron opens it; then it covers the
     panel, and its own back chevron sits where the close button is. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    display:none;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .ssw-mm-open>.wp-block-navigation__submenu-container {
    display:block;
    position:fixed;
    inset:0 auto 0 0;
    z-index:2;
    width:350px;
    max-width:100vw;
    min-width:0;
    height:auto;
    padding:110px 45px 0;
    overflow-y:auto;
    visibility:visible;
    opacity:1;
    /* Core sets the overlay's submenus to background:transparent!important. */
    background:#1f1f1f!important;
    border:0;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .ssw-mm-back {
    position:absolute;
    top:40px;
    left:37px;
    width:40px;
    height:40px;
    border:0;
  }
  nav.ssw-navigation .ssw-mm-back button {
    left:0;
    width:40px;
    height:40px;
  }
  nav.ssw-navigation .ssw-mm-back button::after {
    top:15px;
    left:17px;
    width:10px;
    height:10px;
    border-width:0 1.5px 1.5px 0;
    transform:rotate(135deg);
  }
  /* Slide the page right by the panel's width. The panel sits inside the
     header, so the header itself must not move (a transformed ancestor would
     carry the fixed panel with it); its visible parts move instead. The
     overflow is clipped, so a phone does not zoom out to fit it. */
  html.has-modal-open :is(.ssw-top-bar,.ssw-logo,.wp-site-blocks>main,.wp-site-blocks>footer),
  html.has-modal-open nav.ssw-navigation .wp-block-navigation__responsive-container-open {
    transform:translateX(350px);
  }
  html.has-modal-open,
  html.has-modal-open body {
    overflow:hidden;
  }
  .ssw-header.is-sticky {
    height:75px;
    display:block;
  }
  .ssw-header.is-sticky .ssw-logo {
    padding:15px 50px;
  }
  .ssw-header.is-sticky .ssw-logo .ssw-sticky-logo {
    display:inline;
    width:100px;
  }
  .ssw-header.is-sticky nav.ssw-navigation {
    padding:0;
    background:transparent;
  }
  .ssw-header.is-sticky .wp-block-navigation__container {
    gap:0;
  }
}
@media(max-width:767px) {
  .ssw-top-bar {
    padding-inline:30px;
  }
  .ssw-top-inner {
    justify-content:center;
  }
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open::before {
    left:250px;
  }
  /* The old phone menu panel is 250px wide. */
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay),
  nav.ssw-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .ssw-mm-open>.wp-block-navigation__submenu-container {
    width:250px;
  }
  html.has-modal-open :is(.ssw-top-bar,.ssw-logo,.wp-site-blocks>main,.wp-site-blocks>footer),
  html.has-modal-open nav.ssw-navigation .wp-block-navigation__responsive-container-open {
    transform:translateX(250px);
  }
  .ssw-top-inner>a:nth-child(2) {
    margin-right:44px;
  }
  .ssw-search-toggle {
    position:absolute;
    right:30px;
  }
  .ssw-logo {
    padding:15px 30px;
  }
  .ssw-logo img {
    width:300px;
  }
  nav.ssw-navigation {
    left:8px;
  }
  .ssw-title-inner {
    max-width:500px;
    margin:auto;
    padding-inline:30px;
  }
  .ssw-page-title-band .ssw-title-inner {
    padding-block:60px 50px;
  }
  .ssw-post-title-band .ssw-title-inner {
    padding:60px 30px 50px;
  }
  .ssw-post-title-band .wp-block-post-title {
    font-size:40px;
  }
  .ssw-post-layout {
    max-width:500px;
    margin:auto;
    padding-inline:15px;
    display:block;
  }
  .ssw-post-body,.ssw-sidebar {
    width:100%;
  }
  .ssw-page-content {
    max-width:500px;
    margin:auto;
    padding-inline:30px;
  }
  .ssw-footer-inner {
    max-width:500px;
    margin:auto;
    padding-inline:15px;
    display:block;
  }
  .ssw-footer-news,.ssw-footer-contact {
    width:100%;
    padding:0 15px;
    border:0;
  }
  .ssw-footer-news {
    margin-bottom:60px;
  }
  .ssw-footer-contact {
    margin-bottom:20px;
  }
  .ssw-footer-inner .ssw-footer-contact {
    margin-block-start:0;
  }
  .ssw-copyright {
    max-width:500px;
    margin:auto;
    padding-inline:30px;
  }
  .ssw-listing {
    padding-inline:30px;
  }
  .ssw-search-dialog input {
    font-size:30px;
  }
}
/* Widget images use the original inline baseline; the final social margin collapses outside the widget. */
.ssw-sidebar img,.ssw-footer-contact img {
  vertical-align:baseline;
}
.ssw-sidebar {
  padding-bottom:35px;
}
.ssw-footer-contact p {
  margin-bottom:20px;
}
/* Match the reference reset, metadata spacing and phone typography. */
img,sub,sup {
  vertical-align:baseline;
}
a img,.ssw-logo img {
  vertical-align:middle;
}
nav.ssw-navigation {
  letter-spacing:.5px;
}
nav.ssw-navigation .wp-block-navigation__submenu-container {
  letter-spacing:0;
}
.ssw-post-meta>span {
  letter-spacing:1px;
}
.ssw-copyright {
  letter-spacing:2px;
}
.ssw-title-inner>h1:not(.wp-block-post-title) {
  color:#fff;
  font-size:50px;
  font-weight:300;
  letter-spacing:.5px;
}
@media(max-width:767px) {
  .wp-block-post-content h1,.wp-block-post-content h2,.ssw-title-inner>h1:not(.wp-block-post-title) {
    font-size:40px;
  }
}
.ssw-back-to-top {
  display:none;
  position:fixed;
  z-index:29;
  right:30px;
  bottom:30px;
  width:45px;
  height:45px;
  padding:12px;
  border-radius:50%;
  font-size:18px;
  line-height:20px;
  text-align:center;
  background:#dbdbdb;
  color:#313131;
}
/* The old theme's Font Awesome angle-up chevron. */
.ssw-back-to-top span {
  font-family:SSW Icons;
  line-height:18px;
}
.ssw-back-to-top.is-visible {
  display:block;
}
nav.ssw-navigation .current-menu-ancestor>a {
  color:#4f2683;
}
@media(max-width:767px) {
  .ssw-footer-news,.ssw-footer-contact {
    display:flow-root;
    padding-bottom:0;
  }
  .ssw-footer-inner>.ssw-footer-contact {
    margin-bottom:20px;
  }
  .ssw-footer {
    padding-bottom:50px;
  }
}
