/* Compatibility additions; the original stylesheets retain the historic design. */
body { padding-bottom: 5rem; }
img { max-width: 100%; }
.dropdown:focus-within .dropdown-content,
.dropdown.is-open .dropdown-content { display: block; }
.dropdown-content .modal { color: #3f3f3f; }
.close { background: transparent; border: 0; cursor: pointer; }
:focus-visible { outline: 3px solid #a35178; outline-offset: 3px; }
.archive-nav {
  position: fixed;
  inset: auto 0 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem 1.25rem;
  padding: .75rem 1rem;
  background: #ece8df;
  color: #3f3f3f;
  border-top: 1px solid #aaa;
  font: 14px/1.5 Georgia, serif;
}
.archive-nav a:link, .archive-nav a:visited { color: inherit; }
.archive-nav span { font-weight: bold; }
.modal-content { display: flow-root; }
.sketchfab-embed-wrapper iframe { max-width: 100%; }
@media (max-width: 799px) {
  body { margin: 0; padding: 1rem 1rem 6rem; font-size: 16px; }
  .header { position: relative; width: 100%; }
  header { display: flow-root; }
  .phonenumber { font-size: 1rem; }
  h1.halfleft { width: auto; font-size: 1.5rem; }
  .signature { width: 55%; height: auto; }
  .dropdown { width: auto; }
  .dropdown-content { min-width: 12rem; }
  #wrapper, .panels, #a, #b, #c, #d {
    position: relative; width: 100%; height: auto; min-height: 0;
  }
  #b { margin-top: 0; padding-top: 2rem; }
  .homepage { float: none; display: flow-root; padding-top: 0; }
  .intro { float: none; width: auto; padding: 0; }
  .circular--square_main { float: none; display: block; width: 70%; height: auto; }
  .keepscrolling, .pad { display: none; }
  .width65 { width: 100%; }
  .halfleft, .halfright { float: none; display: block; width: 100%; }
  .halfleft, .halfright { margin-bottom: 2rem; }
  .four, .third { box-sizing: border-box; width: 50%; padding: 1rem; }
  .modalthird { width: 100%; float: none; display: block; margin: 1rem 0; }
  .modal-content { box-sizing: border-box; width: 90%; padding: 1rem; }
  .hangingindent { padding-left: 1rem; text-indent: -.75rem; }
  .width65:has(> table) { overflow-x: auto; }
  .sketchfab-embed-wrapper iframe { height: auto; aspect-ratio: 4 / 3; }
}

/* The old portrait menu was hidden and several times wider than the screen. */
.dropbtn { font-size: 16px; width: auto; height: auto; padding: 12px 16px; }
.dropdown-content {
  box-sizing: border-box;
  width: 22rem;
  min-width: 0;
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 8rem);
  overflow-y: auto;
  padding: 0;
  font-size: 16px;
  text-align: left;
}
.dropdown-content a { padding: 12px 26px; }
@media (min-width: 800px) and (max-width: 1024px) {
  .dropdown.header { width: auto; }
}

@media (min-width: 800px) {
  #wrapper { width: calc(100% - 16px); }
}

@media (min-width: 800px) and (max-width: 1024px) {
  .header { position: relative; width: 100%; }
  header { display: flow-root; }
  header h1.halfleft { float: left; width: auto; padding: 0; font-size: 1.5rem; }
  .phonenumber { font-size: 1rem; }
  .signature { width: 55%; height: auto; }
  #wrapper, #a { position: relative; }
  .homepage { padding-top: 0; }
}
