/* ========================================================= */
/* Map
/* ========================================================= */

.map { width: 100%; height: 20rem; max-height: 80vh; overflow-anchor: none; /* prevent scroll position jump when closing an info window */ }
.map img { width: auto; max-width: none; }
.mapInfo { min-width: 120px; max-width: 230px; max-height: 180px; overflow-y: auto; padding-right: 12px; padding-bottom: 12px; }

/* for use in tour stop */
.mapMarker {
  width: var(--s4);
  height: auto;
}

/* ========================================================= */
/* Table
/* ========================================================= */

table {
  border-spacing: 0;
  border-collapse: separate;
}

/* ========================================================= */
/* Video responsiveness
/* ========================================================= */

iframe { display: block; }

/* Scale video containers */
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  width: 100%;
  height: auto;
  margin-bottom: var(--s4);
}
.videoWrapper iframe,
.videoWrapper embed,
.videoWrapper object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ========================================================= */
/* Custom
/* ========================================================= */

.alternate .measure *:last-child { margin-bottom: 0; }

.bg-greige3 + .bg-greige3 { border-top: 2px solid var(--greige1); }

.buildingTable td { padding: var(--s0) 0 var(--s1) 0; border-bottom: 2px solid var(--greige3); }
.buildingTable tr:first-child td { border-top: 2px solid var(--greige3); }

.biography { border-bottom: 2px solid var(--greige3); }
.biography:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.biographyPortrait { width: 5rem; height: 5rem; }
.biographyLogo { max-width: 5rem; max-height: 5rem; }
@media (min-width: 54em) {
  .biographyPortrait { width: 6rem; height: 6rem; }
  .biographyLogo { max-width: 6rem; max-height: 6rem; }
}

.reference a { overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-all; }
.referenceSubheading + .referenceSubheading { margin-top: calc(0rem - var(--s3)); margin-bottom: var(--s4); }
.referencesGroup:last-child { border: none; margin: 0; padding: 0; }
.glossaryItem:last-child { border: none; margin: 0; padding: 0; }

/* ========================================================= */
/* Page Layout
/* ========================================================= */

html { scroll-behavior: smooth; }

/* Navbar section */
.navBar { box-shadow: 0 var(--s1) 0.6rem rgba(0,0,0,0.08); height: var(--s5); position: fixed; top: 0; left: 0; right: 0;  }
.navLogo { height: 2.25rem; width: auto; }
@media (min-width: 54em) {
  .navBar { height: 5rem; }
}

/* Sidebar section */
.toggleBackdrop { height: 3.25rem; box-shadow: 0 var(--s1) 0.6rem rgba(0,0,0,0.08); position: fixed; top: var(--s5); }
.sidebar { box-shadow: 0 0.25rem 0.6rem rgba(0,0,0,0.1); position: fixed; top: 0; left: 0; bottom: 0; padding-top: calc(var(--s5) + 3.25rem); transition: all 0.2s ease-out; }
.sidebar li { margin-bottom: var(--s1); }
.sidebar ul:last-of-type li:last-child { margin-bottom: 0; }
.sidebarScroll { padding-top: var(--s2); }
.sidebarButton { top: var(--s5); }
@media (min-width: 54em) {
  .sidebar { padding-top: 5rem; }
  .sidebarButton { top: 5rem; }
  .sidebarScroll { margin-top: 3rem; }
}
.sidebarLink { color: var(--black); font-size: var(--fs1); padding: var(--s1) var(--s2); margin-left: calc(0rem - var(--s2)); margin-right: calc(0rem - var(--s2)); }
.sidebarLink:hover { color: var(--black); background-color: var(--greige2); border-radius: var(--r-rounded); }
.sidebarLink:focus { color: var(--black); background-color: var(--greige3); border-radius: var(--r-rounded); }
.js-sidebarClosed { width: 0; }
.js-sidebarOpen { width: 100%; }
@media (min-width: 54em) { .js-sidebarOpen { width: var(--sidebar-width); } }

/* Main content section */
.content { transition: all 0.2s ease-out; padding-top: calc(var(--s5) + 3.25rem); }
@media (min-width: 54em) {
  .content { padding-top: 5rem; }
  .js-contentSidebarOpen { margin-left: var(--sidebar-width); }
}

/* Fix for anchors behind navbar */
.anchor { display: block; width: 0; content: ''; padding-top: 7.25rem; margin-top: -7.25rem; }
@media (min-width: 54em) {
  .anchor { padding-top: 5rem; margin-top: -5rem; }
}

/* For users that prefer reduced motion, don't animate these transitions */
@media (prefers-reduced-motion) {
  html { scroll-behavior: auto; }
  .sidebarTransition { transition: none; }
  .content { transition: none; }
}

/* Skip link */
.skipLink {
  left: 50%;
  font-size: var(--fs3);
  transform: translate(-50%, -100%);
}
.skipLink:hover {
  background: var(--gray2);
  color: var(--white);
}
.skipLink:focus {
  transform: translate(-50%, 0%);
  color: var(--white);
}

