/* COMPILED by tools/build-css.sh — DO NOT EDIT. Edit the source CSS + rerun. */
/* --- reset.css --- */
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}
/* --- main.css --- */
:root {
  --u: 16px;
  /* Color */
  --co-pri: #001fcc;
  --co-sec: hsl(228, 54%, 10%);
  --co-text: hsl(240, 6%, 10%);
  --co-high: hsl(216, 20%, 95.1%);
  --co-fn: hsl(225, 8%, 90.2%);
  --co-dark: hsl(34, 4%, 66%);
  --co-white: hsl(0, 0%, 100%);
  --co-hlght: rgb(245, 235, 142);
  --co-hllow: rgba(245, 235, 142, 0.3);

  /* Text: LH ( Line Height) */

  --lh-reg: 1.5; /*Default */
  --lh-lrg: 1.55; /*Default */
  --lh-hln: calc(var(--lh-reg) / 1.65); /*Headline*/

  /* Text: FF ( Font Face ) */
  --ff-sans: "FK Grotesk Next", Arial, sans-serif;
  --ff-seri: "FK Roman Standard", Georgia, serif;
  --ff-mono: "FK Grotesk Next", monospace;
  --ff-pixel-sans: "FK Raster Grotesk", sans-serif;
  --ff-pixel-seri: "FK Raster Roman", serif;
  --ff-pixel-sans-comp: "FK Raster Grotesk Compact", sans-serif;
  --ff-pixel-seri-comp: "FK Raster Roman Compact", serif;

  /* Text: FVS (Font Variation Settings) */
  --fvs-mono: 'MONO' 100;
  --fvs-raster: 'PXLS' 0, 'JNTS' 0;

  /* Text: LS (Letter Spacing) */
  --ls-seri: -0.03em;
  --ls-seri-h1: -0.05em;

  /* Text: FW (Font Weight )*/
  --fw-lit: 300;
  --fw-reg: 400; /* Default */
  --fw-med: 600;
  --fw-hev: 700;
  --fw-bld: 800;
  /* Text: ST (Style) */
  --st-ital: italic;

  /* Text: CS (Convenience Style) */
  --cs-tny: var(--fw-reg) var(--fs-tiny) / var(--lh-reg) var(--ff-sans);
  --cs-lbl: var(--fw-reg) var(--fs-sml) / var(--lh-reg) var(--ff-sans);
  --cs-sml: var(--fw-reg) var(--fs-sml) / var(--lh-reg) var(--ff-seri);
  --cs-reg: var(--fw-reg) var(--fs-reg) / var(--lh-reg) var(--ff-sans);
  --cs-txt: var(--fw-reg) var(--fs-txt) / var(--lh-lrg) var(--ff-seri);
  --cs-cal: var(--fw-reg) var(--fs-big) / var(--lh-reg) var(--ff-seri);
  --cs-big: var(--fw-reg) var(--fs-big) / var(--lh-reg) var(--ff-sans);
  --cs-hg1: var(--fw-lit) var(--fs-med) / var(--lh-reg) var(--ff-sans);
  --cs-hg2: var(--fw-lit) var(--fs-med) / var(--lh-hln) var(--ff-seri);
  --cs-hg3: var(--fw-bld) var(--fs-big) / var(--lh-hln) var(--ff-sans);
  --cs-art: var(--fw-bld) var(--fs-med) / var(--lh-hln) var(--ff-seri);
  --cs-msv: var(--fw-lit) var(--fs-msv) / var(--lh-hln) var(--ff-seri);
  --cs-msv2: var(--fw-bld) var(--fs-hge) / var(--lh-hln) var(--ff-sans);
  --cs-meta: var(--fw-reg) var(--fs-sml) / var(--lh-reg) var(--ff-sans);

  /* Margin */
  --ma-reg: calc(1rem * var(--lh-reg));
  --ma-sml: calc(0.5rem * var(--lh-reg));
  --ma-tny: calc(0.2rem * var(--lh-reg));
  --ma-lrg: calc(2rem * var(--lh-reg));
  --ma-hge: calc(4rem * var(--lh-reg));
  /* Padding */
  --pd-reg: calc(1rem * var(--lh-reg));
  --pd-sml: calc(0.5rem * var(--lh-reg));
  --pd-lrg: calc(2rem * var(--lh-reg));
  --pd-hge: calc(4rem * var(--lh-reg));
}

html {
  font-size: var(--u); /* Everything happens here*/
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  background-color: var(--co-high);
  line-height: var(--lh-reg);
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: scroll;
  scroll-behavior: smooth;
  color: var(--co-text);
}

body,
main {
  width: calc(100vw - 44px);
}

body > main,
#document {
  width: 100%;
  z-index: 1;
  transition: filter 350ms, opacity 350ms;
  position: unset;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-weight: var(--fw-reg);
}

img {
  display: block;
}

strong {
  font-weight: var(--fw-hev);
}

em {
  font-style: var(--st-ital);
}

a {
  position: relative;
  color: var(--co-pri);
  text-decoration: none;
}

code,
pre {
  font-family: var(--ff-mono);
  font-variation-settings: var(--fvs-mono);
}

/* Global Logo  */
#ndc-logo {
  width: 238px;
  position: relative;
  top: 0;
  z-index: 30;
}

#ndc-logo a {
  color: var(--co-pri);
  padding: var(--ma-reg);
  background: var(--co-high);
  width: 238px;
  position: absolute;
  z-index: 20;
}

body.tag-streams > #ndc-logo {
  background: rgba(0, 0, 0, 1);
}

body.tag-streams > #ndc-logo a {
  background: none !important;
  color: var(--co-high) !important;
}

#menu #ndc-logo,
.post-template #ndc-logo,
.page-template #ndc-logo {
  background: var(--co-high);
}
#menu #ndc-logo a,
.post-template #ndc-logo a,
.page-template #ndc-logo a,
.author-template #ndc-logo a,
.tag-template #ndc-logo a {
  color: var(--co-pri);
}

#ndc-logo a {
  display: block;
  line-height: 0;
}

/* Common layout stuff */
#essay {
  padding: calc(2rem * var(--lh-reg)) calc(1rem * var(--lh-reg));
}

/* Ghost items */
.kg-button-card {
  font-family: var(--ff-sans);
}

.kg-button-card a {
  padding-top: 2px;
}

/* Error page */
body.is-error {
  max-height: 100dvh;
  overflow: hidden;
  border: 1px solid var(--co-text);
  border-right: none;
}
body.is-error > #ndc-logo a {
  color: var(--co-pri);
  transform: scaleY(-1) scaleX(-1);
}
body.is-error #ndc-content.error {
  height: 100dvh;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
body.is-error #ndc-content.error svg {
  width: 100%;
  height: 100%;
  position: absolute;
}

body.is-error #ndc-content.error svg line {
  stroke: var(--co-text);
  stroke-width: 1;
}

body.is-error #ndc-content #error-content {
  font: var(--cs-hg2);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  background-color: var(--co-high);
  z-index: 20;
  padding: var(--pd-lrg);
  border: 1px solid var(--co-text);
  position: relative;
}

body.is-error #ndc-content #error-content:before {
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-image: url("../images/individual-plus-animated.gif");
  background-size: cover;
  background-position: right;
  mix-blend-mode: difference;
}

body.is-error #ndc-content #error-content span,
body.is-error #ndc-content #error-content a {
  display: block;
  mix-blend-mode: normal;
  line-height: 1.1;
}

body.is-error #ndc-content #error-content span.statusCode {
  font-size: 200%;
  line-height: 1.2;
}

body.is-error #ndc-content #error-content span.options {
  margin-bottom: var(--ma-reg);
}
body.is-error #ndc-content #error-content a {
  margin-bottom: var(--ma-sml);
}

/* --- ndc-screen.css --- */
@media screen {
  :root {
    /* Text: FS ( Fixed Size) */
    --fs-tiny: 0.70rem;
    --fs-sml: .8rem;
    --fs-reg: 1rem;
    --fs-txt: 1.375rem;  /* Default */
    --fs-big: 1.8rem;
    --fs-med: 2rem;
    --fs-lrg: 2.5rem;
    --fs-hge: 3rem;
    --fs-msv: 4rem;
  }

  ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }
  ::-webkit-scrollbar-track {
    -webkit-box-shadow: none;
    border-left: 1px solid var(--co-text);
  }
  
  ::-webkit-scrollbar-thumb {
    background-color: var(--co-pri);
  }  
}
::selection {
  background-color: var(--co-hlght);
  color: var(--co-pri);
}
/* --- ndc-print.css --- */
@media print {
  ::-webkit-scrollbar { 
    width: 0px;
  }

  ::-webkit-scrollbar-track {
    -webkit-box-shadow: none;
    border: none !important;
  }

  ::-webkit-scrollbar-thumb {
    background-color: none;
  }
  
  :root {
    --u:12px !important;
    --fs-tiny: 0.5rem !important;
    --fs-sml: .75rem !important;
    --fs-reg: 1rem !important;  /* Default */
    --fs-big: 1.15rem !important;
    --fs-med: 1.5rem !important;
    --fs-lrg: 2rem !important;
    --fs-hge: 3rem !important;
    --fs-msv: 4rem !important;
  }

  html, body, #document {
    overflow-x: auto !important;
    overflow-y: auto !important;
    
  }

  body {
    overflow: auto !important;
    width: 100% !important;
    height: auto !important;
    background-color: white!important;
  }

  #document::before {
    content: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 10H7V11H8V12H9V14H8V13H7V14H8V15H7V16H8V17H7V18H8V19H7V20H8V21H7V22H8V23H7H6H5V22H6V21H5V20H6V19H5V18H6V17H5V16H6V15H5V14H6V13H5V14H4V12H5V11H6V10ZM4 19V20H5V19H4ZM4 19H3V14H4V15H5V16H4V17H5V18H4V19ZM9 19H10V14H9V15H8V16H9V17H8V18H9V19ZM9 19V20H8V19H9Z' fill='%23100F0F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22 9H21V11H22V9ZM18 14V15H17V18H18V19V20H20V21H23V20H25V19V18H26V15H25V14V13H23V12H20V13H18V14ZM20 13H23V14H24V15H25V18H24V19H23V20H20V19H19V18H18V15H19V14H20V13ZM21 22H22V24H21V22ZM27 16V17H29V16H27ZM14 16H16V17H14V16ZM27 11H26V12H27V11ZM27 11H28V10H27V11ZM16 22H15V23H16V22ZM16 22H17V21H16V22ZM16 10H15V11H16V12H17V11H16V10ZM27 21H26V22H27V23H28V22H27V21Z' fill='%23100F0F'/%3E%3C/svg%3E%0A");
    position: absolute;
    width: 72px;
    height: 72px;
    top: 0;
    right: 0;
  }

  #document article header,
  #document article header #title,
  #document #document-content {
    margin-left: 0 !important;    
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #spine, #toc {
    display: none !important;
  }

  #ndc-logo {
    display: none;
  }

  #document article header .signpost-small .signpost-label {
    background: transparent !important;
  }

  #document article header.ndc-tile-theme {
    background: transparent !important;

  }
  #document article header #backdrop {
    display: none !important;
  }

  #document article header #backdrop {
    display: none;
  }

  #document article header #title {
    padding-top: var(--ma-lrg) !important;
    color: var(--co-text) !important;
  }

  #sidenotes {
    margin-right: 0 !important;
    margin-left: var(--ma-sml) !important;
  }

  #document article content .footnote-ref, #document article content .footnote-ref a, #document article content a[href^='#fn'], #document article content span.fn {
    background: none !important;
  }

  #document #document-content.utility-document-content {

  }

  #document article #contents {
    width: 100% !important;
  }

  #document article h1 {
    font-size: var(--fs-hge) !important;
  }

  .signpost-label {
    padding: 0 !important;
  }
}
/* --- ndc-fonts.css --- */
@font-face {
  font-family: 'FK Grotesk Next';
  src: url('/assets/fonts/2026/FKGroteskNextVariable.woff2') format('woff2'),
       url('/assets/fonts/2026/FKGroteskNextVariable.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FK Roman Standard';
  src: url('/assets/fonts/2026/FKRomanStandardVariable.woff2') format('woff2'),
       url('/assets/fonts/2026/FKRomanStandardVariable.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FK Raster Grotesk';
  src: url('/assets/fonts/2026/FKRasterGroteskVariable.woff2') format('woff2'),
       url('/assets/fonts/2026/FKRasterGroteskVariable.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FK Raster Roman';
  src: url('/assets/fonts/2026/FKRasterRomanVariable.woff2') format('woff2'),
       url('/assets/fonts/2026/FKRasterRomanVariable.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FK Raster Grotesk Compact';
  src: url('/assets/fonts/2026/FKRasterGroteskCompactVariable.woff2') format('woff2'),
       url('/assets/fonts/2026/FKRasterGroteskCompactVariable.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FK Raster Roman Compact';
  src: url('/assets/fonts/2026/FKRasterRomanCompactVariable.woff2') format('woff2'),
       url('/assets/fonts/2026/FKRasterRomanCompactVariable.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cinema';
  src: url('/assets/fonts/2026/cinema.woff2') format('woff2');
  font-style: normal;
  font-display: swap;
}

/* --- ndc-spine.css --- */
/* Defs */
:root {
  --spine-unit: calc(44px - 1px);
}

/* Outer spine */
#spine {
  line-height: var(--lh-reg);
  position: fixed;
  right: 0;
  top: 0;
  height: 100dvh;
  width: calc(var(--spine-unit) + 2px);
  z-index: 100;
  overflow: visible;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--co-text);
  background: var(--co-high);
  overflow: visible;
}

/*
#spine:hover ~ main {
  filter: grayscale(1);
  opacity: 0.5;
}
*/
/* Spine menu show/hide */
#spine .tools ul li,
#spine .last ul li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  width: max-content;
  right: 0;
}

#spine .tools ul li:hover,
#spine .tools ul li:active,
#spine .tools ul li:focus,
#spine .tools ul li.force-open,
#spine .last ul li:hover,
#spine .last ul li:active,
#spine .last ul li:focus,
#spine .last ul li.force-open,
#spine .last ul li {
  color: var(--co-high);
  width: auto;
  text-align: right
}

/* Spine main item and show/hide behaviour */
#spine .item {
  min-height: var(--spine-unit);
  padding: 6px;
  display: flex;
  flex-direction: row;
  align-items: center;
  text-transform: capitalize;
  font-family: var(--ff-sans);
}

#spine .item:hover,
#spine .item.predrop,
#spine .item.membership {
  background-color: var(--co-pri);
  color: var(--co-white);
}

#spine ul li .item .actions {
  display: none;
  margin-left: 6px;
}

#spine ul li:hover .item .actions,
#spine ul li .item.predrop .actions,
#spine ul li .item.membership .actions {
  display: block;
  width: max-content;
}

/* Spine Item Labels */
#spine ul li .item .actions span {
  position: relative;
  margin-top: -2px;
}

#spine ul li .item .actions span,
#spine ul li .item .actions span a {
  color: var(--co-high);
}

#spine ul li .item .actions a {
  text-decoration: underline;
}

#spine .item svg {
  width: 2rem;
  height: 2rem;
}

#spine .last .membership {
  color: var(--co-pri);
  padding: 8px 14px 8px 14px;
}

#spine .last .signpost-access {
  position: absolute;
  bottom: 0;
  right: 45px
}

#spine .last .signpost-access .is-signpost {
   height:18rem;
}

#spine .last .membership svg {
  animation:pulse 2s infinite, pulsecolor 2s infinite;
  image-rendering: pixelated;
}

#spine .last .signpost-access .is-signpost .signpost-text {
  font-weight: 600;
}

#spine .last .signpost-access .is-signpost .signpost-blurb {
  margin-top: var(--ma-tny);
  display: block;
}

#spine .last .signpost-access .signpost-actions {
  margin-bottom: var(--ma-tny);
  display: flex;
  flex-direction: column;
}

#spine .last .signpost-access .signpost-actions a {
  display: block;
}

#spine .last .signpost-access .signpost-actions a:first-child {
  display: block;
  margin-bottom: var(--ma-tny);
}

#spine .signpost-access .signpost-icon {
  position: absolute;
  bottom: 0;
  right: -45px;
  background-color: var(--co-pri);
  padding: 6px;
  width: 45px;
  height: 44px;
}

#spine .menu {
  /* padding: calc(1rem / 2) 0; */
  width: 43px;
  height: 114px;
  display: flex;
  align-items: stretch;
  font-family: var(--ff-sans);
  writing-mode: vertical-rl;
  font-size: 22px;
  letter-spacing: 2px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid var(--co-text);
  cursor: pointer;
  padding: 0;
}

#spine .menu::before {
  content: '☰';
  display: flex;
  align-content: center;
  width: 34px;
  height: 24px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  margin-top: 6px;
}

#spine .menu svg {
  width: 32px;
  height: 114px;
}

#spine .tools {
  border-bottom: 1px solid var(--co-text);
}

#spine .index {
  flex: 1;
  display: flex;
}

/* Predrop */
#spine ul li .item.predrop {
  align-items: flex-start;
  width: 18rem;
  height: calc(var(--spine-unit) * 2);
  z-index: 10;
  text-align: left;
  text-transform: initial;
  padding: 0.5rem;
  height: fit-content;
}

#spine ul li .item.predrop .actions span {
  display: inline-block;
}

#spine ul li .item.predrop a {
  color: var(--co-high);
}

#spine ul li .item.predrop time {
  margin-left: 2px;
  padding: 0 4px;
  font-size: 94%;
  background-color: var(--co-high);
  color: var(--co-pri);
  font-family: var(--ff-mono);
  font-variation-settings: var(--fvs-mono);
}

#spine ul li .item.predrop time span {
  color: var(--co-pri);
}

/* Account */
#spine ul li .item.account {
  border-top: 1px solid currentColor;
  padding: 0;
  color: var(--co-text);
}
#spine ul li .item.account:hover {
  padding-right: 6px;
  border-top: 1px solid transparent;
}

#spine ul li .item.account .avatar {
  width: calc(var(--spine-unit) + 1px); 
  height: calc(var(--spine-unit) + 1px);
  margin-top: 0px;
  margin-left: 0px;
  margin-bottom: 0px;
}

#spine ul li .item.account .avatar .avatar-image {
  width: 44px;
  height: 44px;
  position: absolute;
  background-size: cover;
  z-index: 10;
}

#spine ul li .item.account .avatar .avatar-base {
  position: absolute;
  width: 44px;
  height: 44px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  z-index: 1;
  color: inherit;
}

#spine .top, #spine .tools, #spine .last {
  flex-shrink: 0;
}

#spine .last {
  height: 44px;
}

#spine .item.top svg {
  transform: rotateZ(90deg);
}

/* Sideways Spine stuff */
#spine .index ul {
  display: flex;
  flex-direction: column;
}

#spine .index .basic {
  flex: 1;
  justify-content: space-around;
  align-items: stretch;
}

#spine .index .basic li:first-child {
  border-top: none;
}
#spine .index .basic li {
  flex: 1;
  width: 100%;
  text-align: center;
  display: flex;
  border-top: 1px solid var(--co-text);
}

#spine .index .basic li a {
  color: var(--co-text);
  width: 44px;
}

#spine .index .basic li:hover a {
  color: var(--co-high);
}


#spine .index .basic li:first-child {
  border-top: none;
}

#spine .index .basic li:hover {
  background-color: var(--co-pri);
  cursor: pointer;
}

#spine .index .basic .label {
  position: relative;
  writing-mode: vertical-rl;
  font-family: var(--ff-sans);
  text-transform: uppercase;
  padding-right: 25%;
}

#spine .index .basic .label.active {
  color: var(--co-pri);
}

#spine .index .basic:hover .label.active {
  color: var(--co-high) !important;
}
#spine .index .basic .label.active::before {
  content: '〈';
  color: currentColor;
  position: absolute;
  right: 85%;
  top: calc((50% - calc(1rem / 2)) - 2px);
}

#spine #community-box {
  position: fixed;
  bottom: 0;
  right: 44px;
}

#spine #community-box .item.community {
  max-width: 15.25rem;
}

#spine #community-box .item.community .actions {
  margin-left: calc(var(--ma-sml) / 2);
}


#spine #community-box .widget { 
  border: 1px solid var(--co-pri);
  border-bottom: none;
}

/* Open & close */
#community-toggle[type='checkbox'] {
  z-index: 2;
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
}

#spine .community-item-close {
  display: none;
  height: 44px;
}

#spine .index .series,
#spine .index .glossary {
  height: calc(100vh - (4 * 44px) - 115px)
}

#spine .index .series.open-pw,
#spine .index .glossary.open-pw {
  height: calc(100vh - (3 * 44px) - 115px)
}

.page-glossary #spine .index .glossary {
  height: calc(100vh - (4 * 44px) - 71px)

}
/* Series */
#spine .series li {
  position: relative;
  padding: 4px 1px;
  display: flex;
  flex-basis: 100%;
  min-height: 0px;
}

#spine .series li .label {
  color: var(--co-text);
  background: var(--co-high);
  font-size: 0.5rem;
  min-height: 0px;
  overflow: hidden;
  font: var(--cs-tny);
  width: 40px;
  display: block;
  line-height: 1.1;
  writing-mode: tb-rl;
  padding-bottom: 1rem;
  text-transform: capitalize;
}

#spine .series li:hover .full {
  display: block;
}

#spine .series li .full {
  margin-left: 6px;
  display: none;
  position: absolute;
  width: 300px;
  min-height: 100%;
  height: auto;
  z-index: 20;
  left: -260px;
  bottom: 0;
  padding: 12px;
}

#spine .series li .full .tile-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0; 
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#spine .series li .full .metadata {
  position: relative;
  z-index: 20;
  mix-blend-mode: luminosity;
}

#spine .series li .full .metadata .title {
  text-transform: uppercase;
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri-h1);
  line-height: 1.2;
  max-width: 18ch;
  font-size: 1.2rem
}

#spine .series li .full .metadata .authors {
  font: var(--cs-lbl);
}

#spine .series li .full .metadata .date {
  font: var(--cs-tny);
}

/* Glossary Spine */
#spine .glossary {
  width: 44px;
  overflow-y: scroll;
}

#spine .glossary li {
  flex: 1;
  display: flex;
}
#spine .glossary li a {
  font-family: var(--ff-mono);
  font-variation-settings: var(--fvs-mono);
  font-size: 0.9rem;
  color: var(--co-text);
  width: 43px;
  display: block;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#spine .glossary li a:hover {
  background-color: var(--co-pri);
  color: var(--co-high);
}

#community-toggle[type='checkbox']:checked ~ #spine #community-box,
#community-toggle[type='checkbox']:checked ~ #spine .community-item-close {
  display: block !important;
} 

#community-toggle[type='checkbox']:checked ~ #spine .community-item-open  {
  display: none !important;
}

@media screen and (max-height: 800px) {
  #spine .index .basic .label {
    font-size: 80%;
  }
}

@media screen and (max-height: 600px) {
  #spine .index {
    visibility: hidden;
  }
}
/* --- ndc-menu.css --- */
#menu {
  width: 100vw;
  height: 100dvh;
  background-color: var(--co-high);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 101;
  line-height: var(--lh-reg);
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: none;
}

#menu #ndc-logo a {
  background: none;
}

#menu #blurb {
  font: var(--cs-hg1);
  padding: 0 calc(1rem * var(--lh-reg)) var(--pd-reg);
  margin-bottom: var(--ma-reg);
  color: var(--co-text);
  border-bottom: 1px solid var(--co-text);
}

#menu #blurb p {
  max-width: 72ch;
}

#menu #blurb .about {
  display: inline-block;
}

#menu h2, #menu h3, #menu .nav-item,
#related h2, #related h3, #related .nav-item  {
  text-transform: capitalize;
  font: var(--cs-hg1);
}

#related h2, #related h3 {
  margin: 0 var(--ma-reg);
}
#related #follow-us.nav-root-item {
  margin-left: var(--ma-reg);
  margin-right: var(--ma-reg);
}

#related .nav-root-item #nav-slice-item {
  padding: 0;
}

#menu h3,
#related h3 {
  font-size: var(--fs-big);
}
#menu .nav-root-item > p.research-intro,
#related .nav-root-item > p.research-intro {
  padding: 0 calc(1rem * var(--lh-reg));
  font: var(--cs-reg);
  max-width: 48ch;
}

#menu h2, #menu h3, #menu .nav-slice, #menu footer {
  padding: 0 calc(1rem * var(--lh-reg));
}

#menu .nav-pubs .nav-slice,
#related .nav-pubs .nav-slice {
  padding: 0 calc(0.5rem * var(--lh-reg));
}

#menu .nav-pubs .nav-slice .nav-slice-item,
#related .nav-pubs .nav-slice .nav-slice-item {
  margin-right: var(--ma-sml) !important;
}
#menu .nav-root {
  margin-top: 6rem;
}
#menu .nav-root,
#related .nav-root {
  overflow: visible;
  
}

#menu .nav-root-item,
#related .nav-root-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-bottom: var(--ma-reg);
}

#menu .nav-root-item .nav-slice,
#related .nav-root-item .nav-slice {
  display: flex;
  flex-direction: row;
  -webkit-overflow-scrolling: touch;
  overflow-x: scroll;
  align-items: stretch;
}

#menu .nav-root-item.nav-links .nav-slice,
#related .nav-root-item.nav-links .nav-slice {
  overflow-x: hidden;
}

#menu .nav-root-item .nav-slice.nav-wrap,
#related .nav-root-item .nav-slice.nav-wrap {
  flex-wrap: wrap;
}

#related .nav-slice.nav-slice-wrap {
  flex-wrap: wrap;
  overflow-x: initial;
}

#menu .nav-root-item .nav-slice .nav-slice-item,
#related .nav-root-item .nav-slice .nav-slice-item {
  margin-right: var(--ma-lrg);
}

#menu .nav-links .nav-slice .nav-slice-item a,
#menu #blurb a, #menu .nav-upgrade,
#related .nav-links .nav-slice .nav-slice-item a {
  display: inline;
  transition: all 200ms ease-out;
  background: linear-gradient(90deg, var(--co-pri) 50%, rgba(255, 255, 255, 0) 50%);
  background-size: 205% 100%;
  background-position: 100% 0;
}

#menu .nav-links .nav-slice .nav-slice-item a:hover,
#menu #blurb a:hover, #menu .nav-upgrade:hover,
#related .nav-links .nav-slice .nav-slice-item a:hover {
  color: var(--co-high);
  -webkit-animation: highlight 300ms 1 normal forwards;
  animation: highlight 300ms 1 normal forwards;
}

#menu .nav-root-item.nav-root-section-end,
#related .nav-root-item.nav-root-section-end {
  padding-bottom: var(--pd-reg);
  margin-bottom: var(--ma-reg);
  border-bottom: 1px solid var(--co-text);
}

#menu .nav-slice-item .lock-icon,
#related .nav-slice-item .lock-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-left: -12px;
  top: -8px;
  position: relative;
}

footer.site-wide-footer {
  font: var(--cs-lbl);
  margin-top: var(--ma-lrg);
  margin-bottom: var(--ma-reg);
  padding: 0 calc(1rem * var(--lh-reg));
}

footer.site-wide-footer p {
  margin-bottom: calc(1rem * var(--lh-sml));
}

footer.site-wide-footer ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

footer.site-wide-footer ul li {
  margin-right: var(--ma-reg);
}

footer.site-wide-footer .footer-logo {
  display: block;
  margin-top: var(--ma-sml);
}

footer.site-wide-footer .footer-logo svg {
  width: 26px;
  height: 15px;
}

#menu .close {
  width: calc(var(--spine-unit) + 1px);
  height: calc(var(--spine-unit) + 1px);
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--co-text);
  border-bottom: 1px solid var(--co-text);
  background: var(--co-high);
  z-index: 103;
}

#menu .close svg {
  width: 2rem;
  height: 2rem;
  cursor: pointer;
}

#menu .close:hover {
  background-color: var(--co-pri);
  color: var(--co-high);
}

/* Items */
#menu a.publication,
#menu a.application,
#related a.publication,
#related a.application {
  display: block;
  padding: var(--ma-sml);
  border: 1px solid rgba(255,255,255,0);
  transition: all 100ms;
  height: 100%;
}

#menu a.publication:hover,
#menu a.application:hover,
#related a.publication:hover,
#related a.application:hover {
  border: 1px solid var(--co-pri);
}

#menu .publication .cover,
#related .publication .cover {
  width: 16rem;
  height: 12rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: var(--ma-tny);
  z-index: 0;
}

#menu .publication .cover .signpost-small,
#related .publication .cover .signpost-small {
  z-index: 30;
  margin-bottom: 0;
}

#menu .publication .cover .thumb,
#related .publication .cover .thumb {
  position: absolute;
  z-index: 1;
  background-color: gray;
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
  top: 0;

}

#menu .application .thumb,
#related .application .thumb  {
  width: 10rem;
  height: 10rem;
  display: block;
  margin-bottom: var(--ma-sml);
  background-color: gray;
}

#menu .publication .meta,
#menu .application .meta, 
#related .publication .meta,
#related .application .meta {
  width: 16rem;
  display: flex;
  flex-direction: column;
}

#menu .publication .meta .title,
#menu .application .meta .title,
#related .publication .meta .title,
#related .application .meta .title {
  color: var(--co-pri);
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  margin-top: 0.1rem;
  margin-bottom: 0.1rem;
  line-height: 1.2;
}

#menu .publication .meta .intro,
#menu .publication .meta .author,
#menu .application .meta .intro,
#related .publication .meta .intro,
#related .publication .meta .author,
#related .application .meta .intro  {
  color: var(--co-text);
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  text-transform: initial;
}

#menu .publication .meta .intro,
#menu .application .meta .intro,
#related .publication .meta .intro,
#related .application .meta .intro  {
  overflow: hidden;
  font: var(--cs-lbl);
  width:100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* Open & close */
#menu-toggle[type='checkbox'] {
  z-index: 2;
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
}

#menu-toggle[type='checkbox']:checked ~ #menu {
  display: block !important;
}

#menu .license svg {
  width: 8rem;
  height: auto;
  margin-bottom: var(--ma-tny);
}
/* --- ndc-utils.css --- */
.util-hide {
  display: none !important;
}

@keyframes highlight {
  to {
    background-position: 0 0;
  }
}

@keyframes pulse {
  0% {transform: scale(1)}
	10% {transform: scale(1.2)}
	90% {transform: scale(1)}
	100% {transform: scale(1)}
}

@keyframes pulsecolor {
  0% {color: inherit}
  10% {color: var(--co-hlght)}
  90% {color: inherit}
  100% {color: inherit}
}
/* --- ndc-grid.css --- */
#grid-blurb {
  font: var(--cs-big);
  padding: var(--pd-hge) calc(1rem * var(--lh-reg)) var(--pd-lrg);
  color: var(--co-text);
  border-bottom: 1px solid var(--co-text);
}

#grid-blurb p {
  max-width: 72ch;
}

.ndc-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(calc(100% / 3), auto));
  grid-auto-rows: minmax(35vh, 1fr);
  grid-auto-flow: dense;
}

.ndc-grid .ndc-tile {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--ma-lrg) var(--ma-reg) var(--ma-reg);
  position: relative;
  grid-row-end: auto;
  grid-column-end: auto;
  grid-row: auto;
  grid-column: auto;
}

.ndc-grid .ndc-tile:not(.featured) .metadata .excerpt {
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.ndc-grid a.ndc-tile {
  cursor: pointer;
}

.ndc-grid .ndc-tile div {
  z-index: 2;
  mix-blend-mode: luminosity;
}

.ndc-grid .ndc-tile .tile-background {
  object-fit: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.ndc-grid .grid-priority-1 {
  order: -2;
}

.ndc-grid .grid-priority-2 {
  order: -1;
}
.ndc-grid .grid-priority-3 {
  order: 0;
}
.ndc-grid .grid-priority-4 {
  order: 1;
}
.ndc-grid .grid-priority-last {
  order: 12;
}

.ndc-grid #members-tile {
  grid-row-start: 1;
  grid-column-start: 4;
}

.ndc-grid .ndc-tile h3 {
  font: var(--cs-hg2);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  max-width: 14ch;
  margin-bottom: var(--ma-sml);
  line-height: 1;
}

.ndc-grid .ndc-tile p {
  font: var(--cs-reg);
  max-width: 48ch;
}

.ndc-grid .grid-1x1 {
  grid-row: span 1;
  grid-column: span 1;
}

.ndc-grid .grid-1x2 {
  grid-row: span 2;
}

.ndc-grid .grid-1x3 {
  grid-row: span 3;
}

.ndc-grid .grid-1x4 {
  grid-row: span 4;
}

.ndc-grid .grid-2x1 {
  grid-column: span 2;
}

.ndc-grid .grid-2x2 {
  grid-row: span 2;
  grid-column: span 2;
}

.ndc-grid .grid-2x3 {
  grid-row: span 3;
  grid-column: span 2;
}

.ndc-grid .grid-2x4 {
  grid-row: span 4;
  grid-column: span 2;
}

.ndc-grid .grid-3x1 {
  grid-column: span 3;
}

.ndc-grid .grid-3x2 {
  grid-row: span 2;
  grid-column: span 3;
}

.ndc-grid .grid-3x3 {
  grid-row: span 3;
  grid-column: span 3;
}

.ndc-grid .grid-3x4 {
  grid-row: span 4;
  grid-column: span 3;
}

.ndc-grid .grid-4x1 {
  grid-column: span 3;
}

.ndc-grid .grid-4x2 {
  grid-row: span 2;
  grid-column: span 3;
}

.ndc-grid .grid-4x3 {
  grid-row: span 3;
  grid-column: span 3;
}

.ndc-grid .grid-4x4 {
  grid-row: span 4;
  grid-column: span 3;
}

/* Themes */
.ndc-tile-theme {
  background-color: rgb(47, 47, 48);
  color: var(--co-high);
}

.ndc-tile-theme .tile-background {
  opacity: 0.7;
}

.ndc-tile-theme.theme-light {
  color: var(--co-text);
}

.ndc-tile-theme.theme-red {
  background-color: hsl(15, 99%, 26%);
}

.ndc-tile-theme.theme-blue {
  background-color: rgb(7, 54, 116);
}

.ndc-tile-theme.theme-green {
  background-color: hsl(98.6, 45.8%, 50%);
}

.ndc-tile-theme.theme-cyan {
  background-color: hsl(158, 29%, 20%);
}

.ndc-tile-theme.theme-yellow {
  background-color: rgb(91, 97, 40);
}

.ndc-tile-theme.theme-pink {
  background-color: rgba(254, 212, 208, 1);
}

.ndc-tile-theme.theme-grey {
  background-color: rgba(29, 24, 34, 1);
}
.ndc-tile-theme.theme-navy {
  background-color: rgba(17, 21, 36, 0.8);
}
.ndc-tile-theme.theme-white {
  background-color: #818191;
  
}
.ndc-tile-theme .tile-background {
  mix-blend-mode: overlay;
}

.ndc-tile-theme.theme-multiply .tile-background {
  mix-blend-mode: multiply;
}

.ndc-tile-theme.theme-luminosity .tile-background {
  mix-blend-mode: luminosity;
}

.ndc-tile-theme.theme-screen .tile-background {
  mix-blend-mode: screen;
}

.ndc-tile-theme.theme-negative .tile-background {
  mix-blend-mode: difference;
}

.ndc-tile-theme.theme-hard-light .tile-background {
  mix-blend-mode: hard-light;
}

.ndc-tile-theme.theme-greyscale .tile-background {
  filter: grayscale(0.9) contrast(0.5);
}

.ndc-tile-theme.theme-contrast-half .tile-background {
  filter: contrast(0.45);
}

.tile-flip {
  justify-content: flex-start !important;
}

.tile-light .metadata {
  color: var(--co-text);
}

.ndc-intro {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-top: 1px solid var(--co-text);
  border-bottom: 1px solid var(--co-text);
  padding: var(--pd-hge) var(--pd-reg) var(--pd-reg) var(--pd-reg);
  min-height: 55vh;
}

.ndc-intro .intro-text, .ndc-intro h2 {
  font: var(--cs-hg1);
  color: var(--co-text);

}

.ndc-intro .intro-text {
  max-width: 32ch;
}

.ndc-intro .intro-text .emphasis a {
  text-decoration: underline;
  color: var(--co-pri);
}
.ndc-intro .intro-text a {
  text-decoration: underline;
  text-decoration-style: dotted;
  color: var(--co-text);
  text-decoration-color: rgba(0,0,0,0.05);
}
.ndc-intro .intro-text {
  margin-bottom: var(--ma-lrg);
}



@media screen and (max-width: 960px) {
  .ndc-grid {
    grid-template-columns: repeat(auto-fill, minmax(calc(100% / 2), auto));
  }
  .ndc-grid #members-tile {
    grid-row-start: auto !important;
    grid-column-start: auto !important;
  }
  .ndc-grid .grid-1x1 {
    grid-row: span 1;
    grid-column: span 1;
  }

  .ndc-grid .grid-1x2 {
    grid-row: span 2;
  }

  .ndc-grid .grid-1x3 {
    grid-row: span 3;
  }

  .ndc-grid .grid-1x4 {
    grid-row: span 3;
  }

  .ndc-grid .grid-2x1 {
    grid-column: span 1;
  }

  .ndc-grid .grid-2x2 {
    grid-row: span 2;
    grid-column: span 1;
  }

  .ndc-grid .grid-2x3 {
    grid-row: span 3;
    grid-column: span 1;
  }

  .ndc-grid .grid-2x4 {
    grid-row: span 3;
    grid-column: span 1;
  }

  .ndc-grid .grid-3x1 {
    grid-column: span 2;
  }

  .ndc-grid .grid-3x2 {
    grid-row: span 2;
    grid-column: span 2;
  }

  .ndc-grid .grid-3x3 {
    grid-row: span 3;
    grid-column: span 2;
  }

  .ndc-grid .grid-3x4 {
    grid-row: span 3;
    grid-column: span 2;
  }

  .ndc-grid .grid-4x1 {
    grid-column: span 2;
  }

  .ndc-grid .grid-4x2 {
    grid-row: span 2;
    grid-column: span 2;
  }

  .ndc-grid .grid-4x3 {
    grid-row: span 3;
    grid-column: span 2;
  }

  .ndc-grid .grid-4x4 {
    grid-row: span 3;
    grid-column: span 2;
  }
}

@media screen and (max-width: 640px) {
  .ndc-grid {
    display: flex;
    flex-direction: column;
  }

  .ndc-grid .ndc-tile {
    height: 45vh;
    padding: var(--ma-reg) var(--ma-reg);
    min-height: 30rem;
  }
  .ndc-grid .ndc-tile .metadata {
    max-height: 100%;
    overflow: hidden;
  }
  .ndc-grid .ndc-tile:first-child {
    height: 75vh;
  }
}

/* --- ndc-typography.css --- */
/* Signposts */

.signpost-small {
  color: var(--co-pri);
  display: flex;
  flex-direction: column;
  font: var(--cs-lbl);
  text-transform: uppercase;
  margin-bottom: var(--ma-sml);
  width: fit-content;
  align-items: flex-start;
}

.signpost-small .signpost-label {
  display: flex;
  align-items: center;
  background-color: var(--co-high);
  padding: 0.2rem 0.65rem 0 0.25rem;
}

.signpost-small.signpost-has-access .signpost-label {
  padding-bottom: 0.2rem;
}

.signpost-small.signpost-has-access .signpost-label::after {
  content: '↦';
  transition: all 200ms;
  width: 0;
  overflow: hidden;
  margin-left: 0;
}


.signpost-small .icon {
  display: flex;
  justify-content: center;
  margin-right: 0.35rem
}

.signpost-small .icon svg {
  aspect-ratio: 1/1;
  width: 1.5rem;
} 

.signpost-small .label {
  margin-top: 0px;
}

.signpost-small .signpost-access-label {
  display: flex;
  align-items: flex-start;
  background-color: var(--co-high);
  padding: 0.2rem 0.65rem 0.1rem 0.25rem;
  
}

.signpost-small .signpost-access-label .member-signpost {
  display: flex;
  flex-direction: column;
  overflow-y: hidden;
}

.signpost-small .signpost-access-label .member-signpost .access-time {
  font-family: var(--ff-mono);
  font-variation-settings: var(--fvs-mono);
  font-weight: 400;
  font-size: 0.75rem;
}

.signpost-small .signpost-access-label .icon svg {
  margin-top: -3px;
} 

.signpost-small .signpost-access-label .member-signpost .more-info { 
  margin-bottom: -1rem;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}

.ndc-tile:hover .signpost-small.signpost-has-access .signpost-label::after,
.ndc-tile:focus .signpost-small.signpost-has-access .signpost-label::after,
.publication:hover .signpost-small.signpost-has-access .signpost-label::after,
.publication:focus .signpost-small.signpost-has-access .signpost-label::after {
  width: auto;
  margin-left: 4px;
}

.ndc-tile:hover .signpost-small .signpost-access-label .member-signpost .more-info,
.ndc-tile:focus .signpost-small .signpost-access-label .member-signpost .more-info,
.publication:hover .signpost-small .signpost-access-label .member-signpost .more-info,
.publication:focus .signpost-small .signpost-access-label .member-signpost .more-info  {
  margin-bottom: 0rem;
  opacity: 1;
}
/* --- ndc-toc.css --- */
#document #toc {
  display: none;
  flex-direction: column;
  font-family: var(--ff-sans);
  font-size: var(--fs-sml);
  position: -webkit-sticky; /* for Safari */
  position: sticky;
  top: var(--ma-reg);
  align-self: flex-start;
  min-width: 9rem;
  width: 9rem;
  margin-left: var(--ma-reg);
  max-height: calc(100dvh - var(--ma-reg));
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  color: white;
  mix-blend-mode: difference;
}

.tag-streams #document #toc {
  top: calc(40vh + var(--ma-reg));
}
#document #toc.enabled {
  display: flex;
}

#document #toc .contents-header {
  text-transform: uppercase;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  border-bottom: 1px solid var(--co-dark);
  padding-bottom: var(--pd-sml);
}

#document #toc .contents-header .top {
  color: white;
}

#document #toc > ol {
  padding-top:calc((0.5rem * var(--lh-reg)) * 1);
  padding-bottom: var(--pd-reg);
  list-style-type: none;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow-y: scroll;
}

#document #toc > ol::-webkit-scrollbar {
  display: none;
  width: 0 !important
}

#document #toc ol li {
  margin-bottom: calc((1rem * var(--lh-reg)) * 0.3);
}

#document #toc ol li a {
  color: white;
  display: inline;
}

#document #toc > ol li > ol {
  list-style: none;
  margin-left: 0;
  padding-left: var(--ma-sml);
  margin-top: calc((1rem * var(--lh-reg)) * 0.2);
  margin-bottom: calc((1rem * var(--lh-reg)) * 0.3);
  border-left: 1px dotted var(--co-dark);
}

#document #toc #toc-button {
  position: absolute;
  right: -1.5rem;
  writing-mode: vertical-lr;
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
  text-transform: uppercase;
  opacity: 1;
}

#document #toc #toc-button,
#document #toc #toc-close  {
  display: none;
}

#document #toc ol,
#document #toc .contents-header {
  opacity: 1;
}

#toc-toggle[type='checkbox'] {
  z-index: 2;
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
}
/* Media Queries */
@media screen and (max-width: 990px) {
  #document #toc {
    margin-left: -9rem;
    transition: margin-left 300ms ease-in-out;
  }

  #document #toc #toc-button,
  #document #toc #toc-close {
    display: initial;
  }

  #document #toc ol,
  #document #toc .contents-header {
    opacity: 0;
    transition: opacity 300ms ease-in-out;
  }

  #toc-toggle[type='checkbox']:checked ~ #document #toc {
    margin-left: var(--ma-reg);
  }

  #toc-toggle[type='checkbox']:checked ~ #document #toc ol,
  #toc-toggle[type='checkbox']:checked ~ #document #toc .contents-header {
    opacity: 1;
  }

  #toc-toggle[type='checkbox']:checked ~ #document #toc #toc-button {
    transition: all 300ms ease-in-out;
    opacity: 0;
  }

  /* Matched offset: reduce content min-width to account for TOC footprint */
  #toc-toggle[type='checkbox']:checked ~ #document article content {
    min-width: calc(100vw - 31rem - 44px);
  }

  #toc-toggle[type='checkbox']:checked ~ #document article content .clear-sidenotes-toggle {
    display: none;
  }
  #toc-toggle[type='checkbox']:checked ~ #document article content .clear-toc-toggle {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  #toc-toggle[type='checkbox']:checked ~ #document article content {
    min-width: calc(100vw - 10rem - 44px);
  }
}

@media screen and (max-width: 481px) {
  #toc-toggle[type='checkbox']:checked ~ #document article content {
    min-width: calc(100vw - 6rem - 44px);
  }
}
/* --- ndc-document.css --- */
#document article {
  line-height: var(--lh-reg);
}

#document article header {
  width: -webkit-fill-available;
  position: relative;
  margin: var(--ma-reg);
  margin-bottom: var(--ma-lrg);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

#document #feature header {
  height: 90vh;
}

#document article header h1 {
  font: var(--cs-msv);
  letter-spacing: var(--ls-seri-h1);
  font-size: clamp(1.8rem, 8vw, 32rem);
  max-width: 14ch;
  text-transform: uppercase;
  margin-bottom: var(--ma-sml);
}

#document article header #title {
  position: relative;
  z-index: 2;
  padding: var(--ma-reg); 
  padding-top: calc(6rem + 45vh);
  mix-blend-mode: luminosity;
}

#document article header #title.utility-title {
  padding: 0;
  padding-top: 12rem;
  padding-bottom: 2rem;
}

#document article header.ndc-utility-header-pd #title {
  padding-left: var(--pd-reg);
  padding-right: var(--pd-reg);
}

#document article header .ndc-utility-bg {
  background-color: rgb(255, 255, 255);
}

#document article header .ndc-utility-bg img {
  mix-blend-mode: difference;
  opacity: 0.2;
}


#document article header #title.utility-title h1 {
  font-size: clamp(1.8rem, 8vw, 32rem);
}

#document #feature article header #title {
  padding-top: var(--ma-reg);
}

#document article header #backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

}
#document article header #backdrop > div {
  width: 100%;
  height: 100%;
  z-index: 2;
  position: relative;
}

#document #feature header #backdrop {
  background-color: var(--co-pri);
}

#document article header #backdrop img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 2;
  position: relative;
  transition: all 0.2s ease-in-out;
}

#document #feature header #backdrop img {
  mix-blend-mode: lighten;
}
/*
#document article header #backdrop .dither::after {
  content: '';
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  display: block;
  z-index: 1;
  top: 0px;
  left: 0px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAOklEQVR4nC3KQQFAQAAAwd0EIohANA0uiiiugQgiiLA+5j0AVBewVa/VUGd1qBNgrR5gqW6r8x+7Oj8/xCBur9LU/wAAAABJRU5ErkJggg==);
  background-repeat: repeat;
  background-color: hsl(231,100%,40%);
  background-size: 6px;
}
*/

#document article header #title #metadata {
  display: flex;
  flex-direction: row;
  width: 100%;
}

#document article header #title #metadata li {
  width: calc((100% / 8) + (var(--ma-lrg)) - var(--ma-reg) / 2);
}

#document article header #title #metadata label {
  text-transform: uppercase;
  font: var(--cs-lbl);
}

#document article header #title #metadata p {
  font-family: var(--ff-sans);
  font-variation-settings: 'wght' 500;
}

#document article header #title #metadata a {
  color: inherit;
  text-decoration: underline;
}  
/* Global document layouts */

#document article #contents {
  display: flex;
  margin-left: 0;
  margin-bottom: var(--ma-hge);
}

#document article content >:first-child {
  margin-top: 0 !important;
}

#document article content {
  max-width: 98ch;
  margin-left: var(--ma-lrg);
  margin-right: var(--ma-lrg);
  font-kerning: normal;
}

#document article #document-content > *:first-child {
  margin-top: 0;
}

#document article content h1 {
  font: var(--cs-hg1);
  font-variation-settings: 'wght' 700;
  margin-bottom: var(--ma-sml);
}

#document article content h2 {
  font: var(--cs-big);
  font-variation-settings: 'wght' 600;
  margin-top: var(--ma-hge);
  margin-bottom: var(--ma-sml);
  letter-spacing: -0.75px;
}

#document article content h3 {
  font-family: var(--ff-sans);
  font-size: 1.45rem;
  margin-top: var(--ma-lrg);
  margin-bottom: var(--ma-sml);
  letter-spacing: normal;
  font-variation-settings: 'wght' 600;
  letter-spacing: -0.5px;

}

#document article content h4 {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: var(--ma-sml);
}

#document article content p {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  margin-bottom: var(--ma-reg);
}

#document article table thead {
  font-family: var(--ff-sans);
  font-weight: normal;
  text-transform: uppercase;
  font-variation-settings: 'wght' 600;
  padding-bottom: var(--pd-sml);
}

#document article table tbody {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
}

#document article table tbody td {
  vertical-align: text-top;
}

#document article table tbody tr td:first-child {
  font-family: var(--ff-sans);
  font-weight: normal;
  font-style: normal;
  text-transform: uppercase;
  font-variation-settings: 'wght' 400;
  padding-right: var(--pd-reg);
}
#document article table tbody tr td {

}





#document article content code,
#document article content pre {
  font-family: var(--ff-mono);
  font-variation-settings: var(--fvs-mono);
  font-size: calc(1rem - 10%);
  white-space: break-spaces;
  margin-bottom: var(--ma-reg);
  letter-spacing: -0.1px;
  font-size: 1rem;
  font-weight: 300;
}

#document article content code {
  color: var(--co-text);
}
#document article content pre {
  display: block;
}

#document article content a, #document article content a u {
  text-decoration: none;
}
#document article content a > img {
  margin: 0 auto
}

#document article content a:hover,
#document article content a:hover u {
  color: var(--co-pri);
  text-decoration: underline;
  
}

#document article content figure {
  margin: var(--ma-lrg) 0;
  display: flex;
  flex-direction: column;
}

#document article content blockquote {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  padding: 0;
  margin-top: var(--ma-lrg);
  margin-bottom: var(--ma-lrg);
  text-indent: var(--ma-lrg);
}

#document article content blockquote p {
  display: inline;
  margin-bottom: 0;
  font-style: italic;
}

#document article content figure img {
  width: 100%
}

#document article content figure figcaption,
#document article content figure figcaption p {
  font: var(--cs-lbl);
}

#document article content figure iframe,
#document article content iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

#document article content video.full {
  width: 100%;
  height: auto;
}

#document article content figure .twitter-tweet {
  align-self: center;
}

#document article content .kg-width-wide {

}

#document article content .kg-width-full {

}

#document article content ol,
#document article content ul {
  margin-left: var(--ma-reg);
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  margin-bottom: var(--ma-reg);
  display: block;
}

#document article content ul {
  list-style: disc;
}

#document article content ul li,
#document article content ol li {
  margin-bottom: var(--ma-sml);
}

#document article content ul li:last-child {
  margin-bottom: var(--ma-reg);
}

#document article content ol li,
#document article content ul li {
  padding-left: var(--ma-reg);
}

#document article content ol ol,
#document article content ul ol {
  list-style: lower-alpha;
}

#document article content ol ul,
#document article content ul ul {
  list-style: circle;
}

#document article content hr {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjYgMTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAxSDRWMkg1VjNINlY1SDVWNEg0VjVINVY2SDRWN0g1VjhINFY5SDVWMTBINFYxMUg1VjEySDRWMTNINVYxNEg0SDNIMlYxM0gzVjEySDJWMTFIM1YxMEgyVjlIM1Y4SDJWN0gzVjZIMlY1SDNWNEgyVjVIMVYzSDJWMkgzVjFaTTEgMTBWMTFIMlYxMEgxWk0xIDEwSDBWNUgxVjZIMlY3SDFWOEgyVjlIMVYxMFpNNiAxMEg3VjVINlY2SDVWN0g2VjhINVY5SDZWMTBaTTYgMTBWMTFINVYxMEg2WiIgZmlsbD0iIzAwMUZDRCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDBIMThWMkgxOVYwWk0xNSA1VjZIMTRWOUgxNVYxMFYxMUgxN1YxMkgyMFYxMUgyMlYxMFY5SDIzVjZIMjJWNVY0SDIwVjNIMTdWNEgxNVY1Wk0xNyA0SDIwVjVIMjFWNkgyMlY5SDIxVjEwSDIwVjExSDE3VjEwSDE2VjlIMTVWNkgxNlY1SDE3VjRaTTE4IDEzSDE5VjE1SDE4VjEzWk0yNCA3VjhIMjZWN0gyNFpNMTEgN0gxM1Y4SDExVjdaTTI0IDJIMjNWM0gyNFYyWk0yNCAySDI1VjFIMjRWMlpNMTMgMTNIMTJWMTRIMTNWMTNaTTEzIDEzSDE0VjEySDEzVjEzWk0xMyAxSDEyVjJIMTNWM0gxNFYySDEzVjFaTTI0IDEySDIzVjEzSDI0VjE0SDI1VjEzSDI0VjEyWiIgZmlsbD0iIzAwMUZDRCIvPgo8L3N2Zz4K");;
  border: none;
  height: 15px;
  margin-top: var(--ma-lrg);
  margin-bottom: var(--ma-lrg);
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
}

#document article content hr.footnotes-sep {
  display: none;
}

#document article content hr:after {
  content: ' ';
  width: 26px;
  height: 15px;
  display: block;
  position: absolute;
  left: calc(50% - (26px / 2));
}

/* Sidenotes */
#document article content .footnote-ref,
#document article content .footnote-ref a,
#document article content a[href^='#fn'],
#document article content span.fn {
  display: inline;

  text-decoration: none;
  background-color: none;
  background: linear-gradient(rgba(255, 255, 255, 0) 75%, var(--co-hllow) 75%);
  color: var(--co-text);
  cursor: default;
} 

#document article content .footnote-ref a:hover,
#document article content a[href^='#fn']:hover,
#document article content span.fn:hover {
  color: var(--co-text);
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, var(--co-hlght) 0%);
}

#document article content .clear-toggle {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: none;
}

#sidenotes-toggle[type='checkbox']:checked ~ #document article content .clear-toc-toggle {
  display: none;
}
#sidenotes-toggle[type='checkbox']:checked ~ #document article content .clear-sidenotes-toggle {
  display: block;
}

@media screen and (max-width: 990px) {
  #document #video-header #title {

    padding-left: calc(var(--ma-reg) + 0.5rem) !important;
    padding-right: calc(var(--ma-reg) + 0.5rem) !important;
  }
  #document article content {
    margin-left: calc(var(--ma-reg) + 0.5rem);
    margin-right: calc(var(--ma-reg) + 0.5rem);
    min-width: calc(100vw - 20.5rem - 44px);
  }
  #document article header #title #metadata li {
    width: calc((100% / 2) + (var(--ma-lrg)) - var(--ma-reg) / 2);
  }
  #document #contents {
    transition: margin 300ms ease-in-out;
  }
}
@media screen and (max-width: 767px) {
  #document article content {
    min-width: calc(100vw - 10rem - 44px);
  }

  #sidenotes-toggle[type='checkbox']:checked ~ #document #contents {
    margin-left: -14rem;
    opacity: 1;
  }
  #sidenotes-toggle[type='checkbox']:checked ~ #document article content {
    max-width: calc(100vw - 10rem - 44px);
  }
}

@media screen and (max-width: 481px) {
  #document article content {
    min-width: calc(100vw - 6rem - 44px);
    margin-left: calc(var(--ma-reg) + 0.5rem);
    margin-right: calc(var(--ma-reg) + 0.5rem);
  }

  #sidenotes-toggle[type='checkbox']:checked ~ #document #contents {
    margin-left: -17.5rem;
    opacity: 1;
  }
  #sidenotes-toggle[type='checkbox']:checked ~ #document article content {
    max-width: calc(100vw - 6rem - 44px);
  }
}

/* CTA */
#document #support {
  margin-top: var(--ma-lrg);
  padding-top: var(--ma-lrg);
  position: relative;
}


#document #support p {
  font: var(--cs-big);
}

#document.utility {
  margin-top: 8rem;
}

#document.utility .intro p {
  font-family: var(--ff-sans);
  font-size: 1.15rem;
  line-height: 1.5;
}

/* Feature classes */
#document #feature header {
  height: max-content;
  justify-content: center;
  margin-bottom: 0;
  min-height: 85vh;
}

#document #feature header #backdrop {
  background-color: var(--co-pri);
}

#document #feature header #backdrop img {
  mix-blend-mode: darken;
}

#document #feature header h1 {
  font-family: var(--ff-sans);
  font-variation-settings: 'wght' 800;
  margin-bottom: var(--ma-reg);
  color: var(--co-high);
  font-size: 10vh;
}

#document #feature #excerpt {
  font-family: var(--ff-sans);
  color: var(--co-hlght);
  display: block;
  z-index: 100;
  padding: var(--pd-reg);
  font: var(--cs-hg1);
  padding-top: calc(4rem + 4vw);
  padding-bottom: calc(3rem + 2vw);
  font-size: clamp(4rem, 5.5vh, 64rem);
  text-align: justify;
  line-height: clamp(1.5, 10vh, 64rem);
}

#document #feature #contents #feature-content {
  width: 100%;
  max-width: initial;
  margin-left: var(--ma-reg);
  margin-right: var(--ma-reg);
}

#document #feature #contents #feature-content #intro {
  width: 100%;
  max-width: initial;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-auto-flow: dense;
}

#document #feature #contents #feature-content .feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#document #feature #contents #feature-content .feature-text {
  font: var(--cs-big);
  text-align: justify;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  padding: var(--pd-lrg);
  gap: var(--pd-reg);
}

#document #feature #contents #feature-content .feature-text p {
  margin-bottom: 0
}

#document #feature #feature-content #intro .kg-gallery-card, 
#document #feature #feature-content #intro .kg-image-card {
  gap: 0;
  margin: 0 !important;
  width: 100%;
  height: 100%;
  display: block;
  mix-blend-mode: lighten;
  image-rendering: pixelated;
  filter: grayscale(1);
}

#document #feature #contents #feature-content .feature-text p {
  font: var(--cs-big);
}

#document #feature #contents #feature-content .feature-text.blue {
  color: var(--co-high);
  background-color: var(--co-pri);
}

#document #feature #contents #feature-content .feature-text.yellow {
  color: var(--co-pri);
  background-color: var(--co-hllow);
}

#document #feature #contents #feature-content .feature-text.wide{
  grid-column: span 2;
}

#document #feature #contents #feature-content .feature-text.two-up {
  justify-content: flex-start;
  margin-top: var(--ma-lrg);
  padding-top: var(--pd-sml);
  padding-bottom: var(--pd-sml);
}

#document #feature #contents #feature-content hr {
  margin: var(--ma-reg) 0;
}

#document #feature #contents #feature-content #team-list {
  width: 100%;
  max-width: initial;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-around;
}

#document #feature #contents #feature-content #team-list h2 {
  flex: 100%;
  font: var(--cs-hg1);
  font-weight: bold;
  text-align: center;
  width: 100%;
}


#document #feature #contents #feature-content #team-list .team-member {
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
}

#document #feature #contents #feature-content #team-list .team-member p {
  font: var(--cs-reg);
  padding-left: var(--pd-lrg);
  padding-right: var(--pd-lrg);
  text-align: justify;
}

#document #feature #contents #feature-content #team-list .team-member figure {
  margin-top: 0;
  margin-bottom: var(--ma-reg);
}

#document #feature #contents #feature-content #team-list .team-member figure img {
  object-fit: contain;
}

#document #feature #contents #feature-content #team-list table {
  width: inherit;
  margin: 0 var(--ma-lrg);
}

#document #feature #contents #feature-content #team-list table thead {
  display: none;
}

#document #feature #contents #feature-content #team-list table tbody tr {
  height: 3rem;
  font: var(--cs-reg);
}

#related {
  border-top: 1px solid var(--co-text);
  padding-top: var(--pd-lrg);
}

#related .signpost-small {
  z-index: 10;
}

#related .footer-menu {
  margin-top: 0;
}

/* Video */
.tag-essays #document.has-video #title h1,
.tag-essays #document.has-video #title ul li {
}

#document  #backdrop #video-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background-color: hsl(0, 0%, 25.9%);
  display: none;
}

.tag-essays #document.has-video  #backdrop #video-container  {
  display: initial;
}

#document #document-content #video-target {
  display: none;
}

/* This is for video transcripts */

#document  #backdrop #video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5
}

#document #video-header {
  padding: 0;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  background: black;
  position: relative;
}

#document #video-header  #video-container {
  position: fixed;
  top: 0;
  width: calc(100vw - 45px);
  left: 0;
  z-index: 100;
  max-height: 40vh;
}

#document #video-header #video-target {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  max-height: 40vh;
}

#document #video-header #title {
  padding-top: calc(40vh + 1rem);
  padding-left: var(--pd-lrg);
  padding-right: var(--pd-lrg);
}

#document .transcript mark {
  display: none !important;
}

#document .transcript p span:hover {
  text-decoration: underline dotted;
}

#document .transcript p span.current-timecode {
  color: rgb(231, 2, 238) !important;
  text-decoration: underline dotted;
}
#document .kg-bookmark-card .kg-bookmark-container,
#document .kg-file-card .kg-file-card-container {
  border-radius: 0;
  color: var(--co-text);
  transition: all .5s ease-out;
  background: linear-gradient(90deg,var(--co-pri) 50%,rgba(255,255,255,0) 50%);
  background-size: 205% 100%;
  background-position: 100% 0;
}

#document .kg-bookmark-card .kg-bookmark-container[href^='https://newdesigncongress.org'],
#document .kg-bookmark-card .kg-bookmark-container[href^='https://tv.undersco.re'],
#document .kg-file-card .kg-file-card-container {  
  border-color: var(--co-pri);
  color: var(--co-pri);

}

#document .kg-bookmark-card .kg-bookmark-container:hover,
#document .kg-file-card .kg-file-card-container:hover {
  color: var(--co-high);
  text-decoration: none;
  animation: highlight .5s 1 normal forwards
}

#document .kg-bookmark-content {
  padding: var(--pd-reg);
}

#document .kg-bookmark-card .kg-bookmark-content .kg-bookmark-title {
  color: var(--co-txt);
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  margin-top: .1rem;
  margin-bottom: .1rem;
  line-height: 1.2;
}

#document .kg-file-card .kg-file-card-contents .kg-file-card-title {
  font: var(--cs-lbl);
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: bold;
  margin-bottom: 0.2rem;
}

#document .kg-bookmark-card .kg-bookmark-content .kg-bookmark-description,
#document .kg-file-card .kg-file-card-contents .kg-file-card-caption {
  font: var(--cs-lbl);
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  max-height: inherit;
  font-weight: 400;
  opacity: 1
} 
#document .kg-bookmark-card .kg-bookmark-content  .kg-bookmark-metadata,
#document .kg-file-card .kg-file-card-contents .kg-file-card-metadata {
  margin-top: var(--ma-reg);
}

#document .kg-file-card .kg-file-card-contents .kg-file-card-metadata {
  display: flex;
}


#document .kg-bookmark-card .kg-bookmark-content  .kg-bookmark-metadata .kg-bookmark-icon {
  width: 1.2rem;
  height: 1.2rem;
}
#document .kg-bookmark-card .kg-bookmark-content  .kg-bookmark-metadata .kg-bookmark-author {
  font: var(--cs-lbl);
  font-weight: 700;
}
#document .kg-bookmark-card .kg-bookmark-content  .kg-bookmark-metadata .kg-bookmark-publisher {
  font: var(--cs-lbl);
}

#document .kg-file-card .kg-file-card-contents .kg-file-card-metadata .kg-file-card-filename {
  font: var(--cs-lbl);
  overflow: hidden;  
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  word-break: break-all;
  font-weight: 300;
}

#document .kg-file-card .kg-file-card-contents .kg-file-card-metadata .kg-file-card-filesize {
  font: var(--cs-lbl);
  flex: 1 1 auto;
  min-width: fit-content;
}

#document .kg-file-card .kg-file-card-icon {
  border: 1px solid var(--co-pri);
  border-radius: 0px;
  padding: 1px;
  box-sizing: border-box;
}
#document .kg-file-card:hover .kg-file-card-icon {
  border: 1px solid var(--co-high);
}

#document .kg-file-card:hover .kg-file-card-icon svg {
  color: var(--co-high)
}

#document .transcript .current-timecode * {
  color: rgb(231, 2, 238) !important;
}

#document .kg-file-card ~ h2 {
  margin-top: var(--ma-reg);
}

span[data-timecode-start], span[data-timecode-end] {
  cursor: pointer;
}


/* Modifications for body */

@media screen and (max-width: 960px) {
  #document #feature #contents #feature-content .feature-text {
    padding: var(--pd-reg);
  }

  #document #feature #contents #feature-content #team-list .team-member p {
    padding: 0 var(--pd-reg);
  }

  #document #feature #contents #feature-content #team-list table {
    margin: 0 var(--ma-reg);
  }


  #document #feature #contents #feature-content .feature-text p {
    font-size: 1.25rem;
  }

  #document #feature #contents #feature-content #team-list {
    gap: var(--ma-reg);
  }

  #document #feature #contents #feature-content #team-list .team-member {
    flex-basis: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 740px) {
  #document #feature #excerpt {
    font-size: 2rem;
    line-height: 4rem;
  }

  #document #feature #contents #feature-content #intro,
  #document #feature #contents #feature-content #team-list {
    display: flex;
    flex-direction: column;
  }
  #document #feature #contents #feature-content .feature-text {
    padding: var(--pd-lrg) var(--pd-reg);
  }
  #document #feature #contents #feature-content .feature-text.two-up {
    margin-top: 0;
    padding: var(--pd-lrg) 0;
  }

  #document #feature #contents #feature-content .feature-text.two-up:nth-child(even) {
    padding-top: 0;
  }

  #document #feature #contents #feature-content .feature-text.two-up:nth-child(odd) {
    padding-bottom: var(--pd-reg);
  }
  #document #feature #contents #feature-content #team-list .team-member p {
    padding: 0;
  }

  #document #feature #contents #feature-content #team-list table {
    margin: 0;
  }
}

/* Full-bleed breakout from content container */
#document article content .full-bleed {
  width: 100vw;
  margin-left: calc(-1 * (var(--ma-lrg) + 10rem + var(--ma-reg)));
  transition: margin 300ms ease-in-out;
}
@media screen and (max-width: 990px) {
  #document article content .full-bleed {
    margin-left: calc(-1 * (var(--ma-lrg) + 0rem + var(--ma-reg)));
  }

  #toc-toggle[type='checkbox']:checked ~ #document article content .full-bleed {
    margin-left: calc(-1 * (var(--ma-lrg) + 10rem + var(--ma-reg)));
  }

}

#sidenotes-toggle[type='checkbox']:checked ~ #document article content .full-bleed {
  margin-left: calc(-1 * (var(--ma-lrg) + -10rem + var(--ma-reg)));
}

@media screen and (min-width: 1680px) {
  #document article #contents {
    justify-content: center;
  }
}
/* --- ndc-email.css --- */
#ndc-email #document {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#ndc-email #email-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2rem;
  max-width: 50rem;
  margin: 2rem 2rem 0rem 2rem;
  text-align: center;
}

#ndc-email #email-header #cable-logo {
  width: 56px;
  height: 56px;
  padding: var(--pd-sml);
  background-color: var(--co-pri);
  color: var(--co-high);
  margin-bottom: var(--ma-sml);
}

#ndc-email #email-header #newsletter-title {
  font: var(--cs-reg);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--co-pri);
  margin-bottom: var(--ma-lrg);
}

#ndc-email #email-header h1 {
  font: var(--cs-hg2);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  margin-bottom: var(--ma-tny);
  line-height: 1.25;
} 
#ndc-email #email-header #dated,
#ndc-email #email-header #dated button {
  font: var(--cs-reg);
  text-transform: uppercase;
}

#ndc-email #email-header #dated a,
#ndc-email #email-header #dated button {
  color: var(--co-text);
  margin-bottom: var(--ma-reg);
  border: none;
  background: none;
  text-decoration: underline;
}
#ndc-email article {
  border: 1px solid var(--co-text);
  max-width: 50rem;
  margin: 2rem 2rem 4rem 2rem;
  text-align: justify;
}

#ndc-email article #email-header img{
  width: 100%;  
}
#ndc-email article #intro {
  font: var(--cs-reg);
}

#ndc-email article #email-header {
  border: 1px solid var(--co-high);
  margin-bottom: 2rem;
}

#ndc-email article content {
  display: block;
  padding-bottom: var(--pd-lrg);
  font: var(--cs-reg);
}

#ndc-email article content p {
  font: var(--cs-reg);
  line-height: var(--lh-lrg);
  margin-bottom: var(--ma-sml);

}
#ndc-email article content h1,
#ndc-email article content h2 {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  text-align: center;
}

#ndc-email article content h1 {
  font-size: 2.5rem;
  letter-spacing: var(--ls-seri-h1);
}
#ndc-email article content h2 {
  font-size: 1.85rem;
}
#ndc-email article content h2 strong {
  font-weight: normal !important;
}

#ndc-email article content h3 {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  font-size: 1.5rem;
  margin-bottom: 0.05rem;
  text-align: left;
}

#ndc-email article content blockquote {
  font: var(--cs-reg);
}
#ndc-email article content figure {
  margin: var(--ma-reg) 0;
}
#ndc-email article figcaption {
  text-align: center;
}
/* --- ndc-sidenotes.css --- */
#sidenotes-toggle[type='checkbox'] {
  z-index: 2;
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
}

#sidenotes {
  font: var(--cs-tny);
  line-height: var(--fs-sml) / var(--lh-reg);
  margin-right: var(--ma-reg);
  min-width: 15rem;
  max-width: 16.5rem;
  position: relative;
  display: none;
}

#sidenotes.enabled {
  display: initial;
}

#sidenotes .sidenote {
  position:relative;
  width: -webkit-fill-available;
  width: 100%;
  margin-bottom: var(--ma-sml);
  z-index: 50;
  transition: all 200ms; 
}

#sidenotes.sidenote-hover .sidenote {
  opacity: 0.5
}

#sidenotes .sidenote label {
  display: block;
}

#sidenotes .sidenote a {
  color: var(--co-pri);
}

#sidenotes .sidenote a:hover {
  text-decoration: underline;
}

#sidenotes.sidenote-hover .sidenote.sidenote-hover {
  opacity: 1 !important
}

#sidenotes .sidenote-cover-switch {
  position: absolute;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 999;
}

#sidenotes .sidenote-container {
  position: relative;
  display: flex;
  flex-direction: column;
}

#sidenotes .fn-book img {
  float: left;
  max-width: 4rem;
  margin-right: var(--ma-sml);
}

#sidenotes .fn-image img {
  width: 100%;
  margin-bottom: var(--ma-tny);
}


#sidenotes .fn-video video {
  height: auto;
  width: 100%;
}

#sidenotes .ndc {
  border: 1px solid var(--co-pri);
  padding: 0.5rem;
}

#sidenotes.is-hovered .sidenote {
  opacity: 0.2;
  filter: grayscale(1)
}
#sidenotes.is-hovered .sidenote.hover,
#sidenotes .sidenote:hover {
  opacity: 1;
  filter: grayscale(0) !important;
}


@media screen and (max-width: 769px) {
  #sidenotes {
    opacity: 0.5;
  }

  #sidenotes-toggle[type='checkbox']:checked ~ #document #sidenotes {
    opacity: 1;
  }
  

  #sidenotes .sidenote-cover-switch {
    display: initial;
  }

  #sidenotes-toggle[type='checkbox']:checked ~ #document article content .clear-toc-toggle {
    display: none;
  }

}


/* --- ndc-membership.css --- */
#membership article {
  line-height: var(--lh-reg);
}

#membership article header,
.page-join-orgs #feature header {
  width: -webkit-fill-available;
  position: relative;
  margin: var(--ma-reg);
  margin-bottom: var(--ma-reg);
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  background-color: hsl(231,100%,40%);
  color: var(--co-high);
}

#membership article header#sign-in {
  justify-content: flex-start;
  height: calc(100dvh - (var(--ma-reg) * 2));
} 

#membership article header#sign-in p {
  margin-bottom: var(--ma-sml)
}

#membership article header#sign-in input {
  width: 100%;
  font: var(--cs-hg1);
  color: inherit;
  height: 5rem;
  background: none;
  border: none;
  text-transform: uppercase;
  margin-top: var(--ma-lrg);
  outline: none;
}

#membership article header#sign-in button {
  font: var(--cs-big);
  color: var(--co-pri);
  background: none;
  border: none;
  margin-top: var(--ma-reg);
  outline: none;
  background: var(--co-high);
  padding: 0.5rem 1rem;
  text-transform: uppercase;
  margin-right: var(--ma-sml);
  cursor: pointer;
}

#membership article header#sign-in a {
  font: var(--cs-big);
  text-decoration: underline;
}

#membership article header#sign-in img {
  filter: contrast(0.25) !important;
}

#membership article header h1,
.page-join-orgs #feature header h1 {
  font: var(--cs-msv2);
  font-family: var(--ff-sans);
  font-variation-settings: 'wght' 600;
  margin-bottom: var(--ma-reg);

}

#membership article header p,
.page-join-orgs #feature header p {
  font: var(--cs-hg1);
}

#membership article header a {
  color: var(--co-high);
}

#membership article header p em ,
.page-join-orgs #feature header p em {
  font: var(--cs-hg1);
  font-variation-settings: 'wght' 600;
  display: inline-block;
}

#membership article header #title,
.page-join-orgs article header #title {
  position: relative;
  z-index: 2;
  padding: var(--ma-reg);
  padding-top: calc(4rem + 6vw);
  padding-bottom: calc(3rem + 6vw);
  width: 76ch;
}

#membership article header #backdrop,
.page-join-orgs article header #backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

#membership article header #backdrop > div,
.page-join-orgs article header #backdrop > div {
  height: 100%;
}

#membership article header #backdrop img,
.page-join-orgs article header #backdrop img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  mix-blend-mode: multiply;
  filter: grayscale(100) contrast(1.15);
  z-index: 2;
  position: relative;
  transition: all 0.2s ease-in-out;
}

#membership article header #title #metadata p,
.page-join-orgs article header #title #metadata p  {
  font-family: var(--ff-sans);
  font-variation-settings: 'wght' 500;
}

#membership article header #title #metadata a
.page-join-orgs article header #title #metadata a {
  color: var(--co-text);
  text-decoration: underline;
}  
/* Global document layouts */
#membership article #contents {
  display: flex;
  margin-left: 0;
  margin-bottom: var(--ma-hge);
  flex-direction: row;
  justify-content: center;
  padding-top: var(--pd-reg);
}

#membership article content >:first-child {
  margin-top: 0 !important;
}

#membership article content {
  max-width: 72ch;
  margin-left: var(--ma-reg);
  margin-right: var(--ma-reg);
  font-kerning: normal;
  position: relative;
}

#membership article content h1 {
  font: var(--cs-hg1);
  font-variation-settings: 'wght' 700;
  margin-bottom: var(--ma-sml);
}

#membership article content h2 {
  font: var(--cs-big);
  font-variation-settings: 'wght' 700;
  margin-top: var(--ma-reg);
  margin-bottom: var(--ma-sml);
}

#membership article content h3 {
  font-family: var(--ff-sans);
  font-size: 1.25rem;
  margin-bottom: var(--ma-sml);
  letter-spacing: normal;
  font-variation-settings: 'wght' 550;
}

#membership article content h4 {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: var(--ma-sml);
}

#membership article content p {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri);
  margin-bottom: var(--ma-reg);
}

#membership article content a, #membership article content a u {
  display: inline;
  transition: all 200ms ease-out;
  text-decoration: none;
  background-color: none;
  background: linear-gradient(90deg, var(--co-pri) 50%, rgba(255, 255, 255, 0) 50%);
  background-size: 205% 100%;
  background-position: 100% 0;
}

#membership article content hr {
  background: none;
  border: none;
  height: 16px;
  margin-top: var(--ma-lrg);
  margin-bottom: var(--ma-lrg);
}

#membership article content hr:after {
  content: ' ';
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjYgMTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAxSDRWMkg1VjNINlY1SDVWNEg0VjVINVY2SDRWN0g1VjhINFY5SDVWMTBINFYxMUg1VjEySDRWMTNINVYxNEg0SDNIMlYxM0gzVjEySDJWMTFIM1YxMEgyVjlIM1Y4SDJWN0gzVjZIMlY1SDNWNEgyVjVIMVYzSDJWMkgzVjFaTTEgMTBWMTFIMlYxMEgxWk0xIDEwSDBWNUgxVjZIMlY3SDFWOEgyVjlIMVYxMFpNNiAxMEg3VjVINlY2SDVWN0g2VjhINVY5SDZWMTBaTTYgMTBWMTFINVYxMEg2WiIgZmlsbD0iIzAwMUZDRCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDBIMThWMkgxOVYwWk0xNSA1VjZIMTRWOUgxNVYxMFYxMUgxN1YxMkgyMFYxMUgyMlYxMFY5SDIzVjZIMjJWNVY0SDIwVjNIMTdWNEgxNVY1Wk0xNyA0SDIwVjVIMjFWNkgyMlY5SDIxVjEwSDIwVjExSDE3VjEwSDE2VjlIMTVWNkgxNlY1SDE3VjRaTTE4IDEzSDE5VjE1SDE4VjEzWk0yNCA3VjhIMjZWN0gyNFpNMTEgN0gxM1Y4SDExVjdaTTI0IDJIMjNWM0gyNFYyWk0yNCAySDI1VjFIMjRWMlpNMTMgMTNIMTJWMTRIMTNWMTNaTTEzIDEzSDE0VjEySDEzVjEzWk0xMyAxSDEyVjJIMTNWM0gxNFYySDEzVjFaTTI0IDEySDIzVjEzSDI0VjE0SDI1VjEzSDI0VjEyWiIgZmlsbD0iIzAwMUZDRCIvPgo8L3N2Zz4K");
  width: 26px;
  height: 15px;
  display: block;
  position: absolute;
  left: calc(50% - (26px / 2));
}

#membership #membership-options {
  padding: 0 var(--pd-reg);
  margin-bottom: var(--ma-lrg);
  display: flex;
  align-items: stretch;
  gap: var(--pd-sml);
}
#membership #membership-options #individual-tiers  {
  flex-basis: 66.66%;
}
#membership #membership-options #other-memberships  {
  flex-basis: 33.33%;
  font: var(--cs-reg);
  display: flex;
  flex-direction: column;
  gap: var(--ma-sml);
}

#membership #membership-options #other-memberships .other-membership-options {
  border: 1px solid var(--co-pri); 
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 12px;
  padding-right: 20%;
  transition: all 200ms;
}

#membership #membership-options #other-memberships .other-membership-options h4 {
  font-weight: bold;
}

#membership #membership-options #other-memberships .other-membership-options:hover,
#membership #membership-options #other-memberships #donate-button input:hover ~ a {
  color: var(--co-high);
  background-color: var(--co-pri);
  font-weight: 600;
}


#membership #membership-options #other-memberships .other-membership-options .icon-arrow {
  width: 2rem;
  height: 2rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
  transition: all 200ms;
}

#membership #membership-options #other-memberships .other-membership-options .icon-buildings,
#membership #membership-options #other-memberships .other-membership-options .icon-donate  {
  width: 3rem;
  height: 3rem;
}
#membership #membership-options #other-memberships #individual-donate-button,
#membership #membership-options #other-memberships #org-memberships-button {
  flex: 40%;
}
#membership #membership-options #other-memberships #donate-button {
  position: relative;
}

#membership #membership-options #other-memberships #donate-button #paypal-button {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 20;
}
#membership #membership-options #other-memberships .other-membership-options:hover .icon-arrow,
#membership #membership-options #other-memberships #donate-button input:hover ~ a .icon-arrow  {
  top: 0.25rem;
  right: 0.25rem;
}

#membership #membership-options #other-memberships #free-membership-button {
  flex: 20%;

}

#membership #membership-options #other-memberships #free-membership p:last-child {
  margin-top: var(--ma-reg);
}

/* Individual Tier system */
#tier-switcher {
  width: 100%;
  display: flex;
  flex-direction: row;
  background: var(--co-fn);
  padding: 0.4rem;
  justify-content: stretch;
  font: var(--cs-reg);
  font-weight: var(--fw-med);
  margin-bottom: var(--ma-reg);
}

 #tier-details .tier-join-button {
  display: block;
}

#tier-switcher .tier-option {
  flex-basis: 50%;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  cursor: pointer;
  
}
#tier-switcher .tier-option label {
  padding: 0.35rem;
  flex-basis: 100%;
  cursor: pointer;
}

#tier-details {
  display: flex;
  flex-direction: row;
  list-style: none;
  gap: var(--pd-sml);
  height: 100%;
}

#tier-details .tier {
  background: var(--co-fn);
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 200ms;
  position: relative;
  cursor: pointer;
  border: 1px solid var(--co-pri);
}

#tier-details .tier:hover {
  background-color: var(--co-pri);
  color: var(--co-high);
}

#tier-details .tier .tier-header {
  padding: var(--pd-sml);
  padding-top: var(--pd-hge);
  border-bottom: 1px solid var(--co-high);
  transition: all 50ms;
  position: relative;
  background-color: var(--co-pri);
}

#tier-details .tier .tier-header .tier-header-title {
  z-index: 10;
  position: relative;
  mix-blend-mode: difference;
}

#tier-details .tier .tier-header .tier-header-background {
  background-size: cover;
  background-position: center;
  background-blend-mode: revert;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  mix-blend-mode: soft-light;
}

#tier-details .tier.tier-individual .tier-header .tier-header-background,
#tier-details .tier.tier-default-product .tier-header .tier-header-background {
  background-image: url('../images/individual.gif');
}

#tier-details .tier.tier-individual-plus .tier-header .tier-header-background  {
  background-image: url('../images/individual-plus.gif');
}

#tier-details .tier:hover .tier-header {
  border-bottom: 1px solid rgba(47, 0, 255, 0);
}

#tier-details .tier:hover .tier-header .tier-header-background {
  mix-blend-mode: exclusion;
}


#tier-details .tier.tier-individual:hover .tier-header .tier-header-background,
#tier-details .tier.tier-default-product:hover .tier-header .tier-header-background
 {
  background-image: url('../images/individual-animated.gif');
}

#tier-details .tier.tier-individual-plus:hover .tier-header .tier-header-background {
  background-image: url('../images/individual-plus-animated.gif');
}

#tier-details .tier .tier-header .icon {
  display: inline-block;
  width: 4.5rem;
  height: 2rem;
  position: absolute;
  top: 1.5rem;
  right: var(--ma-sml);
  color: var(--co-high);
  opacity: 0;
  transition: all 200ms;
  text-align: right;
}

#tier-details .tier .tier-header .icon svg {
  width: 1.5rem;
}

#tier-details .tier:hover .tier-header .icon {
  top: var(--ma-sml);
  color: var(--co-high);
  opacity: 1;
}
#tier-details .tier .tier-header h2 {
  text-transform: uppercase;
  font: var(--cs-hg2);
  letter-spacing: var(--ls-seri-h1);
  margin-bottom: 0.2rem;
  background-color: var(--co-high);
  display: inline-block;
  padding: 0.75rem 0.25rem 0.2rem 0.25rem;
  color: var(--co-pri);
}

#tier-details .tier .tier-benefits p {
  font: var(--cs-reg);
  margin-bottom: var(--ma-sml);
}

#tier-details .tier .tier-benefits {
  padding: var(--pd-sml);
  font: var(--cs-reg);
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
}

#tier-details .tier .tier-benefits ul {
  list-style-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDYgMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwSDJWMkg0VjRINlY2SDRWOEgyVjEwSDBWOEgyVjZINFY0SDJWMkgwVjBaIiBmaWxsPSIjMDAxRkNEIi8+Cjwvc3ZnPgo=');
  margin-left: calc(var(--ma-sml) - 2px);
  margin-bottom: var(--ma-sml);
  flex-basis: 100%;
}

#tier-details .tier:hover .tier-benefits ul {
  list-style-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDYgMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwSDJWMkg0VjRINlY2SDRWOEgyVjEwSDBWOEgyVjZINFY0SDJWMkgwVjBaIiBmaWxsPSIjZjBmMmY1Ii8+Cjwvc3ZnPgo=') !important;
}

#tier-details .tier .tier-benefits ul li {
  margin-bottom: var(--ma-sml);
  padding-left: 0.25rem;
}

#tier-details .tier .tier-benefits a {
  width: 100%;
  font: var(--cs-reg);
  color: var(--co-high);
  background-color: var(--co-pri);
  border: 1px solid var(--co-pri);
  font-weight: bold;
  padding: 0.25rem;
  cursor: pointer;
  text-align: center;
}

#tier-details .tier:hover .tier-benefits a {
  border: 1px solid var(--co-high);

}

/* Orgs, most of this is the same as #feature */

#membership #contents #feature-content {
  width: 100%;
  max-width: initial;
  margin-left: var(--ma-reg);
  margin-right: var(--ma-reg);
}

#membership #contents #feature-content #intro {
  width: 100%;
  max-width: initial;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-auto-flow: dense;
}

#membership #contents #feature-content .feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#membership #contents #feature-content .feature-text {
  font: var(--cs-big);
  text-align: justify;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  padding: var(--pd-lrg);
  gap: var(--pd-reg);
}

#membership #contents #feature-content .feature-text p {
  margin-bottom: 0
}

#membership #contents #feature-content .kg-gallery-card, 
#membership #contents #feature-content .kg-image-card {
  gap: 0;
  margin: 0 !important;
  width: 100%;
  height: 100%;
  display: block;
  mix-blend-mode: lighten;
  image-rendering: pixelated;
  filter: grayscale(1);
}

#membership #contents #feature-content .feature-text p {
  font: var(--cs-big);
  color: var(--co-text);
}

#membership #contents #feature-content .feature-text.blue {
  color: var(--co-high);
  background-color: var(--co-pri);
}

#membership #contents #feature-content .feature-text.yellow {
  color: var(--co-pri);
  background-color: var(--co-hllow);
}

#membership #contents #feature-content .feature-text.wide{
  grid-column: span 2;
}

#membership #contents #feature-content .feature-text.two-up {
  justify-content: flex-start;
  margin-top: var(--ma-reg);
  padding-top: var(--pd-sml);
  padding-bottom: var(--pd-sml);
}

#membership #contents #feature-content .org-membership-details {
  display: flex;
  flex-direction: column;
  padding: var(--pd-lrg);
}

#membership #contents #feature-content .org-membership-details p {
  font: var(--cs-reg);
  letter-spacing: 0;
  color: var(--co-text);
}

#membership #contents #feature-content table {
  margin: 0 0 var(--ma-reg) 0;
  border: 1px solid var(--co-pri);
  
}

#membership #contents #feature-content table thead {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  color: var(--co-pri);
  border-bottom: 1px solid var(--co-pri);

}

#membership #contents #feature-content table thead tr th:first-child {
  text-align: left;
}

#membership #contents #feature-content table thead tr th {
  text-align: right;
  padding: var(--pd-sml);
}

#membership #contents #feature-content table tbody tr {
  height: 3rem;
  font: var(--cs-reg);
  color: var(--co-text);
}

#membership #contents #feature-content table tbody tr td:first-child {
  text-align: left;
  font-family: var(--ff-sans);
  max-width: 20ch;
}

#membership #contents #feature-content table tbody tr td {
  text-align: right;
  font-family: var(--ff-mono);
  font-variation-settings: var(--fvs-mono);
  padding: var(--pd-sml);
}

#membership #contents #feature-content ul {
  list-style-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDYgMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwSDJWMkg0VjRINlY2SDRWOEgyVjEwSDBWOEgyVjZINFY0SDJWMkgwVjBaIiBmaWxsPSIjMDAxRkNEIi8+Cjwvc3ZnPgo=');
  margin-left: calc(var(--ma-sml) - 2px);
  margin-bottom: var(--ma-sml);
  flex-basis: 100%;
  font: var(--cs-reg);
}

#membership #contents #feature-content ul li {
  padding-left: var(--ma-reg);
}


#membership .kg-btn {
  width: 100%;
  font: inherit;
  font-weight: bold;
  padding: 0.375rem 0.25rem 0.75rem 0.25rem;
  cursor: pointer;
  text-align: center;
  border: 1px solid var(--co-pri);
  background-color: var(--co-high);
  color: var(--co-pri);
  font-weight: 400;
  display: block;
  height: auto;
}

#membership .kg-btn:hover {
  background-color: var(--co-pri);
  border: 1px solid var(--co-pri);
  color: var(--co-high);
}

@media screen and (max-width: 1000px) {
  #membership #membership-options {
    padding-left: var(--pd-reg);
    padding-right: var(--pd-reg);
  }
  #membership #membership-options {
    flex-wrap: wrap;
  }

  #membership #membership-options #individual-tiers {
    flex-basis: 100%;
  }
  #membership #membership-options #other-memberships {
    flex-basis: 100%;
  }
  #membership #contents #feature-content #intro {
    display: flex;
    flex-direction: column;
  }
  #membership #contents #feature-content .feature-text.two-up {
    margin-top: var(--ma-sml);
  }
  #membership #contents #feature-content .feature-text {
    padding: var(--pd-reg) var(--pd-sml);
  }

  #membership #contents #feature-content .feature-text p {
    font-size: 1.25rem;
  }

  #membership #contents #feature-content .org-membership-details {
    padding: var(--pd-lrg) var(--pd-sml);
  }
}

@media screen and (max-width: 740px) {
  #membership #membership-options #individual-tiers #tier-details {
    flex-direction: column;
  }

  #membership #contents #feature-content .feature-text {
    padding: var(--pd-lrg) var(--pd-reg);
  }
  #membership #contents #feature-content .feature-text.two-up {
    margin-top: 0;
    padding: var(--pd-sml) 0;
  }

  #membership #contents #feature-content .feature-text.two-up:nth-child(even) {
    padding-top: 0;
  }

  #membership #contents #feature-content .feature-text.two-up:nth-child(odd) {
    padding-bottom: var(--pd-reg);
  }

  #membership #contents #feature-content .org-membership-details {
    padding-left: 0;
    padding-right: 0;
  }

}
/* --- ndc-timeline.css --- */
#timeline article {
  margin-top: calc(var(--ma-hge) + 5px);
}

#timeline #timeline-title {
  text-transform: capitalize;
  font: var(--cs-hg1);
  color: var(--co-text);
  margin: 0 var(--ma-reg) var(--ma-sml) var(--ma-reg);
}

#timeline #description {
  padding: 0 calc(1rem * var(--lh-reg));
  font: var(--cs-reg);
  max-width: 48ch;
  margin-bottom: var(--ma-reg);
}

#timeline #timeline-table {
  display: flex;
  flex-direction: column;
  width: 100%;
}

#timeline #timeline-table #timeline-table-header {
  border-top: 1px solid var(--co-text);
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
  position: sticky;
  top: 0;
  background-color: var(--co-high);
  z-index: 50;
}

#timeline #timeline-table #timeline-table-header div {
  text-transform: uppercase;
  font: var(--cs-lbl);
  font-weight: 600;
  margin-top: 0
}

#timeline #timeline-table .timeline-row {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid var(--co-text);
  align-items: center;
  gap: 0 0.5rem;
  padding: var(--pd-reg) calc(var(--ma-reg));
}

#timeline #timeline-table a.timeline-row:hover,
#timeline #timeline-table a.timeline-row:focus {
  background-color: var(--co-hlght);
  outline: none;
}

#timeline #timeline-table a.timeline-row:hover div,
#timeline #timeline-table a.timeline-row:focus div {
  color: var(--co-pri);
}

#timeline #timeline-table .timeline-row .type {
  min-width: 9.25rem;
  flex: 0;
  position: sticky;
  top: 0;  
}

#timeline #timeline-table .timeline-row .type div {
  margin-bottom: 0;
  padding: 0;
  background: none;
}

#timeline #timeline-table .timeline-row .authors {
  font: var(--cs-lbl);
  color: var(--co-text);
  margin-top: 1px;
  flex: 15%;
}

#timeline #timeline-table .timeline-row .authors span {
  display: inline-block;
}

#timeline #timeline-table .timeline-row .title {
  font: var(--cs-txt);
  letter-spacing: var(--ls-seri-h1);
  text-transform: uppercase;
  width: 55%;
  color: var(--co-text);
  margin-right: var(--ma-sml);
}

#timeline #timeline-table .timeline-row .date {
  margin-left: auto;
  min-width: 6.5rem;
  font: var(--cs-lbl);
  text-align: right;
  color: var(--co-text);
  margin-top: 1px;
}

#timeline #timeline-table .timeline-row .date .short {
  display: none;
}

@media screen and (max-width: 960px) {

  #timeline #timeline-table .type {
    min-width: 2rem !important;
  }

  #timeline #timeline-table .timeline-row .type .label {
    display: none;    
  }

  #timeline #timeline-table .timeline-row .date .long {
    display: none;
  }
  
  #timeline #timeline-table .timeline-row .date .short {
    display: block;
    min-width: 4.25rem;
  }
}

@media screen and (max-width: 640px) {

  #timeline #timeline-table .authors {
    display: none;
  }
}
/* --- ndc-themes.css --- */
/* Theme tweaks*/
@media screen {
  body.tag-hash-dark-essay,
  body.tag-hash-dark-essay #ndc-logo,
  body.tag-hash-dark-essay #ndc-logo a,
  body.tag-hash-dark-essay #spine,
  body.tag-hash-dark-essay #spine .series li .label,
  body.tag-hash-dark-essay #spine .item, 
  body.tag-hash-dark-essay #spine .item.predrop, 
  body.tag-hash-dark-essay #related .signpost-label {
    background: var(--co-text);
  }

  body.tag-hash-fancy-essay,
  body.tag-hash-fancy-essay #ndc-logo,
  body.tag-hash-fancy-essay #ndc-logo a,
  body.tag-hash-fancy-essay #spine,
  body.tag-hash-fancy-essay #spine .series li .label,
  body.tag-hash-fancy-essay #spine .item, 
  body.tag-hash-fancy-essay #spine .item.predrop, 
  body.tag-hash-fancy-essay #related .signpost-label {
    background: #e2eefd;
  }

  body.tag-hash-fancy-essay #spine .item.membership .actions span, body.tag-hash-fancy-essay #spine .item.membership .actions span a, body.tag-hash-fancy-essay #spine .item.membership {
    color: var(--co-text);
  }

  body.tag-hash-fancy-essay #spine .item.menu:hover,
  body.tag-hash-fancy-essay #spine .item.search:hover,
  body.tag-hash-fancy-essay #spine .item.export:hover,
  body.tag-hash-fancy-essay #spine .item.contact:hover {
    background: var(--co-pri);
    color: var(--co-high) !important;
  }

  body.tag-hash-dark-essay #document header .signpost-label {
    color: var(--co-high);
    border: 1px solid var(--co-high);
    background: transparent;
  }

  body.tag-hash-dark-essay #document-content,
  body.tag-hash-dark-essay #document-content a,
  body.tag-hash-dark-essay #ndc-logo a,
  body.tag-hash-dark-essay #related,
  body.tag-hash-dark-essay #related .nav-slice-item:hover > a,
  body.tag-hash-dark-essay #related .meta .title,
  body.tag-hash-dark-essay #related .meta .intro,
  body.tag-hash-dark-essay #related .signpost-small,
  body.tag-hash-dark-essay #spine,
  body.tag-hash-dark-essay #spine .series li .label,
  body.tag-hash-dark-essay #spine .item,
  body.tag-hash-dark-essay #spine .tools,
  body.tag-hash-dark-essay #spine .index,
  body.tag-hash-dark-essay #spine .tools .membership,
  body.tag-hash-dark-essay #toc, 
  body.tag-hash-dark-essay #toc-button,
  body.tag-hash-dark-essay #document #toc .contents-header .top,
  body.tag-hash-dark-essay #sidenotes .ndc,
  body.tag-hash-dark-essay #spine .last .item {  
    color: var(--co-high);
    border-color: var(--co-high);
  }

  body.tag-hash-dark-essay #related a {
    color: var(--co-high);

  }
  body.tag-hash-dark-essay #related a:hover,
  body.tag-hash-dark-essay #document-content a:hover {
    color: white;
  }
  
  body.tag-hash-dark-essay #document-content a,
  body.tag-hash-dark-essay #related #follow-us a,
  body.tag-hash-dark-essay #related footer a {
    text-decoration: underline;
  }

  body.tag-hash-dark-essay #document-content hr {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjYgMTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAxSDRWMkg1VjNINlY1SDVWNEg0VjVINVY2SDRWN0g1VjhINFY5SDVWMTBINFYxMUg1VjEySDRWMTNINVYxNEg0SDNIMlYxM0gzVjEySDJWMTFIM1YxMEgyVjlIM1Y4SDJWN0gzVjZIMlY1SDNWNEgyVjVIMVYzSDJWMkgzVjFaTTEgMTBWMTFIMlYxMEgxWk0xIDEwSDBWNUgxVjZIMlY3SDFWOEgyVjlIMVYxMFpNNiAxMEg3VjVINlY2SDVWN0g2VjhINVY5SDZWMTBaTTYgMTBWMTFINVYxMEg2WiIgZmlsbD0iI0YwRjJGNSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDBIMThWMkgxOVYwWk0xNSA1VjZIMTRWOUgxNVYxMFYxMUgxN1YxMkgyMFYxMUgyMlYxMFY5SDIzVjZIMjJWNVY0SDIwVjNIMTdWNEgxNVY1Wk0xNyA0SDIwVjVIMjFWNkgyMlY5SDIxVjEwSDIwVjExSDE3VjEwSDE2VjlIMTVWNkgxNlY1SDE3VjRaTTE4IDEzSDE5VjE1SDE4VjEzWk0yNCA3VjhIMjZWN0gyNFpNMTEgN0gxM1Y4SDExVjdaTTI0IDJIMjNWM0gyNFYyWk0yNCAySDI1VjFIMjRWMlpNMTMgMTNIMTJWMTRIMTNWMTNaTTEzIDEzSDE0VjEySDEzVjEzWk0xMyAxSDEyVjJIMTNWM0gxNFYySDEzVjFaTTI0IDEySDIzVjEzSDI0VjE0SDI1VjEzSDI0VjEyWiIgZmlsbD0iI0YwRjJGNSIvPgo8L3N2Zz4=')
  }

  body.tag-hash-dark-essay #spine .item:hover,
  body.tag-hash-dark-essay #spine .item.membership,
  body.tag-hash-dark-essay #spine .item.predrop .signpost-icon,
  body.tag-hash-dark-essay #spine .item.predrop,
  body.tag-hash-dark-essay #spine ul li .item .actions span, 
  body.tag-hash-dark-essay #spine ul li .item .actions span a {
    color: var(--co-pri) !important;
    background-color: var(--co-high);
  }

  body.tag-hash-dark-essay #sidenotes,
  body.tag-hash-dark-essay #sidenotes a {
    color: var(--co-high);
  }
  body.tag-hash-dark-essay #sidenotes .sidenote {
    filter: grayscale(1)
  }

  body.tag-hash-dark-essay #document article content .footnote-ref, 
  body.tag-hash-dark-essay #document article content .footnote-ref a, 
  body.tag-hash-dark-essay #document article content a[href^="#fn"], 
  body.tag-hash-dark-essay #document article content span.fn {
    color: var(--co-high);
  }

  body.tag-hash-dark-essay #document article content .footnote-ref:hover, 
  body.tag-hash-dark-essay #document article content .footnote-ref a:hover, 
  body.tag-hash-dark-essay #document article content a[href^="#fn"]:hover, 
  body.tag-hash-dark-essay #document article content span.fn:hover {
    color: var(--co-pri);
  }
  body.tag-hash-dark-essay #sidenotes a {
    text-decoration: underline;
  }

  body.tag-hash-dark-essay #sidenotes a:hover {
    color: white
  }

  body.tag-hash-pixel-essay #document article header h1 {
    font-family: var(--ff-pixel-seri-comp);
    font-variation-settings: var(--fvs-raster);
    letter-spacing: 0.04em;
    max-width: 18ch;
    font-size: clamp(1.8rem, 6vw, 30rem);
  }

  body.tag-hash-pixel-essay #document .gw {
    white-space: nowrap;
  }

  body.tag-hash-pixel-essay #document article content h2 {
    font-family: var(--ff-pixel-sans-comp);
    font-variation-settings: var(--fvs-raster);
    letter-spacing: 0.08em;
    line-height: 1.2;
    margin-bottom: var(--ma-reg);
  }

  body.tag-hash-effect-glitch #ndc-logo {
    background: transparent
  }
  
  body.tag-hash-effect-glitch #document article header #title {
    mix-blend-mode: normal;
  }
  body.tag-hash-effect-glitch #title h1 {
    text-shadow: 0.06rem 0 0.06rem #ea36af, -0.125rem 0 0.06rem #75fa69;
    animation-duration: 0.02s;
    animation-name: textflicker;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    position: relative;
  }

  body.tag-hash-effect-glitch #title .signpost-label,
  body.tag-hash-effect-glitch > #ndc-logo svg {
    animation-duration: 0.02s;
    animation-name: boxflicker;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    position: relative;
  }

  body.tag-hash-effect-glitch #title h1::after {
    content: attr(data-text);
    position: absolute;
    text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.6) !important;
    overflow: visible;
    top: 0;
    left: 0;
    animation: fudge 1s timing-function delay iteration-count direction fill-mode;
  }

  body.tag-hash-effect-glitch #title .signpost-label,
  body.tag-hash-effect-glitch #title #metadata {
    text-shadow: 0.06rem 0 0.06rem #ea36af, -0.125rem 0 0.06rem #75fa69;
    animation-duration: 0.02s;
    animation-name: textflicker-small;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    position: relative;
  }

  body.tag-hash-effect-glitch #document .signpost-small,
  body.tag-hash-effect-glitch > #ndc-logo svg {
    filter: drop-shadow(0.06rem 0 0.06rem #ea36af) drop-shadow(-0.125rem 0 0.06rem #75fa69);
  }
  body.tag-hash-effect-glitch #document article header #backdrop { 
    top: calc(0px - var(--ma-reg));
    left: calc(0px - var(--ma-reg));
    right: calc(0px - var(--ma-reg));
  }

  body.tag-hash-effect-glitch #backdrop .dither {
    overflow: hidden;
  }
  
  body.tag-hash-effect-glitch #backdrop .dither::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(to bottom, #0266e64f 0%, rgba(1, 2, 2, 0.2) 0.5%, #371b1b00 1%);
    animation: fudge 7s ease-in-out alternate infinite;
    overflow: hidden;
    mix-blend-mode: color-dodge;
  }

  body.tag-hash-fancy-essay #title h1 {
    font-family: Cinema !important;
    text-transform: capitalize;
    padding-top: 12px;
    width: 12ch;
    font-size: clamp(1.8rem, 8vw, 32rem);
  }

  body.tag-hash-fancy-essay #document *::selection {
    background-color: rgb(216, 191, 216)
  }
  body.tag-hash-fancy-essay #document article content .footnote-ref, 
  body.tag-hash-fancy-essay #document article content .footnote-ref a, 
  body.tag-hash-fancy-essay #document article content a[href^="#fn"], 
  body.tag-hash-fancy-essay #document article content span.fn {
    background: linear-gradient(rgba(255, 255, 255, 0) 75%, rgba(216, 191, 216, 1) 75%)
  }

  body.tag-hash-fancy-essay #document article content .footnote-ref a:hover, 
  body.tag-hash-fancy-essay #document article content a[href^="#fn"]:hover, 
  body.tag-hash-fancy-essay #document article content span.fn:hover {
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(216, 191, 216, 1) 0%)
  }

  @keyframes boxflicker {
    from {
      filter: drop-shadow(0.2px 0 0 #ea36af) drop-shadow(-0.2px 0 0 #75fa69) drop-shadow(0px 0px 1px rgba(255, 255, 255, 0.25));
    }
    to {
      filter: drop-shadow(0.5px 0.5px 1px #ea36af) drop-shadow(-0.25px -0.25px 0.02px #75fa69) drop-shadow(0px 0px 15px rgba(255, 255, 255, 0.05));
    }
  }

  @keyframes textflicker {
    from {
      text-shadow: 1px 0 0 #ea36af, -2px 0 0 #75fa69;
    }
    to {
      text-shadow: 2px 0.5px 2px #ea36af, -1px -0.5px 2px #75fa69;
    }
  }

  @keyframes textflicker-small {
    from {
      text-shadow: 0.5px 0 0 #ea36af, -1px 0 0 #75fa69, 0px 0px 15px rgba(255, 255, 255, 0.35);
    }
    to {
      text-shadow: 1px 0.5px 2px #ea36af, -0.5px -0.5px 2px #75fa69, 0px 0px 15px rgba(255, 255, 255, 0.45);
    }
  }

  @keyframes fudge {
    from {
      transform: translate(0px, 0px);
    }
    to {
      transform: translate(0px, 2%);
    }
  }
}
