/*
! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/

html {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Fira Sans, -apple-system, BlinkMacSystemFont, Helvetica, Helvetica Neue, Ubuntu, Roboto, Noto, Segoe UI, Arial, sans-serif;
  /* 4 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: Fira Mono, Monaco, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #6b7280;
  opacity: 1;
}

input::placeholder,textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-date-and-time-value {
  min-height: 1.5em;
}

::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  print-color-adjust: exact;
}

[multiple] {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  print-color-adjust: unset;
}

[type='checkbox'],[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

[type='checkbox'] {
  border-radius: 0px;
}

[type='radio'] {
  border-radius: 100%;
}

[type='checkbox']:focus,[type='radio']:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

[type='checkbox']:checked,[type='radio']:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

[type='checkbox']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

[type='radio']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='checkbox']:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='file'] {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

[type='file']:focus {
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::-webkit-backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .container {
    max-width: 1536px;
  }
}

.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(hr):not(:where([class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-left-width: 0.25rem;
  border-left-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure > *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose :where(code):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-right: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-left: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-right: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-left: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"] *)) {
  vertical-align: top;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(p):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(video):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(li):not(:where([class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(hr + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-right: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-left: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-sm :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-base :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose-base :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose-base :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose-base :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose-base :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose-base :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-base :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-lg :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-lg :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-lg :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-lg :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}

.prose-xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.2em;
}

.prose-xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.2em;
}

.prose-xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.2em;
}

.prose-xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.2em;
}

.prose-xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-2xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8333333em;
  margin-bottom: 0.8333333em;
}

.prose-2xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-2xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-2xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-2xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-2xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-2xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.form-input,.form-textarea,.form-select,.form-multiselect {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  print-color-adjust: exact;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
}

.bottom-0 {
  bottom: 0px;
}

.left-0 {
  left: 0px;
}

.top-0 {
  top: 0px;
}

.right-0 {
  right: 0px;
}

.top-px {
  top: 1px;
}

.right-px {
  right: 1px;
}

.top-40 {
  top: 10rem;
}

.bottom-4 {
  bottom: 1rem;
}

.top-3 {
  top: 0.75rem;
}

.bottom-1 {
  bottom: 0.25rem;
}

.top-5 {
  top: 1.25rem;
}

.left-5 {
  left: 1.25rem;
}

.left-1 {
  left: 0.25rem;
}

.right-2 {
  right: 0.5rem;
}

.top-\[11px\] {
  top: 11px;
}

.left-1\/2 {
  left: 50%;
}

.top-\[13px\] {
  top: 13px;
}

.bottom-\[27px\] {
  bottom: 27px;
}

.isolate {
  isolation: isolate;
}

.z-50 {
  z-index: 50;
}

.z-10 {
  z-index: 10;
}

.m-0 {
  margin: 0px;
}

.m-3 {
  margin: 0.75rem;
}

.m-1 {
  margin: 0.25rem;
}

.m-4 {
  margin: 1rem;
}

.m-2 {
  margin: 0.5rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}

.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}

.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mr-0\.5 {
  margin-right: 0.125rem;
}

.mt-0 {
  margin-top: 0px;
}

.mr-0 {
  margin-right: 0px;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mt-20 {
  margin-top: 5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-12 {
  margin-top: 3rem;
}

.mr-6 {
  margin-right: 1.5rem;
}

.mt-24 {
  margin-top: 6rem;
}

.mb-20 {
  margin-bottom: 5rem;
}

.mr-4 {
  margin-right: 1rem;
}

.ml-4 {
  margin-left: 1rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.-ml-px {
  margin-left: -1px;
}

.mb-24 {
  margin-bottom: 6rem;
}

.-ml-1 {
  margin-left: -0.25rem;
}

.ml-6 {
  margin-left: 1.5rem;
}

.ml-0 {
  margin-left: 0px;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mr-\[4px\] {
  margin-right: 4px;
}

.-mr-2 {
  margin-right: -0.5rem;
}

.box-content {
  box-sizing: content-box;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.inline-table {
  display: inline-table;
}

.table-caption {
  display: table-caption;
}

.table-cell {
  display: table-cell;
}

.table-column {
  display: table-column;
}

.table-column-group {
  display: table-column-group;
}

.table-footer-group {
  display: table-footer-group;
}

.table-header-group {
  display: table-header-group;
}

.table-row-group {
  display: table-row-group;
}

.table-row {
  display: table-row;
}

.grid {
  display: grid;
}

.inline-grid {
  display: inline-grid;
}

.contents {
  display: contents;
}

.list-item {
  display: list-item;
}

.hidden {
  display: none;
}

.h-8 {
  height: 2rem;
}

.h-4 {
  height: 1rem;
}

.h-full {
  height: 100%;
}

.h-2 {
  height: 0.5rem;
}

.h-1 {
  height: 0.25rem;
}

.h-40 {
  height: 10rem;
}

.h-screen {
  height: 100vh;
}

.h-\[23px\] {
  height: 23px;
}

.h-\[680px\] {
  height: 680px;
}

.h-3 {
  height: 0.75rem;
}

.h-5 {
  height: 1.25rem;
}

.h-\[20px\] {
  height: 20px;
}

.h-\[10px\] {
  height: 10px;
}

.w-full {
  width: 100%;
}

.w-4 {
  width: 1rem;
}

.w-2\/3 {
  width: 66.666667%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/2 {
  width: 50%;
}

.w-16 {
  width: 4rem;
}

.w-1 {
  width: 0.25rem;
}

.w-2 {
  width: 0.5rem;
}

.w-3 {
  width: 0.75rem;
}

.w-8 {
  width: 2rem;
}

.w-14 {
  width: 3.5rem;
}

.w-\[219px\] {
  width: 219px;
}

.w-\[120px\] {
  width: 120px;
}

.w-\[320px\] {
  width: 320px;
}

.w-5 {
  width: 1.25rem;
}

.w-\[20px\] {
  width: 20px;
}

.w-\[10px\] {
  width: 10px;
}

.min-w-full {
  min-width: 100%;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-xl {
  max-width: 36rem;
}

.max-w-min {
  max-width: -webkit-min-content;
  max-width: -moz-min-content;
  max-width: min-content;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-full {
  max-width: 100%;
}

.max-w-prose {
  max-width: 65ch;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-shrink {
  flex-shrink: 1;
}

.shrink {
  flex-shrink: 1;
}

.flex-grow {
  flex-grow: 1;
}

.grow {
  flex-grow: 1;
}

.table-auto {
  table-layout: auto;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@-webkit-keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-default {
  cursor: default;
}

.cursor-crosshair {
  cursor: crosshair;
}

.cursor-move {
  cursor: move;
}

.cursor-col-resize {
  cursor: col-resize;
}

.cursor-row-resize {
  cursor: row-resize;
}

.cursor-ns-resize {
  cursor: ns-resize;
}

.cursor-ew-resize {
  cursor: ew-resize;
}

.cursor-sw-resize {
  cursor: sw-resize;
}

.cursor-s-resize {
  cursor: s-resize;
}

.cursor-se-resize {
  cursor: se-resize;
}

.cursor-w-resize {
  cursor: w-resize;
}

.cursor-e-resize {
  cursor: e-resize;
}

.cursor-nw-resize {
  cursor: nw-resize;
}

.cursor-n-resize {
  cursor: n-resize;
}

.cursor-ne-resize {
  cursor: ne-resize;
}

.cursor-grab {
  cursor: -webkit-grab;
  cursor: grab;
}

.resize {
  resize: both;
}

.list-none {
  list-style-type: none;
}

.list-disc {
  list-style-type: disc;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.overflow-ellipsis {
  text-overflow: ellipsis;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre {
  white-space: pre;
}

.break-all {
  word-break: break-all;
}

.rounded-sm {
  border-radius: 0.125rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-\[54px\] {
  border-radius: 54px;
}

.rounded-\[38px\] {
  border-radius: 38px;
}

.rounded-l {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.rounded-r {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.rounded-t-sm {
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}

.border {
  border-width: 1px;
}

.border-4 {
  border-width: 4px;
}

.border-2 {
  border-width: 2px;
}

.border-t {
  border-top-width: 1px;
}

.border-b-0 {
  border-bottom-width: 0px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-t-2 {
  border-top-width: 2px;
}

.border-r {
  border-right-width: 1px;
}

.border-l {
  border-left-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-solid {
  border-style: solid;
}

.border-none {
  border-style: none;
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity));
}

.border-yellow-400 {
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity));
}

.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity));
}

.border-transparent {
  border-color: transparent;
}

.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity));
}

.border-gray-700 {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity));
}

.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity));
}

.border-yellow-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / var(--tw-border-opacity));
}

.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity));
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity));
}

.bg-\[\#999\] {
  --tw-bg-opacity: 1;
  background-color: rgb(153 153 153 / var(--tw-bg-opacity));
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity));
}

.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity));
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity));
}

.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.bg-opacity-75 {
  --tw-bg-opacity: 0.75;
}

.bg-center {
  background-position: center;
}

.bg-no-repeat {
  background-repeat: no-repeat;
}

.fill-current {
  fill: currentColor;
}

.fill-white {
  fill: #fff;
}

.fill-black {
  fill: #000;
}

.p-1 {
  padding: 0.25rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-4 {
  padding: 1rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-0 {
  padding: 0px;
}

.p-12 {
  padding: 3rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pt-0 {
  padding-top: 0px;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pr-6 {
  padding-right: 1.5rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-5 {
  padding-right: 1.25rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pt-\[2px\] {
  padding-top: 2px;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pb-0 {
  padding-bottom: 0px;
}

.pl-0 {
  padding-left: 0px;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pb-\[80px\] {
  padding-bottom: 80px;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.font-sans {
  font-family: Fira Sans, -apple-system, BlinkMacSystemFont, Helvetica, Helvetica Neue, Ubuntu, Roboto, Noto, Segoe UI, Arial, sans-serif;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.font-bold {
  font-weight: 700;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.font-medium {
  font-weight: 500;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.italic {
  font-style: italic;
}

.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-normal {
  line-height: 1.5;
}

.leading-4 {
  line-height: 1rem;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-tight {
  line-height: 1.25;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-none {
  line-height: 1;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}

.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity));
}

.text-yellow-900 {
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}

.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity));
}

.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity));
}

.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity));
}

.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity));
}

.underline {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}

.overline {
  -webkit-text-decoration-line: overline;
          text-decoration-line: overline;
}

.line-through {
  -webkit-text-decoration-line: line-through;
          text-decoration-line: line-through;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.subpixel-antialiased {
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-0 {
  opacity: 0;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-70 {
  opacity: 0.7;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.outline {
  outline-style: solid;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.\[-\:\2013\] {
  -: –;
}

.\[a-zA-Z\:_\] {
  a-z-a--z: ;
}

.\[a-zA-Z0-9\:\._-\] {
  a-z-a--z0-9: . -;
}

.\[a-zA-Z\:_\\\.\\-\\d\] {
  a-z-a--z: \.\-\d;
}

/* Fonts */

/* --------------------------------------------------------------- */

/* PT Serif */

@font-face {
  font-family: "PTSerif";

  src: url("/fonts/pt-serif/PTSerif-Regular.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "PTSerif";

  src: url("/fonts/pt-serif/PTSerif-Italic.woff") format("woff");

  font-weight: normal;

  font-style: italic;
}

@font-face {
  font-family: "PTSerif";

  src: url("/fonts/pt-serif/PTSerif-Bold.woff") format("woff");

  font-weight: bold;

  font-style: normal;
}

@font-face {
  font-family: "PTSerif";

  src: url("/fonts/pt-serif/PTSerif-BoldItalic.woff") format("woff");

  font-weight: bold;

  font-style: italic;
}

/* Fira Sans */

@font-face {
  font-family: "Fira Sans";

  src: url("/fonts/fira-sans/FiraSans-Book.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Fira Sans";

  src: url("/fonts/fira-sans/FiraSans-BookItalic.woff") format("woff");

  font-weight: normal;

  font-style: italic;
}

@font-face {
  font-family: "Fira Sans";

  src: url("/fonts/fira-sans/FiraSans-SemiBold.woff") format("woff");

  font-weight: bold;

  font-style: normal;
}

@font-face {
  font-family: "Fira Sans";

  src: url("/fonts/fira-sans/FiraSans-SemiBoldItalic.woff") format("woff");

  font-weight: bold;

  font-style: italic;
}

@font-face {
  font-family: "Fira Sans";

  src: url("/fonts/fira-sans/FiraSans-ExtraBold.woff") format("woff");

  font-weight: 500;

  font-style: normal;
}

@font-face {
  font-family: "Fira Sans";

  src: url("/fonts/fira-sans/FiraSans-ExtraBoldItalic.woff") format("woff");

  font-weight: 500;

  font-style: italic;
}

@font-face {
  font-family: "Fira Sans Condensed";

  src: url("/fonts/fira-sans/FiraSansCondensed-Bold.woff2") format("woff2");

  font-weight: bold;

  font-display: swap;

  font-style: normal;

  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Fira Sans Condensed";

  src: url("/fonts/fira-sans/FiraSansCondensed-BoldItalic.woff2") format("woff2");

  font-weight: bold;

  font-display: swap;

  font-style: italic;

  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Fira Mono */

@font-face {
  font-family: "Fira Mono";

  src: url("/fonts/fira-mono/FiraMono-Regular.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Fira Mono";

  src: url("/fonts/fira-mono/FiraMono-Bold.woff") format("woff");

  font-weight: bold;

  font-style: normal;
}

/* Inter */

@font-face {
  font-family: 'Inter';

  font-style:  normal;

  font-weight: 400;

  font-display: swap;

  src: url("/fonts/inter/Inter-Regular.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-Regular.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  italic;

  font-weight: 400;

  font-display: swap;

  src: url("/fonts/inter/Inter-Italic.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-Italic.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  normal;

  font-weight: 500;

  font-display: swap;

  src: url("/fonts/inter/Inter-Medium.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-Medium.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  italic;

  font-weight: 500;

  font-display: swap;

  src: url("/fonts/inter/Inter-MediumItalic.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-MediumItalic.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  normal;

  font-weight: 600;

  font-display: swap;

  src: url("/fonts/inter/Inter-SemiBold.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-SemiBold.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  italic;

  font-weight: 600;

  font-display: swap;

  src: url("/fonts/inter/Inter-SemiBoldItalic.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-SemiBoldItalic.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  normal;

  font-weight: 700;

  font-display: swap;

  src: url("/fonts/inter/Inter-Bold.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-Bold.woff?v=3.15") format("woff");
}

@font-face {
  font-family: 'Inter';

  font-style:  italic;

  font-weight: 700;

  font-display: swap;

  src: url("/fonts/inter/Inter-BoldItalic.woff2?v=3.15") format("woff2"),
       url("/fonts/inter/Inter-BoldItalic.woff?v=3.15") format("woff");
}

:root {
  --code-font: "Fira Mono", monaco, monospace;
  --sans-serif-font:
    "Fira Sans",
    -apple-system, BlinkMacSystemFont,
    Helvetica, "Helvetica Neue", Ubuntu,
    Roboto, Noto, "Segoe UI", Arial,
    sans-serif;
  --sans-serif-condensed-font:
    "Fira Sans Condensed",
    -apple-system, BlinkMacSystemFont,
    Helvetica, "Helvetica Neue", Ubuntu,
    Roboto, Noto, "Segoe UI", Arial,
    sans-serif;
  --serif-font: "PTSerif", Georgia, serif;
  --inter-font: "Inter", -apple-system, BlinkMacSystemFont, Helevetica, Arial, sans-serif;
}

html {
  font-size: 18px;
}

@media (max-width: 600px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: var(--serif-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: #1F2937;
}

@media (min-width: 550px) {
  body {
    overscroll-behavior-y: none;
  }
}

.serif {
  font-family: var(--serif-font);
}

.sans-serif {
  font-family: var(--sans-serif-font);
}

.sans-serif-condensed {
  font-family: var(--sans-serif-condensed-font);
}

.monospace {
  font-family: var(--code-font);
}

.inter {
  font-family: var(--inter-font);
}

/* Colors */

/* --------------------------------------------------------------- */

:root {
  /* Delete */
  --dark-teal-color: #095960;
  --darkest-teal-color: #052e31;
  --dark-teal-transparent-color: rgba(7, 73, 78, .1);
  --teal-color: #31afd0;
  --command-bar-selected-color: #31afd0;
  --light-teal-color: #eff8fb;
  --teal-transparent-color: rgba(0, 153, 170, .04);
  --silver-color: #e3e7ef;
  --light-silver-color: #eef1f6;
  --near-white-color: #f8f8f8;
  --near-black-color: #2e2e2c;
  --gray-color: #555;
  --green-color: #74c080;
  --green-transparent-color: rgba(116, 192, 128, .1);
  --red-color: #d64242;
  --red-transparent-color: rgba(214, 66, 66, .1);
  --dark-red-color: #ca2834;
  --orange-color: #ff6300;
  --blue-color: #0073d9;
  --checkerboard-color: #eee;
  /* Keep */
  --dark-blue-color: #1f2937;
  --dark-blue-60-color: rgba(28, 42, 56, 0.6);
  --gray-panel-color: rgba(239, 241, 245, 1.000);
  --brand-color: var(--dark-blue-color);
}

/* Delete */

.fill-white {
  fill: white;
}

.dark-teal {
  color: var(--dark-teal-color);
}

.bg-dark-teal {
  background-color: var(--dark-teal-color);
}

.hover-bg-dark-teal:hover {
  background-color: var(--dark-teal-color);
}

.fill-dark-teal {
  fill: var(--dark-teal-color);
}

.border-color-teal {
  border-color: var(--dark-teal-color);
}

.teal {
  color: var(--teal-color);
}

.bg-teal {
  background-color: var(--teal-color);
}

.hover-bg-teal:hover {
  background-color: var(--teal-color);
}

.fill-teal {
  fill: var(--teal-color);
}

.border-color-teal {
  border-color: var(--teal-color);
}

.bg-teal-transparent {
  background-color: var(--teal-transparent-color);
}

.hover-bg-teal-transparent:hover {
  background-color: var(--teal-transparent-color);
}

.light-teal {
  color: var(--light-teal-color);
}

.bg-light-teal {
  background-color: var(--light-teal-color);
}

.hover-bg-light-teal:hover {
  background-color: var(--light-teal-color);
}

.fill-light-teal {
  fill: var(--light-teal-color);
}

.border-color-light-teal {
  border-color: var(--light-teal-color);
}

.red {
  color: var(--red-color);
}

.bg-red {
  background-color: var(--red-color);
}

.hover-bg-red:hover {
  background-color: var(--red-color);
}

.fill-red {
  fill: var(--red-color);
}

.border-color-red {
  border-color: var(--red-color);
}

.dark-red {
  color: var(--dark-red-color);
}

.bg-dark-red {
  background-color: var(--dark-red-color);
}

.hover-bg-dark-red:hover {
  background-color: var(--dark-red-color);
}

.fill-dark-red {
  fill: var(--dark-red-color);
}

.border-color-red {
  border-color: var(--dark-red-color);
}

.green {
  color: var(--green-color);
}

.bg-green {
  background-color: var(--green-color);
}

.hover-bg-green:hover {
  background-color: var(--green-color);
}

.fill-green {
  fill: var(--green-color);
}

.border-color-green {
  border-color: var(--green-color);
}

.green-contrast {
  color: #469c48;
}

.silver {
  color: var(--silver-color);
}

.bg-silver {
  background-color: var(--silver-color);
}

.hover-bg-silver:hover {
  background-color: var(--silver-color);
}

.fill-silver {
  fill: var(--silver-color);
}

.border-color-silver {
  border-color: var(--silver-color);
}

.light-silver {
  color: var(--light-silver-color);
}

.bg-light-silver {
  background-color: var(--light-silver-color);
}

.hover-bg-light-silver:hover {
  background-color: var(--light-silver-color);
}

.fill-light-silver {
  fill: var(--light-silver-color);
}

.border-color-light-silver {
  border-color: var(--light-silver-color);
}

.near-white {
  color: var(--near-white-color);
}

.bg-near-white {
  background-color: var(--near-white-color);
}

.hover-bg-near-white:hover {
  background-color: var(--near-white-color);
}

.fill-near-white {
  fill: var(--near-white-color);
}

.border-color-near-white {
  border-color: var(--near-white-color);
}

.near-black {
  color: var(--near-black-color);
}

.bg-near-black {
  background-color: var(--near-black-color);
}

.hover-bg-near-black:hover {
  background-color: var(--near-black-color);
}

.fill-near-black {
  fill: var(--near-black-color);
}

.border-color-near-black {
  border-color: var(--near-black-color);
}

.fill-black-50 {
  fill: rgba(0,0,0,.5);
}

.fill-orange {
  fill: var(--orange-color);
}

.fill-blue {
  fill: var(--blue-color);
}

.bg-checkerboard {
  background-position: 0px 0px, 10px 10px;
  background-size: 20px 20px;
  background-image:
  linear-gradient(45deg, var(--checkerboard-color) 25%, transparent 25%, transparent 75%, var(--checkerboard-color) 75%, var(--checkerboard-color) 100%),
  linear-gradient(45deg, var(--checkerboard-color) 25%, white 25%, white 75%, var(--checkerboard-color) 75%, var(--checkerboard-color) 100%);
}

.black-95 {
  color: rgba(0,0,0,.95);
}

.black-90 {
  color: rgba(0,0,0,.9);
}

.black-80 {
  color: rgba(0,0,0,.8);
}

.black-70 {
  color: rgba(0,0,0,.7);
}

.black-60 {
  color: rgba(0,0,0,.6);
}

.black-50 {
  color: rgba(0,0,0,.5);
}

.black-40 {
  color: rgba(0,0,0,.4);
}

.black-30 {
  color: rgba(0,0,0,.3);
}

.black-20 {
  color: rgba(0,0,0,.2);
}

.black-10 {
  color: rgba(0,0,0,.1);
}

.black-05 {
  color: rgba(0,0,0,.05);
}

.bg-black-95 {
  background-color: rgba(0,0,0,.95);
}

.bg-black-90 {
  background-color: rgba(0,0,0,.9);
}

.bg-black-80 {
  background-color: rgba(0,0,0,.8);
}

.bg-black-70 {
  background-color: rgba(0,0,0,.7);
}

.bg-black-60 {
  background-color: rgba(0,0,0,.6);
}

.bg-black-50 {
  background-color: rgba(0,0,0,.5);
}

.bg-black-40 {
  background-color: rgba(0,0,0,.4);
}

.bg-black-30 {
  background-color: rgba(0,0,0,.3);
}

.bg-black-20 {
  background-color: rgba(0,0,0,.2);
}

.bg-black-10 {
  background-color: rgba(0,0,0,.1);
}

.bg-black-05 {
  background-color: rgba(0,0,0,.05);
}

.hover-bg-black-95:hover {
  background-color: rgba(0,0,0,.95);
}

.hover-bg-black-90:hover {
  background-color: rgba(0,0,0,.9);
}

.hover-bg-black-80:hover {
  background-color: rgba(0,0,0,.8);
}

.hover-bg-black-70:hover {
  background-color: rgba(0,0,0,.7);
}

.hover-bg-black-60:hover {
  background-color: rgba(0,0,0,.6);
}

.hover-bg-black-50:hover {
  background-color: rgba(0,0,0,.5);
}

.hover-bg-black-40:hover {
  background-color: rgba(0,0,0,.4);
}

.hover-bg-black-30:hover {
  background-color: rgba(0,0,0,.3);
}

.hover-bg-black-20:hover {
  background-color: rgba(0,0,0,.2);
}

.hover-bg-black-10:hover {
  background-color: rgba(0,0,0,.1);
}

.hover-bg-black-05:hover {
  background-color: rgba(0,0,0,.05);
}

.border-color-black-95 {
  border-color: rgba(0,0,0,.95);
}

.border-color-black-90 {
  border-color: rgba(0,0,0,.9);
}

.border-color-black-80 {
  border-color: rgba(0,0,0,.8);
}

.border-color-black-70 {
  border-color: rgba(0,0,0,.7);
}

.border-color-black-60 {
  border-color: rgba(0,0,0,.6);
}

.border-color-black-50 {
  border-color: rgba(0,0,0,.5);
}

.border-color-black-40 {
  border-color: rgba(0,0,0,.4);
}

.border-color-black-30 {
  border-color: rgba(0,0,0,.3);
}

.border-color-black-20 {
  border-color: rgba(0,0,0,.2);
}

.border-color-black-10 {
  border-color: rgba(0,0,0,.1);
}

.border-color-black-05 {
  border-color: rgba(0,0,0,.05);
}

.border-color-white-95 {
  border-color: rgba(255,255,255,.95);
}

.border-color-white-90 {
  border-color: rgba(255,255,255,.9);
}

.border-color-white-80 {
  border-color: rgba(255,255,255,.8);
}

.border-color-white-70 {
  border-color: rgba(255,255,255,.7);
}

.border-color-white-60 {
  border-color: rgba(255,255,255,.6);
}

.border-color-white-50 {
  border-color: rgba(255,255,255,.5);
}

.border-color-white-40 {
  border-color: rgba(255,255,255,.4);
}

.border-color-white-30 {
  border-color: rgba(255,255,255,.3);
}

.border-color-white-20 {
  border-color: rgba(255,255,255,.2);
}

.border-color-white-10 {
  border-color: rgba(255,255,255,.1);
}

.border-color-white-05 {
  border-color: rgba(255,255,255,.05);
}

.white-95 {
  color: rgba(255,255,255,.95);
}

.white-90 {
  color: rgba(255,255,255,.9);
}

.white-80 {
  color: rgba(255,255,255,.8);
}

.white-70 {
  color: rgba(255,255,255,.7);
}

.white-60 {
  color: rgba(255,255,255,.6);
}

.white-50 {
  color: rgba(255,255,255,.5);
}

.white-40 {
  color: rgba(255,255,255,.4);
}

.white-30 {
  color: rgba(255,255,255,.3);
}

.white-20 {
  color: rgba(255,255,255,.2);
}

.white-10 {
  color: rgba(255,255,255,.1);
}

.white-05 {
  color: rgba(255,255,255,.05);
}

.bg-white-95 {
  background-color: rgba(255,255,255,.95);
}

.bg-white-90 {
  background-color: rgba(255,255,255,.9);
}

.bg-white-80 {
  background-color: rgba(255,255,255,.8);
}

.bg-white-70 {
  background-color: rgba(255,255,255,.7);
}

.bg-white-60 {
  background-color: rgba(255,255,255,.6);
}

.bg-white-50 {
  background-color: rgba(255,255,255,.5);
}

.bg-white-40 {
  background-color: rgba(255,255,255,.4);
}

.bg-white-30 {
  background-color: rgba(255,255,255,.3);
}

.bg-white-20 {
  background-color: rgba(255,255,255,.2);
}

.bg-white-10 {
  background-color: rgba(255,255,255,.1);
}

.bg-white-05 {
  background-color: rgba(255,255,255,.05);
}

.text-near-black {
  color: var(--near-black-color);
}

.dim {
  opacity: 1;
  transition: opacity .15s ease-in;
}

.dim:hover,
.dim:focus {
  opacity: .5;
  transition: opacity .15s ease-in;
}

.opacity-05 {
  opacity: 0.5;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

.z-max {
  z-index: 2147483647;
}

/* Keep */

.bg-dark-blue {
  background: var(--dark-blue-color);
}

.bg-dark-blue-60 {
  background: rgba(28, 42, 56, 0.6);
}

.bg-gray-panel {
  background: var(--gray-panel-color);
}

.text-dark-blue  {
  color: var(--dark-blue-color);
}

.text-dark-blue-60 {
  color: var(--dark-blue-60-color);
}

.border-dark-blue-30 {
  border-color: rgba(28, 42, 56, 0.6);
}

.text-brand {
  color: var(--dark-blue-color);
}

.bg-brand {
  background: var(--dark-blue-color);
}

.bg-selected {
  background: var(--teal-color);
}

.text-selected {
  color: white;
}

/* Shadows */

/* --------------------------------------------------------------- */

:root {
  --shadow-outer-1:
    0 0 0 1px rgba(89, 105, 128, .1),
    0 1px 3px 0 rgba(89, 105, 128, .1),
    0 1px 2px 0 rgba(0, 0, 0, .05);
  --shadow-outer-2:
    0 0 0 1px rgba(0,0,0, .02),
    0 7px 15px rgba(0,0,0,.08);
  --shadow-inner-1:
    inset 0 0 0 1px rgba(89, 105, 128, .1),
    inset 0 1px 3px 0 rgba(207, 215, 230, .6);
  --shadow-inner-2:
    inset 0 1px 2px 0 rgba(207, 215, 230, .4);
}

.shadow-outer-1 {
  box-shadow: var(--shadow-outer-1);
}

.shadow-outer-2 {
  box-shadow: var(--shadow-outer-2);
}

.shadow-inner-1 {
  box-shadow: var(--shadow-inner-1);
}

.shadow-inner-2 {
  box-shadow: var(--shadow-inner-2);
}

/* Resets */

/* --------------------------------------------------------------- */

*:focus {
  outline: none;
}

/* Easings */

/* --------------------------------------------------------------- */

:root {
  --snap-easing: cubic-bezier(0.060, 0.975, 0.195, 0.985);
}

/* Headings */

/* --------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6, h7, h8 {
  font-family: var(--sans-serif-condensed-font);
  font-weight: bold;
  margin: 1rem 0;
}

h1 {
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 0;
}

h2 {
  font-size: 1.8rem;
  margin: 3rem 0 0 0;
  line-height: 1.3;
}

h2.pm-node {
  margin-top: 1.5rem;
}

h3 {
  font-size: 1.35rem;
  margin: 2rem 0 0 0;
  line-height: 1.3;
}

h3.pm-node {
  margin-top: 0.5rem;
}

h4 {
  font-size: 1.2rem;
  margin: 1.5rem 0 0 0;
}

h4.pm-node {
  margin-top: 0;
}

h5, h6, h7, h8 {
  font-size: 1rem;
  margin: 1rem 0 0 0;
}

h5.pm-node {
  margin-top: 0;
}

/* Katex */

/* --------------------------------------------------------------- */

/* Tailwind sets a light gray as default border-color
   which makes katex fraction separators barely visible. */

.katex * {
  border-color: black;
}

/* Section Numbers */

/* --------------------------------------------------------------- */

body {
  counter-reset: h2-counter;
}

h1 {
  counter-reset: h2-counter;
}

.nj-doc--numbered h2:not(.nj-subtitle)::before {
  content: counter(h2-counter) ".\0000a0";
  counter-increment: h2-counter;
}

h2 {
  counter-reset: h3-counter;
}

.nj-doc--numbered h3::before {
  content: counter(h2-counter) "." counter(h3-counter) ".\0000a0";
  counter-increment: h3-counter;
}

h3 {
  counter-reset: h4-counter;
}

.nj-doc--numbered h4::before {
  content: counter(h2-counter) "." counter(h3-counter) "." counter(h4-counter) ".\0000a0";
  counter-increment: h4-counter;
}

/* Paragraphs, Lists, Blockquotes */

/* --------------------------------------------------------------- */

p, ul, ol {
  line-height: 1.5;
}

p {
  margin: 1rem 0 0 0;
}

.node {
  position: relative;
  padding: 1.5rem 0 0.5rem 0;
}

.node-paragraph,
.node-list,
.node-numbered-list,
.node-todo-list {
  padding: 1rem 0 0 0;
}

.node-paragraph p {
  margin-top: 0;
}

.node-list,
.node-numbered-list,
.node-todo-list {
  padding-top: 0;
}

.node-code {
  padding: 1rem 0 0 0;
}

.heading-container-1 + section > .heading-container h2 {
  margin-top: 2rem;
}

blockquote.pm-node {
  position: relative;
  padding-bottom: 0;
}

blockquote.pm-node:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  bottom: 1rem;
  background: rgba(0,0,0,.1);
}

blockquote.pm-node > * {
  padding-left: 1rem !important;
}

blockquote.pm-node > *:last-child {
  margin-bottom: 0;
}

article ul,
article ol {
  padding: 1rem 0 0 0;
  margin: 0;
  list-style: none;
}

article ul li,
article ol li {
  position: relative;
  margin-top: 0.1rem;
}

article ol li::before {
  position: absolute;
  left: 0;
  width: 30px;
  text-align: right;
}

.editor-active ol li::before {
  left: 0;
}

article ul li::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 4px;
  background: #000;
  left: 18px;
  top: 0.7rem;
}

.editor-active article ul li::before {
  left: 18px;
}

article ul li .todo-list-item input {
  position: absolute;
  top: 0.3rem;
  left: 0.75rem;
}

article li .node {
  padding-bottom: 0;
}

article li .node .gutter {
  top: 0.2rem;
}

/* Adjustments for headings and lists in results */

.nj-result h2,
.nj-result h3,
.nj-result h4,
.nj-result h5,
.nj-result h6,
.nj-result ul,
.nj-result ol,
.nj-result dl {
  margin-top: 1rem !important;
}

.nj-result ul {
  list-style: disc !important;
}

.nj-result ol {
  list-style: decimal !important;
}

.nj-result ul li,
.nj-result ol li {
  margin-left: 1.8rem;
  padding-left: 0.4rem;
}

/* Links */

/* --------------------------------------------------------------- */

a {
  color: var(--brand-color);
  transition: opacity 0.125 ease;
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
}

a:active {
  opacity: 0.7;
}

a:focus {
  outline: none;
}

a.secondary {
  color: var(--gray-color);
  transition: opacity 0.125 ease;
  text-decoration: none;
}

a.secondary:hover {
  color: var(--teal-color);
  opacity: 0.8;
}

a.secondary:active {
  opacity: 0.7;
}

a.secondary:focus {
  outline: none;
}

.notebook-content a.link,
.notebook a.link {
  color: var(--text-color);
  text-decoration: none;
  background:
    linear-gradient(white, white),
    linear-gradient(white, white),
    linear-gradient(currentColor, currentColor);
  background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: 0% 93%, 100% 93%, 0% 93%;
  text-shadow:
    0.03em 0 white,
    -0.03em 0 white,
    0 0.03em white,
    0 -0.03em white,
    0.06em 0 white,
    -0.06em 0 white,
    0.09em 0 white,
    -0.09em 0 white,
    0.12em 0 white,
    -0.12em 0 white,
    0.15em 0 white,
    -0.15em 0 white;
}

.notebook-content a.link:hover,
.notebook a.link:hover {
  color: currentColor;
  opacity: 1;
}

.code,
code {
  font-family: var(--code-font);
  font-size: 0.85em;
  color: var(--text-color);
  background-color: var(--gray-panel-color);
  padding: 1px 2px;
  border-radius: 2px;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

pre {
  margin: 0;
  font-family: var(--code-font);
}

/* Results */

/* --------------------------------------------------------------- */

.nj-result {
  padding-top: 0.5rem;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.nj-result::-webkit-scrollbar {
  width: 0;
  background: transparent;
}

/* Tables */

.nj-result table:not(.nj-viewer-table) {
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  font-family: var(--sans-serif-font);
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 0.25rem;
  overflow: hidden;
  margin: auto;
}

.nj-result table:not(.nj-viewer-table) thead {
  vertical-align: bottom;
}

.nj-result table:not(.nj-viewer-table) th,
.nj-result table:not(.nj-viewer-table) td {
  padding: 0.4em 0.5em;
  border-right: 1px solid rgba(0,0,0,.1);
}

.nj-result table:not(.nj-viewer-table) th:last-child,
.nj-result table:not(.nj-viewer-table) td:last-child {
  border-right: 0;
}

.nj-result table:not(.nj-viewer-table) thead th {
  font-weight: bold;
  border-bottom: 2px solid rgba(0,0,0,.1);
}

.nj-result table:not(.nj-viewer-table) tbody td,
.nj-result table:not(.nj-viewer-table) tbody th {
  border-bottom: 1px solid rgba(0,0,0,.1);
}

.nj-result table:not(.nj-viewer-table) tbody tr:last-child td,
.nj-result table:not(.nj-viewer-table) tbody tr:last-child th {
  border-bottom: 0;
}

.nj-result table:not(.nj-viewer-table) tbody tr:nth-child(odd) {
  background: rgba(0,0,0,.02);
}

.nj-result table:not(.nj-viewer-table) tbody tr:hover {
  background: rgba(0,0,0,.07);
}

.nj-result table:not(.nj-viewer-table) table + table {
  margin-top: 1rem;
}

/* Data Viewer */

/* --------------------------------------------------------------- */

:root {
  --syntax-tag-color: rgba(0,0,0,.5);
  --syntax-number-color: #1c4c71;
  --syntax-keyword-color: #1c4c71;
  --syntax-nil-color: #1c4c71;
  --syntax-bool-color: #1c4c71;
  --syntax-string-color: #318b8a;
  --syntax-symbol-color: #8f2368;
  --syntax-tag-color: #8f2368;
  --syntax-untyped-color: #e44f67;
  --syntax-key-color: #652365;
  --syntax-index-color: #652365;
}

.inspected-value {
  font-size: 14px;
  font-family: var(--code-font);
}

.syntax-tag,
.cm-number, .syntax-number,
.cm-string, .syntax-string,
.cm-atom, .syntax-keyword,
.cm-builtin, .cm-keyword,
.syntax-symbol,
.syntax-bool,
.syntax-nil,
.syntax-untyped,
.syntax-key,
.syntax-index {
  font-family: var(--code-font);
}

.syntax-tag {
  color: var(--syntax-tag-color) !important;
}

.cm-number,
.syntax-number {
  color: var(--syntax-number-color) !important;
}

.cm-string,
.syntax-string {
  color: var(--syntax-string-color) !important;
}

.cm-atom,
.syntax-keyword {
  color: var(--syntax-keyword-color) !important;
}

.cm-builtin,
.cm-keyword,
.syntax-symbol {
  color: var(--syntax-symbol-color) !important;
}

.syntax-bool {
  color: var(--syntax-bool-color) !important;
}

.syntax-nil {
  color: var(--syntax-nil-color) !important;
}

.syntax-untyped {
  color: var(--syntax-untyped-color) !important;
}

.syntax-key {
  color: var(--syntax-key-color) !important;
}

.syntax-index {
  color: var(--syntax-index-color) !important;
}

.syntax-untyped {
  white-space: nowrap;
}

/* Syntax Highlighting */

/* --------------------------------------------------------------- */

.inspected-value {
  font-family: Fira Mono, Monaco, monospace;
  font-size: 0.75rem;
  line-height: 1.25rem;
}

.slideshow .inspected-value {
  font-size: 0.8em;
}

.cmt-strong,  .cmt-heading {
  font-weight: 700;
}

.cmt-italic,  .cmt-emphasis {
  font-style: italic;
}

.cmt-strikethrough {
  -webkit-text-decoration-line: line-through;
          text-decoration-line: line-through;
}

.cmt-link {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}

.katex .cmt-link .underline-line{
  min-height:1px;
  display:inline-block;
  width:100%;
  border-bottom-style:solid
}

.untyped-value {
  white-space: nowrap;
}

.cm-editor,  .cmt-default,  .viewer-result {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity));
}

.dark .cm-editor, .dark  .cmt-default, .dark  .viewer-result {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}

.cmt-keyword {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity));
}

.dark .cmt-keyword {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity));
}

.cmt-atom,  .cmt-bool,  .cmt-url,  .cmt-contentSeparator,  .cmt-labelName {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity));
}

.dark .cmt-atom, .dark  .cmt-bool, .dark  .cmt-url, .dark  .cmt-contentSeparator, .dark  .cmt-labelName {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity));
}

.cmt-inserted,  .cmt-literal {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}

.dark .cmt-inserted, .dark  .cmt-literal {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity));
}

.cmt-string,  .cmt-deleted {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity));
}

.dark .cmt-string, .dark  .cmt-deleted {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity));
}

.dark .cmt-italic.cmt-string {
  --tw-text-opacity: 1;
  color: rgb(186 230 253 / var(--tw-text-opacity));
}

.cmt-regexp,  .cmt-escape {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity));
}

.dark .cmt-regexp, .dark  .cmt-escape {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity));
}

.cmt-variableName {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity));
}

.dark .cmt-variableName {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity));
}

.cmt-typeName,  .cmt-namespace {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}

.dark .cmt-typeName, .dark  .cmt-namespace {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity));
}

.cmt-className {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity));
}

.dark .cmt-className {
  --tw-text-opacity: 1;
  color: rgb(153 246 228 / var(--tw-text-opacity));
}

.cmt-macroName {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity));
}

.dark .cmt-macroName {
  --tw-text-opacity: 1;
  color: rgb(153 246 228 / var(--tw-text-opacity));
}

.cmt-propertyName {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity));
}

.dark .cmt-propertyName {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity));
}

.cmt-comment {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}

.dark .cmt-comment {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

.cmt-meta {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity));
}

.dark .cmt-meta {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

.cmt-invalid {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}

.dark .cmt-invalid {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}

.result-data,
.result-text {
  font-family: var(--code-font);
  font-size: 14px;
  overflow-x: auto;
  line-height: 1.5;
}

.result-data {
  white-space: nowrap;
}

.result-data::-webkit-scrollbar,
.path-nav::-webkit-scrollbar {
  height: 0;
}

.result-data-collapsed {
  white-space: nowrap;
}

.result-data-field {
  margin-left: 1em;
  white-space: nowrap;
}

.result-data-field-link{
  margin-left: 1em;
  white-space: nowrap;
  cursor: pointer;
}

.result-data-field-link:hover {
  color: black;
  background: rgba(0,0,0,.05);
}

.result-text-empty {
  color: rgba(0,0,0,.3);
}

.browsify-button:hover {
  box-shadow: -2px 0 0 2px #edf2f7;
}

/* UI Components */

/* --------------------------------------------------------------- */

.rounded-xs {
  border-radius: 2px;
}

.topbar-button {
  font-family: var(--code-font);
  border-radius: 2px;
  background-color: rgba(249, 250, 251, 0.15);
  transition: background-color 0.2s ease;
  height: 24px;
  line-height: 24px;
  padding: 0 10px;
}

.topbar-button:hover {
  background-color: rgba(249, 250, 251, 0.2);
}

.topbar-button:disabled {
  opacity: 0.5;
}

.sidebar-runtime {
  background-color: rgba(53, 63, 83, 0.1);
  padding: 6px 7px;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

.sidebar-runtime:hover {
  background-color: rgba(53, 63, 83, 0.15);
}

.sidebar-runtime-attachment {
  background-color: rgba(53, 63, 83, 0.05);
  padding: 6px 7px;
  font-size: 9px;
  margin-top: 1px;
  transition: background-color 0.2s ease-in-out;
}

.sidebar-runtime-attachment-hover:hover {
  background-color: rgba(53, 63, 83, 0.07)
}

/* Disclose */

/* --------------------------------------------------------------- */

.disclose {
  content: "";
  border-style: solid;
  border-color: var(--near-black-color) transparent;
  border-width: 6px 4px 0;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  position: relative;
  top: -2px;
  margin-right: 3px;
}

.disclose:hover {
  border-color: var(--near-black-color) transparent;
}

.disclose.collapsed {
  transform: rotate(-90deg);
}

/* Debug */

/* --------------------------------------------------------------- */

.debug-iframe-worker {
  box-shadow: inset 0 0 0 2px rgba(0,0,255,.1);
}

.debug-iframe-worker #nj-results > div {
  background: rgba(0,0,255,.1);
}

/* Hopefully temporary workaround for vega viewer resizing into infinity */

.vega-embed .chart-wrapper {
  height: auto;
}

@font-face{
  font-family:KaTeX_AMS;

  src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Caligraphic;

  src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");

  font-weight:700;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Caligraphic;

  src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Fraktur;

  src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");

  font-weight:700;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Fraktur;

  src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Main;

  src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype");

  font-weight:700;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Main;

  src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");

  font-weight:700;

  font-style:italic
}

@font-face{
  font-family:KaTeX_Main;

  src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype");

  font-weight:400;

  font-style:italic
}

@font-face{
  font-family:KaTeX_Main;

  src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Math;

  src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");

  font-weight:700;

  font-style:italic
}

@font-face{
  font-family:KaTeX_Math;

  src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype");

  font-weight:400;

  font-style:italic
}

@font-face{
  font-family:"KaTeX_SansSerif";

  src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");

  font-weight:700;

  font-style:normal
}

@font-face{
  font-family:"KaTeX_SansSerif";

  src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");

  font-weight:400;

  font-style:italic
}

@font-face{
  font-family:"KaTeX_SansSerif";

  src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Script;

  src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Size1;

  src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Size2;

  src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Size3;

  src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Size4;

  src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

@font-face{
  font-family:KaTeX_Typewriter;

  src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");

  font-weight:400;

  font-style:normal
}

.katex{
  font:normal 1.21em KaTeX_Main,Times New Roman,serif;
  line-height:1.2;
  text-indent:0;
  text-rendering:auto
}

.katex *{
  -ms-high-contrast-adjust:none!important
}

.katex .katex-mathml{
  position:absolute;
  clip:rect(1px,1px,1px,1px);
  padding:0;
  border:0;
  height:1px;
  width:1px;
  overflow:hidden
}

.katex .katex-html>.newline{
  display:block
}

.katex .base{
  position:relative;
  white-space:nowrap;
  width:-webkit-min-content;
  width:-moz-min-content;
  width:min-content
}

.katex .base,.katex .strut{
  display:inline-block
}

.katex .textbf{
  font-weight:700
}

.katex .textit{
  font-style:italic
}

.katex .textrm{
  font-family:KaTeX_Main
}

.katex .textsf{
  font-family:KaTeX_SansSerif
}

.katex .texttt{
  font-family:KaTeX_Typewriter
}

.katex .mathdefault{
  font-family:KaTeX_Math;
  font-style:italic
}

.katex .mathit{
  font-family:KaTeX_Main;
  font-style:italic
}

.katex .mathrm{
  font-style:normal
}

.katex .mathbf{
  font-family:KaTeX_Main;
  font-weight:700
}

.katex .boldsymbol{
  font-family:KaTeX_Math;
  font-weight:700;
  font-style:italic
}

.katex .amsrm,.katex .mathbb,.katex .textbb{
  font-family:KaTeX_AMS
}

.katex .mathcal{
  font-family:KaTeX_Caligraphic
}

.katex .mathfrak,.katex .textfrak{
  font-family:KaTeX_Fraktur
}

.katex .mathtt{
  font-family:KaTeX_Typewriter
}

.katex .mathscr,.katex .textscr{
  font-family:KaTeX_Script
}

.katex .mathsf,.katex .textsf{
  font-family:KaTeX_SansSerif
}

.katex .mathboldsf,.katex .textboldsf{
  font-family:KaTeX_SansSerif;
  font-weight:700
}

.katex .mathitsf,.katex .textitsf{
  font-family:KaTeX_SansSerif;
  font-style:italic
}

.katex .mainrm{
  font-family:KaTeX_Main;
  font-style:normal
}

.katex .vlist-t{
  display:inline-table;
  table-layout:fixed
}

.katex .vlist-r{
  display:table-row
}

.katex .vlist{
  display:table-cell;
  vertical-align:bottom;
  position:relative
}

.katex .vlist>span{
  display:block;
  height:0;
  position:relative
}

.katex .vlist>span>span{
  display:inline-block
}

.katex .vlist>span>.pstrut{
  overflow:hidden;
  width:0
}

.katex .vlist-t2{
  margin-right:-2px
}

.katex .vlist-s{
  display:table-cell;
  vertical-align:bottom;
  font-size:1px;
  width:2px;
  min-width:2px
}

.katex .msupsub{
  text-align:left
}

.katex .mfrac>span>span{
  text-align:center
}

.katex .mfrac .frac-line{
  display:inline-block;
  width:100%;
  border-bottom-style:solid
}

.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{
  min-height:1px
}

.katex .mspace{
  display:inline-block
}

.katex .clap,.katex .llap,.katex .rlap{
  width:0;
  position:relative
}

.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{
  position:absolute
}

.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{
  display:inline-block
}

.katex .llap>.inner{
  right:0
}

.katex .clap>.inner,.katex .rlap>.inner{
  left:0
}

.katex .clap>.inner>span{
  margin-left:-50%;
  margin-right:50%
}

.katex .rule{
  display:inline-block;
  border:0 solid;
  position:relative
}

.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{
  display:inline-block;
  width:100%;
  border-bottom-style:solid
}

.katex .hdashline{
  display:inline-block;
  width:100%;
  border-bottom-style:dashed
}

.katex .sqrt>.root{
  margin-left:.27777778em;
  margin-right:-.55555556em
}

.katex .fontsize-ensurer,.katex .sizing{
  display:inline-block
}

.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{
  font-size:1.2em
}

.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{
  font-size:1.4em
}

.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{
  font-size:1.6em
}

.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{
  font-size:1.8em
}

.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{
  font-size:2em
}

.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{
  font-size:2.4em
}

.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{
  font-size:2.88em
}

.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{
  font-size:3.456em
}

.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{
  font-size:4.148em
}

.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{
  font-size:4.976em
}

.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{
  font-size:.83333333em
}

.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{
  font-size:1.16666667em
}

.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{
  font-size:1.33333333em
}

.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{
  font-size:1.5em
}

.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{
  font-size:1.66666667em
}

.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{
  font-size:2em
}

.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{
  font-size:2.4em
}

.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{
  font-size:2.88em
}

.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{
  font-size:3.45666667em
}

.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{
  font-size:4.14666667em
}

.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{
  font-size:.71428571em
}

.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{
  font-size:.85714286em
}

.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{
  font-size:1.14285714em
}

.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{
  font-size:1.28571429em
}

.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{
  font-size:1.42857143em
}

.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{
  font-size:1.71428571em
}

.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{
  font-size:2.05714286em
}

.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{
  font-size:2.46857143em
}

.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{
  font-size:2.96285714em
}

.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{
  font-size:3.55428571em
}

.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{
  font-size:.625em
}

.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{
  font-size:.75em
}

.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{
  font-size:.875em
}

.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{
  font-size:1.125em
}

.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{
  font-size:1.25em
}

.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{
  font-size:1.5em
}

.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{
  font-size:1.8em
}

.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{
  font-size:2.16em
}

.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{
  font-size:2.5925em
}

.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{
  font-size:3.11em
}

.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{
  font-size:.55555556em
}

.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{
  font-size:.66666667em
}

.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{
  font-size:.77777778em
}

.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{
  font-size:.88888889em
}

.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{
  font-size:1.11111111em
}

.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{
  font-size:1.33333333em
}

.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{
  font-size:1.6em
}

.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{
  font-size:1.92em
}

.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{
  font-size:2.30444444em
}

.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{
  font-size:2.76444444em
}

.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{
  font-size:.5em
}

.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{
  font-size:.6em
}

.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{
  font-size:.7em
}

.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{
  font-size:.8em
}

.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{
  font-size:.9em
}

.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{
  font-size:1.2em
}

.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{
  font-size:1.44em
}

.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{
  font-size:1.728em
}

.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{
  font-size:2.074em
}

.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{
  font-size:2.488em
}

.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{
  font-size:.41666667em
}

.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{
  font-size:.5em
}

.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{
  font-size:.58333333em
}

.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{
  font-size:.66666667em
}

.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{
  font-size:.75em
}

.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{
  font-size:.83333333em
}

.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{
  font-size:1.2em
}

.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{
  font-size:1.44em
}

.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{
  font-size:1.72833333em
}

.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{
  font-size:2.07333333em
}

.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{
  font-size:.34722222em
}

.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{
  font-size:.41666667em
}

.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{
  font-size:.48611111em
}

.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{
  font-size:.55555556em
}

.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{
  font-size:.625em
}

.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{
  font-size:.69444444em
}

.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{
  font-size:.83333333em
}

.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{
  font-size:1.2em
}

.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{
  font-size:1.44027778em
}

.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{
  font-size:1.72777778em
}

.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{
  font-size:.28935185em
}

.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{
  font-size:.34722222em
}

.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{
  font-size:.40509259em
}

.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{
  font-size:.46296296em
}

.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{
  font-size:.52083333em
}

.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{
  font-size:.5787037em
}

.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{
  font-size:.69444444em
}

.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{
  font-size:.83333333em
}

.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{
  font-size:1.20023148em
}

.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{
  font-size:1.43981481em
}

.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{
  font-size:.24108004em
}

.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{
  font-size:.28929605em
}

.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{
  font-size:.33751205em
}

.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{
  font-size:.38572806em
}

.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{
  font-size:.43394407em
}

.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{
  font-size:.48216008em
}

.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{
  font-size:.57859209em
}

.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{
  font-size:.69431051em
}

.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{
  font-size:.83317261em
}

.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{
  font-size:1em
}

.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{
  font-size:1.19961427em
}

.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{
  font-size:.20096463em
}

.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{
  font-size:.24115756em
}

.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{
  font-size:.28135048em
}

.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{
  font-size:.32154341em
}

.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{
  font-size:.36173633em
}

.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{
  font-size:.40192926em
}

.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{
  font-size:.48231511em
}

.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{
  font-size:.57877814em
}

.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{
  font-size:.69453376em
}

.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{
  font-size:.83360129em
}

.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{
  font-size:1em
}

.katex .delimsizing.size1{
  font-family:KaTeX_Size1
}

.katex .delimsizing.size2{
  font-family:KaTeX_Size2
}

.katex .delimsizing.size3{
  font-family:KaTeX_Size3
}

.katex .delimsizing.size4{
  font-family:KaTeX_Size4
}

.katex .delimsizing.mult .delim-size1>span{
  font-family:KaTeX_Size1
}

.katex .delimsizing.mult .delim-size4>span{
  font-family:KaTeX_Size4
}

.katex .nulldelimiter{
  display:inline-block;
  width:.12em
}

.katex .delimcenter,.katex .op-symbol{
  position:relative
}

.katex .op-symbol.small-op{
  font-family:KaTeX_Size1
}

.katex .op-symbol.large-op{
  font-family:KaTeX_Size2
}

.katex .op-limits>.vlist-t{
  text-align:center
}

.katex .accent>.vlist-t{
  text-align:center
}

.katex .accent .accent-body{
  position:relative
}

.katex .accent .accent-body:not(.accent-full){
  width:0
}

.katex .overlay{
  display:block
}

.katex .mtable .vertical-separator{
  display:inline-block;
  margin:0 -.025em;
  border-right:.05em solid;
  min-width:1px
}

.katex .mtable .vs-dashed{
  border-right:.05em dashed
}

.katex .mtable .arraycolsep{
  display:inline-block
}

.katex .mtable .col-align-c>.vlist-t{
  text-align:center
}

.katex .mtable .col-align-l>.vlist-t{
  text-align:left
}

.katex .mtable .col-align-r>.vlist-t{
  text-align:right
}

.katex .svg-align{
  text-align:left
}

.katex svg{
  display:block;
  position:absolute;
  width:100%;
  height:inherit;
  fill:currentColor;
  stroke:currentColor;
  fill-rule:nonzero;
  fill-opacity:1;
  stroke-width:1;
  stroke-linecap:butt;
  stroke-linejoin:miter;
  stroke-miterlimit:4;
  stroke-dasharray:none;
  stroke-dashoffset:0;
  stroke-opacity:1
}

.katex svg path{
  stroke:none
}

.katex .stretchy{
  width:100%;
  display:block;
  position:relative;
  overflow:hidden
}

.katex .stretchy:after,.katex .stretchy:before{
  content:""
}

.katex .hide-tail{
  width:100%;
  position:relative;
  overflow:hidden
}

.katex .halfarrow-left{
  position:absolute;
  left:0;
  width:50.2%;
  overflow:hidden
}

.katex .halfarrow-right{
  position:absolute;
  right:0;
  width:50.2%;
  overflow:hidden
}

.katex .brace-left{
  position:absolute;
  left:0;
  width:25.1%;
  overflow:hidden
}

.katex .brace-center{
  position:absolute;
  left:25%;
  width:50%;
  overflow:hidden
}

.katex .brace-right{
  position:absolute;
  right:0;
  width:25.1%;
  overflow:hidden
}

.katex .x-arrow-pad{
  padding:0 .5em
}

.katex .mover,.katex .munder,.katex .x-arrow{
  text-align:center
}

.katex .boxpad{
  padding:0 .3em
}

.katex .fbox,.katex .fcolorbox{
  box-sizing:border-box;
  border:.04em solid
}

.katex .cancel-pad{
  padding:0 .2em
}

.katex .cancel-lap{
  margin-left:-.2em;
  margin-right:-.2em
}

.katex .sout{
  border-bottom-style:solid;
  border-bottom-width:.08em
}

.katex-display{
  display:block;
  margin:1em 0;
  text-align:center
}

.katex-display>.katex{
  display:block;
  text-align:center;
  white-space:nowrap
}

.katex-display>.katex>.katex-html{
  display:block;
  position:relative
}

.katex-display>.katex>.katex-html>.tag{
  position:absolute;
  right:0
}

.katex-display.leqno>.katex>.katex-html>.tag{
  left:0;
  right:auto
}

.katex-display.fleqn>.katex{
  text-align:left
}

/* BASICS */

.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px;
  color: black;
}

/* PADDING */

.CodeMirror-lines {
  padding: 4px 0;
  /* Vertical padding around content */
}

.CodeMirror pre {
  padding: 0 0.5rem;
  /* Horizontal padding of content */
}

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  background-color: white;
  /* The little square between H and V scrollbars */
}

/* GUTTER */

.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap;
}

.CodeMirror-linenumbers {
}

.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  white-space: nowrap;
}

.CodeMirror-guttermarker {
  color: black;
}

.CodeMirror-guttermarker-subtle {
  color: #999;
}

/* CURSOR */

.CodeMirror-cursor {
  border-left: 1px solid black;
  border-right: none;
  width: 0;
}

/* Shown when moving in bi-directional text */

.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver;
}

.cm-fat-cursor .CodeMirror-cursor {
  width: auto;
  border: 0;
  background: #7e7;
}

.cm-fat-cursor div.CodeMirror-cursors {
  z-index: 1;
}

.cm-animate-fat-cursor {
  width: auto;
  border: 0;
  -webkit-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
  background-color: #7e7;
}

@-webkit-keyframes blink {
  0% {
  }

  50% {
    background-color: transparent;
  }

  100% {
  }
}

@keyframes blink {
  0% {
  }

  50% {
    background-color: transparent;
  }

  100% {
  }
}

/* Can style cursor different in overwrite (non-insert) mode */

.CodeMirror-overwrite .CodeMirror-cursor {
}

.cm-tab {
  display: inline-block;
  text-decoration: inherit;
}

.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  position: absolute;
}

/* DEFAULT THEME */

.cm-s-default .cm-header {
  color: blue;
}

.cm-s-default .cm-quote {
  color: #090;
}

.cm-negative {
  color: #d44;
}

.cm-positive {
  color: #292;
}

.cm-header, .cm-strong {
  font-weight: bold;
}

.cm-em {
  font-style: italic;
}

.cm-link {
  text-decoration: underline;
}

.cm-strikethrough {
  text-decoration: line-through;
}

.cm-s-default .cm-keyword {
  color: #708;
}

.cm-s-default .cm-atom {
  color: #219;
}

.cm-s-default .cm-number {
  color: #164;
}

.cm-s-default .cm-def {
  color: #00f;
}

.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {
}

.cm-s-default .cm-variable-2 {
  color: #05a;
}

.cm-s-default .cm-variable-3 {
  color: #085;
}

.cm-s-default .cm-comment {
  color: #a50;
}

.cm-s-default .cm-string {
  color: #a11;
}

.cm-s-default .cm-string-2 {
  color: #f50;
}

.cm-s-default .cm-meta {
  color: #555;
}

.cm-s-default .cm-qualifier {
  color: #555;
}

.cm-s-default .cm-builtin {
  color: #30a;
}

.cm-s-default .cm-bracket {
  color: #997;
}

.cm-s-default .cm-tag {
  color: #170;
}

.cm-s-default .cm-attribute {
  color: #00c;
}

.cm-s-default .cm-hr {
  color: #999;
}

.cm-s-default .cm-link {
  color: #00c;
}

.cm-s-default .cm-error {
  color: #f00;
}

.cm-invalidchar {
  color: #f00;
}

.CodeMirror-composing {
  border-bottom: 2px solid;
}

/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {
  color: #0f0;
}

div.CodeMirror span.CodeMirror-nonmatchingbracket {
  color: #f22;
}

.CodeMirror-matchingtag {
  background: rgba(255, 150, 0, .3);
}

.CodeMirror-activeline-background {
  background: #e8f2ff;
}

/* STOP */

/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */

.CodeMirror {
  position: relative;
  overflow: hidden;
  background: white;
}

.CodeMirror-scroll {
  overflow: scroll !important;
  /* Things will break if this is overridden */
  /* 30px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -30px;
  margin-right: -30px;
  padding-bottom: 30px;
  height: 100%;
  outline: none;
  /* Prevent dragging from highlighting the element */
  position: relative;
}

.CodeMirror-sizer {
  position: relative;
  border-right: 30px solid transparent;
}

/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actual scrolling happens, thus preventing shaking and
   flickering artifacts. */

.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none;
}

.CodeMirror-vscrollbar {
  right: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}

.CodeMirror-hscrollbar {
  bottom: 0;
  left: 0;
  overflow-y: hidden;
  overflow-x: scroll;
}

.CodeMirror-scrollbar-filler {
  right: 0;
  bottom: 0;
}

.CodeMirror-gutter-filler {
  left: 0;
  bottom: 0;
}

.CodeMirror-gutters {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
}

.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  display: inline-block;
  margin-bottom: -30px;
  /* Hack to make IE7 behave */
  zoom:1;
  display:inline;
}

.CodeMirror-gutter-wrapper {
  position: absolute;
  z-index: 4;
  background: none !important;
  border: none !important;
}

.CodeMirror-gutter-background {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 4;
}

.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4;
}

.CodeMirror-gutter-wrapper {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
}

.CodeMirror-lines {
  cursor: text;
  min-height: 1px;
  /* prevents collapsing before first draw */
}

.CodeMirror pre {
  /* Reset some styles that the rest of the page might have set */
  border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
}

.CodeMirror-wrap pre {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal;
}

.CodeMirror-linebackground {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
}

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  overflow: auto;
}

.CodeMirror-widget {
}

.CodeMirror-code {
  outline: none;
}

/* Force content-box sizing for the elements where we expect it */

.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
  box-sizing: content-box;
}

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.CodeMirror-cursor {
  position: absolute;
}

.CodeMirror-measure pre {
  position: static;
}

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3;
}

div.CodeMirror-dragcursors {
  visibility: visible;
}

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible;
}

.CodeMirror-selected {
  background: #d9d9d9;
}

.CodeMirror-focused .CodeMirror-selected {
  background: #d7d4f0;
}

.CodeMirror-crosshair {
  cursor: crosshair;
}

.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection {
  background: #d7d4f0;
}

.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection {
  background: #d7d4f0;
}

.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection {
  background: #d7d4f0;
}

.cm-searching {
  background: #ffa;
  background: rgba(255, 255, 0, .4);
}

/* IE7 hack to prevent it from returning funny offsetTops on the spans */

.CodeMirror span { *vertical-align: text-bottom;
}

/* Used to force a border model for a node */

.cm-force-border {
  padding-right: .1px;
}

@media print {
  /* Hide the cursor when printing */

  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden;
  }
}

/* See issue #2901 */

.cm-tab-wrap-hack:after {
  content: '';
}

/* Help users use markselection to safely style text background */

span.CodeMirror-selectedtext {
  background: none;
}

.CodeMirror-hints {
  position: absolute;
  z-index: 10;
  overflow: hidden;
  list-style: none;
  margin: 0;
  padding: 2px;
  box-shadow: 2px 3px 5px rgba(0,0,0,.2);
  border-radius: 3px;
  border: 1px solid silver;
  background: white;
  font-size: 90%;
  font-family: monospace;
  max-height: 20em;
  overflow-y: auto;
}

.CodeMirror-hint {
  margin: 0;
  padding: 0 4px;
  border-radius: 2px;
  white-space: pre;
  color: black;
  cursor: pointer;
}

li.CodeMirror-hint-active {
  background: #08f;
  color: white;
}

:root {
  --panel-bg-color: rgba(31, 41, 55, 1.000);
  --panel-bg-overlapping-color: #353e4b;
}

.panel-base {
  padding: 8px 14px;
  background: var(--panel-bg-color);
  border-radius: 2px;
  box-shadow: 0 2px 7px rgba(0,0,0,.15), 0 5px 17px rgba(0,0,0,.2);
  font-family: var(--inter-font);
  line-height: 1;
  position: relative;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.panel-arrow {
  position: absolute;
  height: 0px;
  width: 0px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid var(--panel-bg-color);
}

.panel-arrow-overlapping {
  border-bottom: 5px solid var(--panel-bg-overlapping-color);
}

.panel-arrow.top-left {
  left: 0px;
  bottom: 0px;
  transform: translate(14px, 100%) rotate(180deg);
}

.panel-arrow.top-right {
  right: 0px;
  bottom: 0px;
  transform: translate(-14px, 100%) rotate(180deg);
}

.panel-arrow.top-center {
  bottom: 0px;
  left: 50%;
  transform: translate(-50%, 100%) rotate(180deg);
}

.panel-arrow.center-left {
  left: 0px;
  top: 50%;
  transform: translate(-7px, -50%) rotate(-90deg);
}

.panel-arrow.center-right {
  right: 0px;
  top: 50%;
  transform: translate(7px, -50%) rotate(90deg);
}

.panel-arrow.bottom-left {
  left: 0px;
  top: 0px;
  transform: translate(14px, -100%);
}

.panel-arrow.bottom-right {
  right: 0px;
  top: 0px;
  transform: translate(-14px, -100%);
}

.panel-arrow.bottom-center {
  top: 0px;
  left: 50%;
  transform: translate(-50%, -100%);
}

/* Defaults */

html, body {
  /* Make sure root elements have a width and height set across browsers.
     This is used to have a correct initial size to make the footer sticky.
  */
  width: 100%;
  height: 100%;
}

@media (max-width: 1110px) {
  html {
    font-size: 16px;
  }
}

:root {
  --page-width: 64rem;
  --page-inset: 3rem;
}

@media (max-width: 540px) {
  :root {
    --page-inset: 2rem;
  }
}

.page-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.page-content {
  flex: 1;
}

.page-bg-offset .page-content {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
  padding-bottom: 3rem;
}

.page {
  max-width: var(--page-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-inset);
  padding-right: var(--page-inset);
  box-sizing: border-box;
  flex-shrink: 0;
}

.page-grid {
  display: grid;
  grid-template-columns: repeat(12, [col-start] 1fr);
  grid-gap: 20px;
}

.page-text a {
  font-weight: bold;
}

.page-text a:hover {
  text-decoration: underline;
}

.layout-split .page-content {
  padding-bottom: 2 !important;
  display: flex;
  flex-direction: column;
}

.page-split {
  display: flex;
  flex: 1;
  border-bottom: 1px solid #e5e5e5;
}

.page-split-col {
  display: flex;
  flex: 1;
}

.page-split-col-content {
  max-width: calc(var(--page-width) / 2);
  padding: 3rem;
}

.page-split-col-left {
  background: #f4f9f1;
  justify-content: flex-end;
}

.page-split-col-right {
  align-items: center;
}

.page-split-col-left .page-split-col-content {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 970px) {
  .page-split-col-left {
    display: none;
  }

  .page-split-col-right {
    max-width: 100%;
    justify-content: center;
  }

  .page-split-col-content {
    max-width: 36rem;
    width: 100%;
    padding: var(--page-inset);
  }
}

/* TOC section numbering */

body {
  counter-reset: toc-level-1-counter;
}

.sidebar-item[data-level=0] {
  counter-reset: toc-level-1-counter;
}

.nj-toc--numbered .sidebar-item::before {
  line-height: 1.5;
}

.nj-toc--numbered .sidebar-item[data-level="1"]::before {
  content: counter(toc-level-1-counter) ".\0000a0";
  counter-increment: toc-level-1-counter;
}

.sidebar-item[data-level="1"] {
  counter-reset: toc-level-2-counter;
}

.nj-toc--numbered .sidebar-item[data-level="2"]::before {
  content: counter(toc-level-1-counter) "." counter(toc-level-2-counter) ".\0000a0";
  counter-increment: toc-level-2-counter;
}

.sidebar-item[data-level="2"] {
  counter-reset: toc-level-3-counter;
}

.nj-toc--numbered .sidebar-item[data-level="3"]::before {
  content: counter(toc-level-1-counter) "." counter(toc-level-2-counter) "." counter(toc-level-3-counter) ".\0000a0";
  counter-increment: toc-level-3-counter;
}

.eb {
  font-weight: 500;
}

:root {
  --hl-color: #84c3d5;
}

.hl {
  position: relative;
  z-index: 1;
}

.hl::before {
  content: "";
  left: -0.2rem;
  bottom: 0.5rem;
  right: -0.2rem;
  height: 30%;
  position: absolute;
  z-index: -1;
  background: var(--hl-color);
  border-radius: 3rem;
  opacity: 0.7;
}

/* Logo */

.logo,
.logo-white {
  background: url(/images/nextjournal-logo.svg) center center no-repeat;
  background-size: 117px 20px;
  width: 117px;
  height: 20px;
  text-indent: -999em;
  display: block;
}

.logo-white {
  background-image: url(/images/nextjournal-logo-white.svg);
}

.logo-mobile {
  display: block;
  position: relative;
}

.logo.logo-desktop,
.logo-white.logo-desktop {
  display: none;
}

@media screen and (min-width: 640px) {
  .logo-mobile {
    display: none !important;
  }

  .logo.logo-desktop,
  .logo-white.logo-desktop {
    display: block;
  }
}

@media (max-width: 640px) {
  .logo {
    position: relative;
  }
}

/* Buttons */

:root {
  --focus-ring-teal: 0 0 0 2px var(--teal-transparent-color);
  --focus-ring-dark-teal: 0 0 0 2px var(--dark-teal-transparent-color);
  --focus-ring-red: 0 0 0 2px var(--red-transparent-color);
  --focus-ring-green: 0 0 0 2px var(--green-transparent-color);
}

.disabled,
:disabled {
  opacity: 0.6;
}

button:focus {
  outline: none;
}

/* Buttons */

.nj-button {
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.nj-button:disabled,
.nj-button--primary:disabled,
.nj-button--secondary:disabled,
.nj-button-sm--primary:disabled,
.nj-button-sm--secondary:disabled {
  opacity: 0.7 !important;
  cursor: default !important;
}

.nj-button--secondary:disabled,
.nj-button-sm--secondary:disabled {
  background: white !important;
}

.nj-button:focus {
  outline: none;
}

.nj-button--primary,
.nj-button--secondary,
.nj-button--danger,
.nj-button-sm--primary,
.nj-button-sm--secondary,
.nj-button-sm--danger {
  height: 40px;
  position: relative;
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 0.125rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.slideshow .nj-button--primary, .slideshow 
.nj-button--secondary, .slideshow 
.nj-button--danger, .slideshow 
.nj-button-sm--primary, .slideshow 
.nj-button-sm--secondary, .slideshow 
.nj-button-sm--danger {
  font-size: 1em;
}

.nj-button--primary,
.nj-button--secondary,
.nj-button--danger,
.nj-button-sm--primary,
.nj-button-sm--secondary,
.nj-button-sm--danger {
  font-family: var(--sans-serif-font);
  text-decoration: none;
  border: 0;
  transition: all 0.2s ease;
}

.nj-button--primary.nj-button--ui,
.nj-button--secondary.nj-button--ui,
.nj-button-sm--primary.nj-button--ui,
.nj-button-sm--secondary.nj-button--ui {
  letter-spacing: 0;
  line-height: 26px;
  text-transform: none;
}

.nj-button--drop {
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--sans-serif-font);
}

.nj-button-sm--primary, 
.nj-button-sm--secondary, 
.nj-button-sm--danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 0.9rem;
  font-size: 0.7rem;
}

.nj-button--primary:focus,
.nj-button-sm--primary:focus,
.nj-button--secondary:focus,
.nj-button-sm--secondary:focus,
.nj-button--danger:focus,
.nj-button-sm--danger:focus {
  outline: none;
}

.nj-button--primary,
.nj-button-sm--primary {
  background-color: var(--dark-blue-color);
  color: #fff;
}

.nj-button--primary:hover:not(.disabled),
.nj-button-sm--primary:hover:not(:disabled) {
  opacity: 1;
  background-color: #404854;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.nj-button--secondary, 
.nj-button-sm--secondary {
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  color: var(--dark-blue-color);
}

.nj-button--secondary:hover:not(:disabled),
.nj-button-sm--secondary:hover:not(:disabled) {
  opacity: 1;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.nj-button--primary:active:not(.disabled),
.nj-button-sm--primary:active:not(.disabled),
.nj-button--primary:active:not(:disabled),
.nj-button-sm--primary:active:not(:disabled),
.nj-button--secondary:active:not(.disabled),
.nj-button-sm--secondary:active:not(.disabled),
.nj-button--secondary:active:not(:disabled),
.nj-button-sm--secondary:active:not(:disabled) {
  opacity: 1;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.nj-button--danger,
.nj-button-sm--danger {
  background: var(--dark-red-color);
  color: white;
  border: 1px solid var(--dark-red-color);
}

.nj-button--danger:hover:not(.disabled),
.nj-button-sm--danger:hover:not(.disabled),
.nj-button--danger:active:not(.disabled),
.nj-button-sm--danger:active:not(.disabled) {
  opacity: 1;
  background: var(--dark-red-color);
  border: 1px solid var(--dark-red-color);
  box-shadow: var(--focus-ring-red);
}

.nj-button--link,
.nj-button--goto,
.nj-button--pill,
.nj-button--unstyled {
  border: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  line-height: normal;
  box-sizing: content-box;
  font-family: var(--sans-serif-font);
}

.nj-button--link,
.nj-button--goto,
.nj-button--pill {
  color: var(--teal-color);
  transition: opacity 0.25s ease;
  text-decoration: none;
}

.nj-button--link:hover {
  opacity: 0.5;
}

.nj-button--link:focus,
.nj-button--goto:focus,
.nj-button--pill:focus,
.nj-button--unstyled {
  outline: none;
}

.nj-button--goto {
  background: rgba(0,0,0,.1);
  padding: 0 6px;
  border-radius: 3px;
  color: black;
  height: 20px;
  line-height: 20px;
}

.nj-button--goto:hover {
  background: var(--teal-color);
  color: white;
}

.nj-button--pill {
  padding: 2px 7px;
  background: white;
  border: 2px solid rgba(0,0,0,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: black;
  border-radius: 16px;
  cursor: pointer;
  font-size: 11px;
}

.nj-button--pill:hover {
  background: var(--teal-color);
  color: white;
}

.nj-button--pill:hover .icon {
  fill: white !important;
}

.nj-button--upgrade {
  background: var(--teal-transparent-color);
  border-radius: 30px;
  border: 1px solid rgba(0,0,0,.05);
}

.nj-button--upgrade:hover {
  background: rgba(0, 153, 170, .08);
  opacity: 1;
}

.nj-button--regular {
  padding: 0 14px;
  font-family: var(--sans-serif-font);
  text-transform: none;
  letter-spacing: 0;
}

/* Button Groups */

.nj-button-group {
  display: flex;
}

.nj-button-group button,
.nj-button-group a {
  position: relative;
  z-index: 0;
}

.nj-button-group button:active,
.nj-button-group a {
  z-index: 1;
}

.nj-button-group button:first-child,
.nj-button-group a:first-child {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.nj-button-group button:last-child,
.nj-button-group a:last-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.nj-button-group button:not(:first-child):not(:last-child),
.nj-button-group a:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.nj-button-group button:not(:first-child),
.nj-button-group a:not(:first-child) {
  margin-left: -1px;
}

.more-actions {
  position: absolute;
  bottom: 0;
  righ: 0;
}

/* Inputs */

.nj-input,
.nj-input--invalid,
.nj-input--valid {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: 0;
  border-radius: 4px;
  font-size: 15px;
  font-family: var(--sans-serif-font);
  padding: 0 14px;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
  height: 40px;
  line-height: 40px;
  background: white;
}

.nj-input:focus,
.nj-input:focus-within {
  box-shadow: inset 0 1px 2px rgba(0,0,0,.05), 0 0 0 1px rgba(48, 175, 208, 0.5);
  border: 1px solid rgba(48, 175, 208, 0.5);
}

.nj-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.nj-input--invalid,
.nj-input--invalid:focus {
  border-color: var(--red-color);
}

.nj-input--valid {
  border-color: var(--green-color);
}

.nj-input.nj-input-sm {
  height: 28px;
  line-height: 28px;
  font-size: 0.75rem;
  padding: 0 0.7rem;
}

.panel-input {
  color: white;
  font-family: var(--inter-font);
  background: #455568;
  height: 24px;
  border-radius: 2px;
  font-size: 0.75rem;
  padding-left: 5px;
  padding-right: 5px;
  box-shadow: inset 0 3px 3px rgba(0,0,0,.15);
  border: 1px solid rgba(255,255,255,.1);
}

.panel-input::-moz-placeholder {
  color: rgba(255,255,255,.7) !important;
}

.panel-input:-ms-input-placeholder {
  color: rgba(255,255,255,.7) !important;
}

.panel-input::placeholder {
  color: rgba(255,255,255,.7) !important;
}

.nj-input-checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 3px;
  border: 1px solid var(--dark-blue-60-color);
  background: white;
  outline: none !important;
  box-shadow: none !important;
}

.nj-input-checkbox:checked {
  background: var(--dark-blue-color) url(/images/icons/CheckmarkBoldWhite.svg) center center no-repeat !important;
  background-size: 12px 12px !important;
}

/*.nj-input-checkbox,*/

/*.nj-input-checkbox:hover,*/

/*.nj-input-checkbox:focus {*/

/*  appearance: none;*/

/*  padding: 0;*/

/*  display: inline-block;*/

/*  vertical-align: middle;*/

/*  background-origin: border-box;*/

/*  user-select: none;*/

/*  flex-shrink: 0;*/

/*  border: 1px solid var(--dark-blue-60-color);*/

/*  outline: none;*/

/*  box-shadow: none;*/

/*}*/

/*.nj-input-checkbox:checked,*/

/*.nj-input-checkbox:focus:checked,*/

/*.nj-input-checkbox:hover:checked {*/

/*  border: 1px solid var(--dark-blue-color);*/

/*  background: var(--dark-blue-color) url(/images/icons/CheckmarkBoldWhite.svg) center center no-repeat;*/

/*  background-size: 12px 12px;*/

/*}*/

/* Popovers */

.menu-arrow {
  width: 22px;
  height: 12px;
  background: url(/images/menu-arrow.svg) center top no-repeat;
  position: absolute;
  left: 50%;
  margin-left: -11px;
  bottom: -10px;
}

.popover-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1003;
}

.menu-arrow-top {
  top: -10px;
  bottom: auto;
  transform: rotate(180deg);
}

.menu-arrow-right {
  top: 50%;
  bottom: auto;
  left: auto;
  right: -15px;
  margin: -6px 0 0 0;
  transform: rotate(-90deg);
}

.menu-arrow-left {
  top: 50%;
  bottom: auto;
  left: auto;
  left: -15px;
  margin: -6px 0 0 0;
  transform: rotate(90deg);
}

.popover {
  max-width: 350px;
  padding: 8px 0;
  background: #1f2937;
  border-radius: 2px;
  box-shadow: 0 2px 7px rgba(0,0,0,.15), 0 5px 17px rgba(0,0,0,.2);
  display: none;
  z-index: 990;
}

.popover-item {
  font-size: 12px;
  padding: 5px 14px;
  white-space: nowrap;
  color: white;
  font-family: var(--inter-font);
  background-color: transparent;
  display: flex;
  align-items: center;
  flex: 1;
}

.popover-item:hover {
  opacity: 1;
  background-color: rgba(28, 42, 56, 0.6);
}

.open .popover {
  display: block;
}

.visible .pop {
  opacity: 1;
  transform: scale(1) translateX(0) translateY(0);
}

.toolbox-link-editor,
.toolbox,
.toolbox-cm,
.link-preview {
  position: absolute;
  background: white;
  border-radius: 5px;
  border: 1px solid rgba(0,0,0,.2);
  box-shadow: 0 2px 2px rgba(0,0,0,.1);
  z-index: 991;
}

.toolbox,
.toolbox-cm,
.link-preview {
  margin-bottom: 5px;
}

.link-preview {
  transform: translate(-50%, -100%);
}

.toolbox-link-editor {
  padding: 4px;
}

.toolbox-content {
  display: flex;
  padding: 3px;
}

.toolbox-button {
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 3px;
}

.toolbox-button:hover {
  background-color: var(--light-silver-color);
}

/* Icons */

.icon,
.icon svg {
  display: inline-block;
  width: 1em;
  height: 1em;
}

/* Scheduling */

@-webkit-keyframes dish {
  0% {
    transform: rotate(0) translate(0, 0);
  }

  40% {
    transform: rotate(0) translate(0, 0);
  }

  50% {
    transform: rotate(-85deg) translate(31%, 35%);
  }

  90% {
    transform: rotate(-85deg) translate(31%, 35%);
  }

  100% {
    transform: rotate(0) translate(0, 0);
  }
}

@keyframes dish {
  0% {
    transform: rotate(0) translate(0, 0);
  }

  40% {
    transform: rotate(0) translate(0, 0);
  }

  50% {
    transform: rotate(-85deg) translate(31%, 35%);
  }

  90% {
    transform: rotate(-85deg) translate(31%, 35%);
  }

  100% {
    transform: rotate(0) translate(0, 0);
  }
}

@-webkit-keyframes wave {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  40% {
    opacity: 0;
  }

  60% {
    opacity: 0;
  }

  70% {
    opacity: 1;
  }

  80% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes wave {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  40% {
    opacity: 0;
  }

  60% {
    opacity: 0;
  }

  70% {
    opacity: 1;
  }

  80% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

#dish {
  transform-origin: center bottom;
  -webkit-animation-name: dish;
          animation-name: dish;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

#wave1 {
  -webkit-animation-name: wave;
          animation-name: wave;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

#wave2 {
  -webkit-animation-name: wave;
          animation-name: wave;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
}

@-webkit-keyframes stripes {
  0% {
    background-position: 8px 0;
  }

  100% {
    background-position: 0 0;
  }
}

@keyframes stripes {
  0% {
    background-position: 8px 0;
  }

  100% {
    background-position: 0 0;
  }
}

.animating-stripes::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-image:
    linear-gradient(45deg, rgba(31, 41, 55, 0.2) 25%, transparent 25%, transparent 50%, rgba(31, 41, 55, 0.2) 50%, rgba(31, 41, 55, 0.2) 75%, transparent 75%, transparent);
  background-size: 8px 8px;
  -webkit-animation: stripes 2s linear infinite;
          animation: stripes 2s linear infinite;
}

.code-cell-header,
.code-cell-footer {
  transition: border-color 0.25s ease;
}

.code-cell-header {
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.code-cell-footer {
  border-top: 1px solid rgba(0,0,0,.05);
}

.code-cell:hover .code-cell-header,
.code-cell.focused .code-cell-footer,
.code-cell:hover .code-cell-footer,
.code-cell.focused .code-cell-footer {
  border-color: rgba(0,0,0,.1);
}

.code-cell-content {
  position: relative;
  border-radius: 0.25rem;
  border: 1px solid rgba(0,0,0,.05);
  transition: border-color 0.25s ease;
  background-color: var(--near-white-color);
}

.code-cell:hover .code-cell-content,
.code-cell.focused .code-cell-content {
  border-color: transparent;
}

.code-cell-content::before {
  border-radius: 0.25rem;
  content: "";
  left: -2px;
  top: -2px;
  right: -2px;
  bottom: -2px;
  position: absolute;
  border: 2px solid transparent;
  transition: border-color 0.25s ease;
}

.code-cell:hover .code-cell-content::before {
  border-color: rgba(0, 156, 170, 0.3);
}

.code-cell.focused .code-cell-content::before {
  border-color: rgba(0, 156, 170, 0.6);
}

@-webkit-keyframes copied-code-cell {
  from {
    border-color: var(--green-color);
  }

  to {
    border-color: rgba(0, 156, 170, 0.6);
  }
}

@keyframes copied-code-cell {
  from {
    border-color: var(--green-color);
  }

  to {
    border-color: rgba(0, 156, 170, 0.6);
  }
}

.copied-node .code-cell.focused .code-cell-content::before {
  -webkit-animation-name: copied-code-cell;
          animation-name: copied-code-cell;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}

@-webkit-keyframes highlight {
  from {
    border-color: var(--orange-color);
  }

  to {
    border-color: transparent;
  }
}

@keyframes highlight {
  from {
    border-color: var(--orange-color);
  }

  to {
    border-color: transparent;
  }
}

.highlight .code-cell .code-cell-content::before,
.highlight .runtime-node {
  -webkit-animation-name: highlight;
          animation-name: highlight;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}

.result-view:focus {
  outline: none;
}

.result-view.selected {
  border-color: rgba(0, 156, 170, 0.6);
}

.result-view.selected .copy-button {
  opacity: 1;
}

.copied-output .result-view {
  -webkit-animation-name: copied-output;
          animation-name: copied-output;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}

.copied-output .result-view.selected {
  -webkit-animation-name: copied-code-cell;
          animation-name: copied-code-cell;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}

.result-view.file-view {
  padding: 0;
  margin-top: 5px;
}

.code-cell-name {
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,.05);
  background: transparent;
  color: rgba(0,0,0,.5);
  margin-right: 0.5rem;
  transition: all 0.25s ease;
  padding: 2px 3px;
}

.code-cell-name:hover {
  border-color: rgba(0,0,0,.1);
}

.code-cell-name:focus {
  border-color: rgba(0,0,0,.1);
  background: white;
  color: black;
  outline: none;
}

.spinner-uploading,
.spinner-downloading {
  width: 16px;
  height: 16px;
  background: var(--light-silver-color);
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.anim-uploading,
.anim-downloading {
  position: absolute;
  left: 0;
  top: 0;
}

@-webkit-keyframes uploading {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(-100%);
  }
}

@keyframes uploading {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(-100%);
  }
}

.anim-uploading {
  -webkit-animation: uploading 1.5s linear infinite;
          animation: uploading 1.5s linear infinite;
}

@-webkit-keyframes downloading {
  0% {
    transform: translateY(-100%);
  }

  100% {
    transform: translateY(100%);
  }
}

@keyframes downloading {
  0% {
    transform: translateY(-100%);
  }

  100% {
    transform: translateY(100%);
  }
}

.anim-downloading {
  -webkit-animation: downloading 1.5s linear infinite;
          animation: downloading 1.5s linear infinite;
}

.nj-kv-rows {
}

.nj-kv-row {
  display: flex;
  align-items: flex-start;
}

.nj-kv-key,
.nj-kv-value {
  border: 1px solid rgba(0,0,0,.1);
  border-bottom: 0;
  padding: 0 7px;
  margin: 0;
  font-size: 14px;
  font-family: var(--code-font);
  position: relative;
  color: rgba(71, 71, 71, 1.000);
  line-height: 24px;
  height: 28px;
  box-sizing: border-box;
}

.nj-kv-key:focus,
.nj-kv-value:focus {
  outline: none;
  box-shadow: 0 0 1px 1px var(--teal-color);
  z-index: 1;
  color: black;
}

.nj-kv-key {
  border-right: 0;
  width: 40%;
  font-weight: 700;
}

.nj-kv-value {
  flex: 1;
}

.nj-kv-row:first-of-type .nj-kv-key {
  border-top-left-radius: 3px;
}

.nj-kv-row:last-of-type .nj-kv-key {
  border-bottom-left-radius: 3px;
  border-bottom: 1px solid rgba(0,0,0,.1);
}

.nj-kv-row:first-of-type .nj-kv-value {
  border-top-right-radius: 3px;
}

.nj-kv-row:last-of-type .nj-kv-value {
  border-bottom-right-radius: 3px;
  border-bottom: 1px solid rgba(0,0,0,.1);
}

.nj-kv-full {
  width: 100%;
  border-right: 1px solid rgba(0,0,0,.1);
}

.nj-kv-row:first-of-type .nj-kv-full {
  border-top-left-radius: 3px !important;
  border-top-right-radius: 3px;
}

.nj-kv-row:last-of-type .nj-kv-full {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.nj-kv-delete,
.nj-kv-action {
  padding: 0;
  margin-left: 7px;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
}

.runtimes-table {
  width: 100%;
  padding-top: 14px;
}

.runtimes-table th {
  text-align: left;
  font-size: 13px;
  font-weight: normal;
  padding: 0 7px 7px 0;
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.runtimes-table th:first-child {
  padding-left: 14px;
}

.runtimes-table input[type="checkbox"] {
  margin-right: 7px;
  margin-left: 14px;
}

.runtimes-table input[type="text"] {
  font-family: var(--sans-serif-font);
  padding: 0 4px;
  line-height: 24px;
  height: 24px;
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
  width: calc(100% - 7px);
}

.runtimes-table .needs-restart input[type="text"] {
  width: calc(100% - 100px - 5px - 7px);
}

.runtimes-table input[type="text"]:focus {
  box-shadow: inset 0 1px 2px rgba(0,0,0,.05), 0 0 0 1px rgba(48, 175, 208, 0.5);
  border: 1px solid rgba(48, 175, 208, 0.5);
}

.runtimes-table button {
  width: 100px;
  height: 24px;
  padding: 0 4px;
  font-size: 11px;
  margin: 0 0 0 5px;
  text-transform: none;
  letter-spacing: 0;
  line-height: 24px;
}

.runtimes-table-value {
  width: 50%;
}

.runtimes-table td {
  border-bottom: 1px solid rgba(0,0,0,.05);
  padding: 5px 20px 5px 0;
}

.runtimes-table tr td:last-child {
  padding-right: 3px !important;
}

.runtimes-table tbody tr:first-child td {
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.runtimes-table tbody tr:last-child td {
  border-bottom: 0;
}

.disable-gradient {
  background: linear-gradient(rgba(251, 251, 253, 0.15), rgba(251, 251, 253, 0.9));
}

.nj-navbar {
  height: 40px;
  align-items: center;
  display: flex;
}

.nj-scroller--h {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.nj-pill {
  background: var(--teal-color);
  border-radius: 20px;
  padding: 3px 7px;
  color: white;
}

.tnum {
  font-feature-settings: "tnum";
  -webkit-font-feature-settings: "tnum";
  -moz-font-feature-settings: "tnum";
}

/* Tooltips */

.tooltip {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  padding: 5px;
  z-index: 1005;
  transform: translateZ(1000px);
}

.tooltip .extra {
  color: #888;
}

.preview-tooltip {
  padding: 0;
  margin-top: 10px;
}

.preview-tooltip .tooltip-box {
  background: none;
  box-shadow: none;
  color: var(--near-black-color);
  font-family: var(--sans-serif-font);
  border-radius: 0;
  font-weight: normal;
  padding: 0;
}

.preview-tooltip::before,
.preview-tooltip::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  content: "";
  width: 0;
  height: 0;
}

.preview-tooltip::before {
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid rgba(209, 213, 219, 1.000);
  margin-left: 0px;
}

.preview-tooltip::after {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid white;
}

@media (max-width: 640px) {
  .tooltip {
    display: none !important;
  }
}

.clipboard-input {
  position: fixed;
  top: 0;
  left: -999em;
  opacity: 0;
}

/* Badges */

.nj-badge {
  display: inline-block;
  font-size: 11px;
  height: 15px;
  line-height: 15px;
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,.1);
  padding: 0 4px;
}

/* Top Bar */

:root {
  --topbar-height: 48px;
}

#topbar-edit,
#topbar-show {
  height: var(--topbar-height);
  z-index: 881;
  flex-shrink: 0;
}

:root {
  --topbar-site-height: 60px;
}

#topbar-site {
  height: var(--topbar-site-height);
}

#topbar-edit,
#topbar-show {
  width: 100%;
  max-width: 100vw;
}

#topbar-edit.sidebar-collapsed,
#topbar-show.sidebar-collapsed {
  padding-left: 50px;
}

@media (max-width: 640px) {
  #topbar-show,
  #topbar-edit {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #topbar-show.sidebar-collapsed {
    padding-left: 50px !important;
  }
}

#topbar-show {
  border-bottom: 1px solid rgba(0,0,0,.05);
}

@media (max-width: 940px) {
  #topbar-edit:not(.sidebar-collapsed) #run-stop-button {
    display: none;
  }
}

@media (max-width: 640px) {
  .nb-action {
    display: none;
  }
}

@media (max-width: 940px) {
  #topbar-edit:not(.sidebar-collapsed) #run-controls-button {
    display: none;
  }
}

@media (max-width: 680px) {
  #run-stop-button,
  #run-controls-button {
    display: none;
  }
}

@media screen and (max-width: 860px) {
  .home-link {
    margin-right: 0 !important;
  }
}

.topbar-link {
  font-size: 0.7rem;
  text-transform: uppercase;
  font-family: var(--code-font);
}

.slideshow {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  overflow: auto;
  z-index: 883;
  transition: opacity 0.8s ease;
  opacity: 0;
}

.slideshow.visible {
  opacity: 1;
}

.slideshow .notebook-content {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.slideshow-options {
  position: fixed;
  z-index: 884;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.slideshow-options:hover,
.slideshow-options.visible {
  opacity: 1;
}

.slideshow-close-icon {
  opacity: 0.15;
  transition: opacity 0.2s ease;
}

.slideshow-close-icon:hover {
  opacity: 0.3;
}

.slideshow .sidebar {
  display: none !important;
}

.slideshow .max-w-2xl {
  max-width: 100% !important;
}

.slideshow h2 {
  font-size: 3em;
}

.slideshow h3 {
  font-size: 2em;
}

.slideshow p,
.slideshow h4,
.slideshow h5 {
  font-size: 2em;
}

.slideshow .heading {
  margin-top: 40vh;
}

.slideshow .nj-title {
  font-size: 4em;
  margin-top: 40vh;
}

.slideshow .nj-title + .pm-node:not(.nj-subtitle):not(.nj-authors),
.slideshow .nj-subtitle + .pm-node:not(.nj-authors),
.slideshow .nj-authors + .pm-node {
  margin-top: 40vh;
}

.slideshow .nj-subtitle {
  display: block;
  font-size: 2em !important;
}

.slideshow .nj-authors {
  display: block;
  font-size: 1.5em !important;
}

.slideshow.stepping .pm-node,
.slideshow.stepping .pm-node-list {
  opacity: 0.1;
  transition: opacity 0.3s ease;
}

.slideshow.stepping .pm-node.active-slide,
.slideshow.stepping .pm-node-list.active-slide,
.slideshow.stepping .pm-node-list.active-slide .pm-node {
  opacity: 1;
}

.slideshow .section-item figure {
  margin-top: 5em;
  margin-bottom: 5em;
}

.slideshow .CodeMirror {
  font-size: 1em;
}

.slideshow .text-base {
  font-size: 1.2em;
}

.slideshow .text-sm {
  font-size: 1em;
}

.slideshow .text-xs {
  font-size: 0.8em;
}

.slideshow .appendix-section {
  display: none;
}

.slideshow .node-file {
  padding-bottom: 0 !important;
}

.slideshow .runtimes-section,
.slideshow .appendix-section {
  display: none;
}

.slideshow .gutter {
  display: none;
}

.slideshow .result-data {
  font-size: 1em;
}

.slideshow .node img {
  max-height: 90vh;
}

.slideshow .pm-node figure img {
  width: 100%;
  height: 100%;
  max-height: 90vh;
  -o-object-fit: contain;
     object-fit: contain;
}

.slideshow ul li::before {
  width: 12px;
  height: 12px;
  top: 1.2rem;
  border-radius: 7px;
}

.slideshow .nj-list--numbered li .nj-list--bullet li::before,
.slideshow .nj-list--bullet li .nj-list--numbered li::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 7px;
  background: black;
  margin-left: 65px;
  margin-right: 0;
  top: 1.2rem;
}

.slideshow ol li::before {
  font-size: 2em;
  top: 0;
  width: 80px;
  margin-left: 17px;
}

.slideshow ol li .nj-list--numbered li::before {
  width: 80px;
  margin-left: 17px;
}

.slideshow .pm-node-list-item .pm-node {
  margin-left: 50px;
}

.slideshow ol .pm-node-list-item .pm-node {
  margin-left: 50px;
}

.slideshow .nj-todo-checkbox {
  top: 1rem;
  margin-right: 28px;
}

.slideshow .heading + ul,
.slideshow .heading + ol {
  margin-top: 1.5rem !important;
}

/* Outline */

.outline {
  outline: none;
}

.outline-items {
  width: 100%;
}

.outline-item {
  padding: 10px 2rem;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  position: relative;
}

.outline-dragging .outline-item-wrapper {
  transition: all 0.125s ease;
}

.outline-item-dragging {
  opacity: 0;
  height: 0;
  padding: 0;
  pointer-events: none;
}

.outline:not(.outline-dragging) .hover .outline-item {
  background: white;
  box-shadow: 0 0px 6px rgba(0,0,0,.1);
  border-top-color: rgba(0,0,0,.1);
  border-bottom-color: rgba(0,0,0,.1);
  cursor: -webkit-grab;
  cursor: grab;
}

.outline-badge {
  margin-right: 40px;
  width: 100px;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

.outline-item-content {
  position: relative;
  display: block;
  max-width: 600px;
}

.outline-item-content::before {
  background: #d8e1e2;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  position: absolute;
  left: -23px;
  top: 6px;
  content: "";
}

.outline-item-content-heading::before {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  top: 5px;
  left: -25px;
}

.outline-badge-label {
  font-size: 11px;
  background: var(--light-teal-color);
  border-radius: 3px;
  padding: 5px 7px;
  white-space: nowrap;
  line-height: 1;
  height: 20px;
}

.outline-level-1 .outline-item-content {
  margin-left: 25px;
}

.outline-level-2 .outline-item-content {
  margin-left: 50px;
}

.outline-level-3 .outline-item-content {
  margin-left: 75px;
}

.outline-level-indicators {
  position: absolute;
  top: -8px;
  left: calc(100px + 40px + 15px);
  bottom: 6px;
  width: 30px;
}

.outline-level-indicator {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  border-right: 1px solid #d8e1e2;
}

.outline-level-indicator:nth-child(1) {
  left: 0px;
}

.outline-level-indicator:nth-child(2) {
  left: 25px;
}

.outline-level-indicator:nth-child(3) {
  left: 50px;
}

.outline-item-end {
  height: 50px;
}

.outline-ghost {
  position: absolute;
  left: 0;
  top: 0;
}

.outline-clone {
  z-index: 999;
  font-family: var(--sans-serif-font);
  pointer-events: none;
}

.outline-clone .outline-item {
  background: white;
  box-shadow: 0 0px 20px rgba(0,0,0,.2);
  border-top: 1px solid rgba(0,0,0,.1);
  border-bottom: 1px solid rgba(0,0,0,.1);
  cursor: -webkit-grab;
  cursor: grab;
}

/* Tiles */

.tile {
  border-radius: 3px;
  background: white;
  transition: all 0.2s ease;
  overflow: hidden;
  box-shadow: 0 0 30px rgba(30,30,30,.07);
}

.tile-shadow {
  position: absolute;
  top: 5%;
  left: 5%;
  width: 90%;
  height: 90%;
  transition: opacity 0.2s ease-out;
  pointer-events: none;
  box-shadow: 0 10px 35px rgba(14,21,47,0.1), 0 16px 40px rgba(14,21,47,0.4);
  z-index: -1;
  opacity: 0;
}

.hover .tile-shadow {
  opacity: 1;
}

a.tile:hover {
  opacity: 1;
}

.down .tile-shadow {
  box-shadow: 0 0 10px rgba(14,21,47,0.6);
}

.tile-effect {
  transform-style: preserve-3d;
}

.tile-effect-content {
  transition: all 0.125s var(--snap-easing);
}

.safari .tile-effect-content {
  transition: none;
}

.tile-shine {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.25) 0%,rgba(255,255,255,0) 60%);
}

.tile-preview img {
  position: relative;
}

.tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  grid-template-rows: repeat(auto-fill, minmax(220px, 1fr));
  grid-gap: 20px;
}

.tile-delete:hover {
  border: 1px solid var(--dark-red-color) !important;
}

.tile-delete:hover svg {
  opacity: 1;
  fill: var(--dark-red-color) !important;
}

@media (max-width: 496px) {
  .tile-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    grid-template-rows: repeat(auto-fill, minmax(160px, 1fr));
  }
}

.new-import,
.new-article .new-article-icon {
  transition: all 0.3s var(--snap-easing);
}

.new-import:hover,
.new-article:hover .new-article-icon {
  background-color: rgba(0, 153, 170, .07);
}

.tile-sub-actions {
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.4s var(--snap-easing);
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
}

.tile-more {
  opacity: 0.3;
}

.tile-more:hover {
  opacity: 0.6;
}

.tile-delete:hover {
  border-color: rgba(0,0,0,.2);
}

/* Template Select */

.template-list-item {
  padding: 3px 7px;
  margin-left: -7px;
}

.template-list-item:hover,
.template-list-item.selected {
  color: rgba(0,0,0,.6);
}

.template-list-item.selected {
  background: rgba(0, 153, 170, .07);
  box-shadow: 0 0 0 2px var(--teal-color);
  border-radius: 5px;
}

.open .dashboard-select,
.dashboard-select:hover {
  background: white;
  border: 1px solid var(--light-silver-color);
  color: var(--teal-color);
}

.nj-shadow {
  box-shadow: 0 0 30px rgba(30,30,30,.07);
  transition: all 0.2s ease;
}

.nj-shadow-hover:hover {
  cursor: pointer;
  box-shadow: 0 0 40px rgba(30,30,30,.3);
}

.import {
  box-shadow: 0 0 30px rgba(30,30,30,.07);
}

.import .drop-target {
  position: fixed;
  background: rgba(255,255,255,.9);
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 900;
  display: none;
  opacity: 0;
  transition: all 0.3s ease;
}

.import .drop-target .drop-target-text  {
  border: 3px dashed var(--teal-color);
  position: absolute;
  top: 50px;
  right: 50px;
  bottom: 50px;
  left: 50px;
  border-radius: 20px;
  text-align: center;
}

.import.drag-over .drop-target {
  display: block;
  opacity: 1;
}

.import .drop-target .loading {
  display: none;
}

.import .drop-target.loading .drop-label {
  display: none;
}

.import .drop-target.loading .loading {
  display: flex;
}

/* Preview */

.preview {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 900;
  overflow-y: auto;
}

.preview .sidebar {
  display: none;
}

.preview .nj-title {
  display: none;
}

#preview-image {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#preview-image.zoomed img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.polaroid {
  background: white;
  padding: 7px 7px 3px 7px;
  box-shadow: 0 2px 4px rgba(0,0,0,.1);
  border: 1px solid rgba(0,0,0,.05);
}

.polaroid img {
  box-sizing: border-box;
  position: relative;
  border: 1px solid rgba(0,0,0,.05);
}

.image-caption {
  margin-top: 1px;
  padding-bottom: 2px;
}

.image-caption-hint {
  margin-top: 2px;
}

.caption p {
  margin: 0;
}

.box-selected {
  border: 1px solid var(--teal-color);
}

@-webkit-keyframes slide-out-blurred-top {
  0% {
    transform: translateY(0) scaleY(1) scaleX(1);
    transform-origin: 50% 0%;
    filter: blur(0);
    opacity: 1;
  }

  100% {
    transform: translateY(-1000px) scaleY(2) scaleX(0.2);
    transform-origin: 50% 0%;
    filter: blur(40px);
    opacity: 0;
  }
}

@keyframes slide-out-blurred-top {
  0% {
    transform: translateY(0) scaleY(1) scaleX(1);
    transform-origin: 50% 0%;
    filter: blur(0);
    opacity: 1;
  }

  100% {
    transform: translateY(-1000px) scaleY(2) scaleX(0.2);
    transform-origin: 50% 0%;
    filter: blur(40px);
    opacity: 0;
  }
}

.tile-archiving {
  -webkit-animation: slide-out-blurred-top 0.3s cubic-bezier(0.755, 0.050, 0.855, 0.060) both;
          animation: slide-out-blurred-top 0.3s cubic-bezier(0.755, 0.050, 0.855, 0.060) both;
}

.tile-archive-spinner {
  display: none;
}

.tile-requesting-archive .tile-archive-icon {
  display: none;
}

.tile-requesting-archive .tile-archive-spinner {
  display: block;
}

.import .import-loading {
  display: none;
  min-height: 42px;
}

.import.loading .import-form {
  display: none;
}

.import.loading .import-loading {
  display: flex;
}

.import-url-submit .loading {
  display: none;
}

.import-url-submit.loading .loading {
  display: block;
}

.import-url-submit.loading .button-label {
  display: none;
}

.code-cell-editor:hover .cm-scrubbing-numbers .cm-number {
  border-bottom: 2px solid rgba(0,0,0,.1);
}

.code-cell-editor .cm-scrubbing-numbers .cm-number:hover {
  border-bottom: 2px solid rgba(0,0,0,.2);
  cursor: ew-resize;
}

.notification-close {
  opacity: 0.7;
  transition: opacity 0.125s ease;
}

.notification-close:hover {
  opacity: 1;
}

.CodeMirror-hints,
.cm-tooltip {
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(0,0,0,.3);
  border: 1px solid rgba(0,0,0,.2);
  background: white;
  font-family: var(--code-font);
  font-size: 0.8rem;
  padding: 0;
}

.cm-tooltip > ul {
  font-family: var(--code-font) !important;
}

.CodeMirror-hint,
.cm-tooltip li {
  margin: 0;
  padding: 2px 4px;
  border-radius: 0;
  white-space: pre;
  color: black;
  cursor: pointer;
}

.CodeMirror-hint:first-of-type,
.cm-tooltip li:first-of-type {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.CodeMirror-hint:last-of-type,
.cm-tooltip li:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

li.CodeMirror-hint-active,
.cm-tooltip li[aria-selected] {
  background: var(--teal-color) !important;
  color: white !important;
}

.cm-hint-type-info {
  color: rgba(0,0,0,.5);
}

li.CodeMirror-hint-active .cm-hint-type-info {
  color: rgba(255,255,255,.8);
}

span.cm-completionDetail {
  font-style: normal !important;
}

.about-img {
  border: 3px solid white;
  box-shadow: 7px 7px 4px rgba(0,0,0,.13);
}

.pricing-col-separator {
  width: 100%;
  height: 9px;
  border: none;
  background: url(/images/separator-column.svg) 0 center repeat-x;
}

#pricing-signup-box {
  padding: 50px 0;
}

.home-editor, .invite-editor {
  margin-top: 1rem;
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 0 20px rgba(0,0,0,.2);
}

.invite-editor {
  height: 280px;
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 0 20px rgba(0,0,0,.2);
}

@media screen and (min-width: 60em) {
  .about-img-1 {
    max-width: 410px;
    transform: rotate(-1.52deg);
  }

  .about-img-2 {
    max-width: 430px;
    transform: rotate(2.64deg);
  }

  .about-img-3 {
    max-width: 350px;
    transform: rotate(-1.44deg);
  }

  .pricing-col {
    max-width: 264px;
  }

  .home-editor {
    margin-top: 0;
    position: absolute;
    top: 20px;
    left: 50%;
    margin-left: 12px;
    width: 470px;
    height: 430px;
    transform: translate(10px, 35px);
    overflow: hidden;
  }

  .home-intro {
    margin-top: px;
    width: 440px;
  }

  .home-intro .hd1 {
    font-size: 36px;
  }
}

.code-docs h1,
.code-docs h2,
.code-docs h3,
.code-docs h4 {
  font-weight: normal;
  font-size: 0.8rem;
  font-style: italic;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.code-docs code {
  font-size: 0.8rem;
  font-weight: bold;
  color: black;
}

.code-docs span[style] {
  color: black !important;
  font-weight: bold;
}

.password-fields {
  position: absolute;
  left: -999em;
}

.password-filled .password-fields {
  position: relative;
  left: 0;
}

.password-filled .continue-with-email {
  display: none;
}

#set-password {
  display: flex;
}

.stripe-card-input {
  background: white;
  height: 42px;
  line-height: 40px;
  padding: 0.6rem 0.9rem;
}

.active-collaborator:hover {
  transform: scale(1.15);
}

.active-collaborator a:hover {
  opacity: 1 !important;
}

.invite-box-input {
  border: 0;
  padding: 7px 9px;
}

.invite-box-input:focus {
  outline: none;
  box-shadow: 0 0 0 1px var(--teal-color);
}

.collaborators-select-role {
  width: 110px;
}

.modal-backdrop {
  transition: opacity 0.125s ease-in-out;
}

.modal-sheet {
  transition: all 0.5s var(--snap-easing);
  opacity: 0;
  transform: scale(0.90) translateY(4%);
}

.modal-sheet-visible {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.modal-bg-offset {
  background: #fcfcfc;
}

.page-modal {
  position: fixed;
  top: 40px;
  left: 40px;
  right: 40px;
  bottom: 40px;
}

.modal-publish,
.modal-history,
.modal-preview-template {
  position: fixed;
  left: 40px;
  top: 40px;
  right: 40px;
  bottom: 40px;
  overflow: hidden;
}

.modal-preview-template {
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 80px);
  max-width: 900px;
}

.modal-preview-template .modal-close {
  margin-top: 2px;
}

.modal-outline,
.modal-run-on-a-schedule,
.modal-collaborators,
.modal-settings,
.modal-handle,
.modal-url-import,
.modal-runtime,
.modal-save-env,
.modal-ask-for-help,
.modal-keybindings {
  max-width: 840px;
  width: 100%;
  position: fixed;
  left: 50%;
  top: 40px;
  transform: translateX(-50%);
  overflow: hidden;
}

.modal-settings,
.modal-save-env,
.modal-handle {
  max-width: 550px;
}

.modal-run-on-a-schedule,
.modal-runtime {
  max-width: 700px;
}

.modal-runtime,
.modal-runtime .modal-content,
.modal-save-env {
  max-height: calc(100vh - 70px);
}

.modal-ask-for-help {
  max-width: 450px;
}

.modal-outline .modal-content {
  min-height: 450px;
}

.modal-publish .modal-content,
.modal-history .modal-content,
.modal-preview-template .modal-content {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.modal-url-import {
  max-width: 550px;
}

.inspector-visible .page-modal,
.inspector-visible .modal-publish,
.inspector-visible .modal-history {
  right: calc(var(--inspector-width) + 40px);
}

.kbd {
  box-shadow: 0 2px 2px rgba(0,0,0,.1);
  background: white;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 3px;
  font-size: 0.75em;
  padding: 2px 5px;
  position: relative;
  top: -2px;
  font-family: var(--code-font);
  text-transform: uppercase;
}

/* ProseMirror */

.prosemirror :focus {
  outline: none;
}

.ProseMirror {
  position: relative;
  word-wrap: break-word;
  white-space: pre-wrap;
  white-space: break-spaces;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0;
  /* the above doesn't seem to work in Edge */
}

.ProseMirror pre {
  white-space: pre-wrap;
}

.ProseMirror li {
  position: relative;
}

.ProseMirror-focused .selected *::-moz-selection {
  background: transparent;
}

.ProseMirror-focused .selected *::selection {
  background: transparent;
}

.ProseMirror-focused .selected *::-moz-selection {
  background: transparent;
}

.ProseMirror-focused .selected .nj-selection--block,
.ProseMirror-focused .selected .code-block:not(.nj-code-preview) {
  box-shadow: 0 0 0 3px rgb(136, 204, 255);
}

.ProseMirror-focused .nj-stdout *::-moz-selection, .caption .ProseMirror-focused *::-moz-selection {
  background: Highlight !important;
}

.ProseMirror-focused .nj-stdout *::selection,
.caption .ProseMirror-focused *::selection {
  background: Highlight !important;
}

.ProseMirror-hideselection *::-moz-selection {
  background: transparent;
}

.ProseMirror-hideselection *::selection {
  background: transparent;
}

.ProseMirror-hideselection *::-moz-selection {
  background: transparent;
}

.ProseMirror-hideselection {
  caret-color: transparent;
}

.ProseMirror-selectednode {
  outline: 2px solid rgb(136, 204, 255);
}

.nj-code .nj-code-preview::after {
  content: "";
  position: absolute;
  bottom: 27px;
  left: 0;
  width: 100%;
  border-top: 1px solid rgba(0,0,0,.05);
}

/* Make sure li selections wrap around markers */

li.ProseMirror-selectednode {
  outline: none;
}

li > .ProseMirror-selectednode:after {
  bottom: 0;
  left: -5px;
  right: 0;
}

.ProseMirror-gapcursor {
  display: none;
  pointer-events: none;
  position: absolute;
  left: var(--gutter-padding);
}

@media (min-width: 640px) {
  .ProseMirror-gapcursor {
    left: calc(var(--gutter-padding) + 1rem + 9px);
  }
}

.ProseMirror-gapcursor:after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  width: 20px;
  border-top: 1px solid black;
  -webkit-animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
          animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
}

@-webkit-keyframes ProseMirror-cursor-blink {
  to {
    visibility: hidden;
  }
}

@keyframes ProseMirror-cursor-blink {
  to {
    visibility: hidden;
  }
}

.ProseMirror-focused .ProseMirror-gapcursor {
  display: block;
}

.hide-caret .ProseMirror-focused {
  caret-color: transparent !important;
}

/* App Layout */

.editor,
.show {
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.layout {
  display: flex;
  width: 100vw;
  height: 100%;
  flex: 1 1 0%;
}

.notebook {
  display: flex;
  /* flex-direction: column; */
  flex-grow: 1;
  /* align-items: center; */
  overflow: hidden;
  /* -webkit-overflow-scrolling: touch; */
  padding: 0;
}

:root {
  --gutter-padding: 20px;
}

@media (min-width: 640px) {
  :root {
    --gutter-padding: 60px;
  }
}

.notebook-content {
  width: 100vw;
  flex-shrink: 0;
  max-width: calc(960px + 2 * var(--gutter-padding));
}

.modal-content .notebook-content {
  max-width: 100%;
  width: 100%;
}

.sidebar-expanded .notebook-content {
  width: calc(100vw - 241px);
}

p.pm-node,
ul.pm-node-list,
ol.pm-node-list {
  margin-top: 0;
}

.pm-node,
.notebook-loading,
.ProseMirror-gapcursor,
.pm-node-list-item,
.pm-node-todo-item,
.template-select,
.notebook-text-block {
  pointer-events: all;
}

.pm-node,
.pm-node-list,
.notebook-text-block {
  margin-left: var(--gutter-padding);
  margin-right: var(--gutter-padding);
  max-width: 680px;
}

@media (min-width: 640px) {
  .pm-node,
  .pm-node-list,
  .notebook-text-block {
    margin-left: calc(var(--gutter-padding) + 1rem + 9px);
    margin-right: calc(var(--gutter-padding) + 1rem + 9px);
  }
}

.pm-node.nj-code,
.pm-node.nj-code-listing,
.notebook-results {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.code-block {
  pointer-events: auto;
  position: relative;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: calc(1rem - 6px);
  padding-right: 1rem;
  background: var(--gray-panel-color);
  font-family: var(--code-font);
}

.code-cell-output {
  margin-left: var(--gutter-padding);
  margin-right: var(--gutter-padding);
}

@media (min-width: 640px) {
  .code-block {
    padding-left: calc(var(--gutter-padding) + 1rem);
  }

  .code-cell-output {
    margin-left: calc(var(--gutter-padding) + 1.5rem);
    margin-right: calc(var(--gutter-padding) + 1.5rem);
  }
}

.nj-code {
  font-family: var(--sans-serif-font);
}

.nj-code .nj-code-editor,
.nj-code-listing .nj-code-editor,
.nj-formula .nj-code-editor {
  position: relative;
  background: #eff1f5;
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,.05);
  transition: border-color 0.25s ease;
}

@media (min-width: 960px) {
  .sidebar-collapsed .pm-node.nj-code,
  .sidebar-collapsed .pm-node.nj-code-listing {
    margin-left: var(--gutter-padding);
    margin-right: var(--gutter-padding);
  }

  .sidebar-collapsed .code-block {
    border-radius: 2px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sidebar-collapsed .code-cell-output {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}

@media (min-width: 1200px) {
  .pm-node.nj-code,
  .pm-node.nj-code-listing {
    margin-left: var(--gutter-padding);
    margin-right: var(--gutter-padding);
  }

  .code-block {
    border-radius: 2px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .code-cell-output {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}

.notebook-results {
  margin-left: var(--gutter-padding);
  margin-right: var(--gutter-padding);
}

.pm-node-list-item,
.pm-node-todo-item {
  padding-left: 0;
}

.nj-code {
  pointer-events: none;
}

.code-block {
  pointer-events: all;
}

.pm-node,
.pm-node-list {
  padding-bottom: 1rem;
}

.nj-code {
  margin: 0 var(--gutter-padding);
}

#worker-runtimes {
  padding-left: var(--gutter-padding);
  padding-right: var(--gutter-padding);
}

@media (min-width: 640px) {
  #worker-runtimes {
    padding-left: calc(var(--gutter-padding) + 1rem + 9px);
    padding-right: calc(var(--gutter-padding) + 1rem + 9px);
  }
}

.pm-node-list {
  list-style: none;
  padding-left: 0;
  max-width: 820px;
}

.pm-node-list .pm-node {
  padding: 0;
}

.pm-node-list-item {
  position: relative;
}

.nj-list--bullet > li::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 4px;
  background: #000;
  left: 0;
  top: 0.7rem;
  margin-left: 15px;
}

@media print {
  .nj-list--bullet > li::before {
    content: "•";
    font-weight: bold;
    background: none;
    top: 0;
  }
}

.pm-node-list-item .pm-node {
  margin-left: 40px;
}

blockquote.pm-node > .pm-node,
blockquote.pm-node > .pm-node-list {
  margin-left: 0;
}

blockquote.pm-node .pm-node-list .pm-node-list-item {
  padding-left: 0;
}

blockquote.pm-node .pm-node-list .pm-node-list-item .pm-node-list-item {
  padding-left: 0;
}

li.pm-node-list-item.nj-drag-ghost {
  padding: 0;
  list-style: none;
}

li.pm-node-list-item.nj-drag-ghost::before {
  display: none !important;
}

li.pm-node-list-item.nj-drag-ghost .pm-node {
  padding: 0;
  margin: 0;
}

.nj-list--numbered {
  counter-reset: li-counter;
}

.nj-list--numbered li::before {
  position: absolute;
  left: 0;
  width: 30px;
  margin-left: -5px;
  text-align: right;
  counter-increment: li-counter;
  content: counters(li-counter, ".") ".";
}

.nj-list--numbered li .pm-node {
  margin-left: 40px;
}

.nj-list--numbered li .nj-list--numbered li::before {
  width: 45px;
}

.nj-list--numbered li .nj-list--numbered li {
  padding-left: 5px;
}

.nj-list--numbered li .nj-list--numbered li::before {
  margin-left: -10px;
}

.nj-list--numbered li .nj-list--numbered li .nj-list--numbered li::before {
  width: 60px;
}

.nj-list--numbered li .nj-list--numbered li .nj-list--numbered li {
  padding-left: 20px;
}

.nj-list--numbered li .nj-list--bullet li {
  counter-reset: li-counter;
}

.nj-list--numbered li .nj-list--bullet li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 4px;
  background: black;
  margin-left: 5px;
  margin-right: 0;
  top: 0.55rem;
}

@media print {
  .nj-list--numbered li .nj-list--bullet li::before,
  .nj-list--bullet li .nj-list--numbered li::before {
    content: "•";
    font-weight: bold;
    top: 0;
    background: none;
  }
}

.nj-list--numbered li .nj-list--bullet li .pm-node,
.nj-list--bullet li .nj-list--numbered li .pm-node {
  margin-left: 30px;
}

blockquote.pm-node > .nj-list--bullet > li::before {
  margin-left: 15px;
}

blockquote.pm-node > .nj-list--numbered > li::before {
  margin-left: -5px;
}

blockquote .nj-list--numbered li .nj-list--numbered li .nj-list--numbered li .pm-node {
  margin-left: 60px;
}

.nj-list--todo {
  padding-left: 0;
}

.pm-node-todo-item {
  display: flex;
}

.pm-node-todo-item .pm-node {
  margin-left: 0;
}

.nj-todo-checkbox {
  margin-left: 5px;
  margin-right: 17px;
  position: relative;
  top: 0.3rem;
  height: 1rem;
  width: 1rem;
  display: block;
  -webkit-print-color-adjust: exact;
          color-adjust: exact;
  flex-shrink: 0;
  background-color: #ffffff;
  border-color: #d2d6dc;
  border-width: 1px;
  border-radius: 0.25rem;
}

.nj-todo-checkbox:hover {
  border-color: #bbb;
  cursor: pointer;
}

li.pm-node-todo-item[data-checked="true"] > .nj-todo-checkbox {
  border-color: rgba(0,0,0,.1);
  background: var(--teal-color) url(/images/icons/CheckmarkBoldWhite.svg) center center no-repeat;
  background-size: 12px 12px;
}

.nj-list--todo .pm-node-list {
  margin-left: 0 !important;
}

.nj-todo-content {
  flex: 1;
}

.pm-node-list .pm-node-list {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  margin-left: 33px;
}

.notebook-top-offset {
  padding-top: 50px;
}

.notebook-bottom-offset {
  padding-bottom: 50vh;
}

.notebook-info {
  margin-bottom: 20px;
}

@media (max-width: 640px) {
  .main-container {
    width: 100vw;
  }

  .show,
  .editor,
  .layout,
  .main-container  {
    height: auto;
    display: block;
  }

  #topbar-edit,
  #topbar-show {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 47px;
    transition: transform 0.25s ease;
  }

  #topbar-edit.sidebar-expanded {
    transform: translateX(80vw);
  }

  .notebook {
    height: auto;
    display: block;
    overflow-y: auto;
  }

  .notebook.sidebar-expanded {
    transform: translateX(80vw);
    transition: transform 0.25s ease;
  }

  .notebook-top-offset {
    padding-top: 30px;
  }
}

@media (min-width: 1070px) {
  .sidebar-collapsed #status-bar {
    width: 670px;
  }
}

@media (min-width: 1100px) {
  #status-bar {
    width: 670px;
  }
}

@media (max-width: 640px) {
  #avatar-dropdown {
    margin-right: -0.75rem;
  }
}

.nj-link {
  background: #e4f8fa;
  white-space: nowrap;
  color: #369CB6;
  padding: 2px 2px 0 2px;
  border-bottom: 1px solid rgba(42, 156, 184, 0.5);
  transiton: all 0.2s ease;
  font-weight: normal;
  cursor: pointer;
}

.nj-link:hover {
  opacity: 1;
  border-color: var(--teal-color);
}

.nj-link .result-viewer {
  display: inline;
  margin: 0;
}

.nj-link .result-data {
  line-height: inherit;
}

.nj-link .disclose {
  display: none;
}

.env {
  font-size: 0.7em;
}

/* Publish View */

:root {
  --publish-view-content-height: calc(100vh - 80px - 40px - 40px);
}

.publish-notebook,
.sidebar-publish .sidebar {
  height: var(--publish-view-content-height);
}

.publish-notebook {
  overflow: auto;
}

/* History View */

:root {
  --history-view-content-height: calc(100vh - 80px - 40px - 15px);
}

.history-notebook,
.sidebar-history .sidebar {
  height: var(--history-view-content-height);
}

.history-toc {
  width: 220px;
}

.history-notebook {
  overflow: auto;
}

.history-notebook-wrapper {
  width: calc(100vw - 40px - 40px - 220px - 220px);
}

.history-versions {
  max-height: calc(100vh - 40px - 40px - 58px);
  width: 220px;
}

@media (max-width: 900px) {
  .history-toc {
    display: none !important;
  }

  .history-notebook-wrapper {
    width: calc(100vw - 40px - 40px - 220px);
  }
}

/* Gutter */

.nj-button--gutter {
  background: transparent;
  display: flex;
  width: 20px;
  height: 24px;
  padding: 0;
  margin: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  transition: all 0.2s ease;
  cursor: pointer;
}

.nj-button--gutter-options {
  margin-top: 2px;
}

.nj-button--gutter:focus {
  outline: none;
}

.nj-button--gutter .nj-button-icon--gutter {
  opacity: 0.3;
  transition: opacity 0.2s ease;
}

.nj-button--gutter:hover {
  background: rgba(0,0,0,.05);
  border-radius: 3px;
}

.nj-button--gutter:hover .nj-button-icon--gutter {
  opacity: 0.7;
}

@-webkit-keyframes copied-output {
  from {
    border-color: var(--green-color);
  }

  to {
    border-color: transparent;
  }
}

@keyframes copied-output {
  from {
    border-color: var(--green-color);
  }

  to {
    border-color: transparent;
  }
}

@-webkit-keyframes copied-button {
  from {
    background-color: var(--green-color);
  }

  to {
    background-color: var(--teal-transparent-color);
  }
}

@keyframes copied-button {
  from {
    background-color: var(--green-color);
  }

  to {
    background-color: var(--teal-transparent-color);
  }
}

.copy-button .copied-icon {
  opacity: 0;
  position: absolute;
}

.copied-output .copy-button,
.copied-node .copy-button {
  -webkit-animation-name: copied-button;
          animation-name: copied-button;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  cursor: default;
}

.copied-node .copy-button .copied-icon,
.copied-output .copy-button .copied-icon {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.copied-node .copy-button .copy-icon,
.copied-output .copy-button .copy-icon {
  opacity: 0;
}

/* Appendix & Runtimes Section */

.appendix-section,
.runtimes-section {
  margin-top: 3rem;
}

.appendix-section + .runtimes-section {
  margin-top: 1rem;
}

.appendix-section.appendix-visible + .runtimes-section {
  margin-top: 2rem;
}

.runtimes-section .node {
  padding-top: 1rem !important;
}

/* Insert Indicator */

.insert-indicator {
  height: 3px;
  border-radius: 1px;
  background-color: var(--teal-color);
  position: absolute;
  left: 0;
  right: var(--gutter-padding);
  margin-left: 0;
  margin-top: -14px;
  pointer-events: none;
}

@media (min-width: 640px) {
  .insert-indicator {
    right: calc(var(--gutter-padding) + 1rem + 9px);
  }
}

.insert-indicator--list-item {
  margin-top: 0;
}

.error-help {
  position: absolute;
  left: -35px;
  top: 0;
  margin-top: 11px;
  width: 34px;
  height: 23px;
  z-index: 991;
}

.person-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 1.5rem;
}

.person-grid > div {
  overflow: hidden;
}

.nj-input--unstyled {
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.nj-input--unstyled:focus {
  outline: none;
}

/* Dashboard */

.filter-row em {
  font-weight: bold !important;
  font-style: normal !important;
}

/* Focus Mode */

.focus-mode-bar {
  background: white;
  padding: 0 20px;
  width: 100%;
  font-size: 13px;
  font-family: var(--sans-serif-font);
}

.focus-mode-content {
  border-bottom: 1px solid rgba(0,0,0,.1);
  display: flex;
  padding: 0 3px;
  height: 40px;
  align-items: center;
}

.focus-mode-path {
  flex: 1;
  display: flex;
  overflow: hidden;
  text-overflow: ellipsis;
  align-items: center;
}

.focus-mode-path .path-item {
  display: flex;
}

.focus-mode-path .path-button {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: all 0.2s ease;
  cursor: pointer;
  padding: 3px 5px;
  border-radius: 3px;
  position: relative;
  background: white;
}

.focus-mode-path .path-button:hover {
  color: black;
  background: rgba(0,0,0,.05);
}

.path-separator {
  padding: 3px 7px;
  color: rgba(0,0,0,.2);
}

.focus-mode-exit {
  flex-shrink: 0;
  padding: 3px 5px;
  transition: all 0.2s ease;
  border-radius: 3px;
  background: white;
  color: var(--teal-color);
  cursor: pointer;
}

.focus-mode-exit:hover {
  background: rgba(0,0,0,.05);
}

.focus-mode .pm-node:not(.node-focused),
.focus-mode .pm-node-list:not(.node-focused) {
  display: none;
}

.focus-mode .main-content {
  padding-top: 40px;
}

/* Landing Page */

.round-l {
  border-radius: 10px;
}

.shadow-l-light {
  box-shadow: 0 4px 30px rgba(0,0,0,.06);
}

.shadow-l-dark {
  box-shadow: 0 4px 30px rgba(0,0,0,.25);
}

.landing-page {
  font-family: var(--sans-serif-font);
}

.bg-alt {
  background-color: #fafafa;
}

.hero {
  text-align: center;
  max-width: 735px;
  margin: 0 auto;
}

.hero h1 {
  font-weight: 500;
  font-size: 55px;
  margin: 70px 0 24px 0;
}

.hero p {
  font-size: 24px;
}

.hero .ctas {
  margin-top: 24px;
  font-size: 24px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero .cta {
  margin: 0 20px;
}

.cta {
  display: inline-flex;
  align-items: center;
  color: #1f2937;
  line-height: 1;
  font-weight: bold;
}

.cta .cta-label {
  border-bottom: 2px solid rgba(31, 41, 55, 0.5);
}

.cta svg {
  margin-right: 0.1em;
}

@media (max-width: 820px) {
  .hero {
    margin-left: 3rem;
    margin-right: 3rem;
  }

  .hero h1 {
    font-size: 38px;
  }
}

@media (max-width: 640px) {
  .hero {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .hero h1 {
    font-size: 38px;
  }

  .hero p {
    font-size: 18px;
  }

  .hero .ctas {
    font-size: 18px;
  }

  .hero .ctas .icon {
    width: 24px !important;
    height: 24px !important;
  }
}

.lp-block {
  padding: 100px 2rem;
}

@media (max-width: 820px) {
  .lp-block {
    padding: 70px 2rem;
  }
}

@media (max-width: 640px) {
  .lp-block {
    padding: 50px 2rem;
  }
}

.hero .lp-block {
  padding: 0 0 100px 0;
}

.use-cases-gallery {
  margin-top: 0;
  float: left;
  width: 100%;
}

.use-cases-gallery .lp-block {
  padding-top: 0;
  padding-bottom: 50px;
  clear: both;
}

.scroller {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-style: none;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  overflow-x: auto;
}

.pills {
  display: flex;
  align-items: center;
}

@media (min-width: 980px) {
  .pills {
    justify-content: center;
  }
}

.pills a {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
  font-weight: 500;
  font-size: 18px;
  /*font-family: var(--code-font);*/
  /*padding: 7px 17px;*/
  /*border-radius: 30px;*/
  transition: all 0.25s ease;
  display: block;
  margin: 0 8px;
  border-bottom: 2px solid transparent;
}

@media (max-width: 970px) {
  .use-cases-gallery .scroller {
    margin-left: -2rem;
    margin-right: -2rem;
  }

  .use-cases-gallery .pills {
    padding: 0 1rem;
  }

  .use-cases-gallery .pill:last-child {
    padding-right: 2rem;
  }
}

.pills a:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
  opacity: 1;
}

.pills a.active,
.pills a.active:hover {
  color: #1f2937;
  border-bottom: 2px solid rgba(31, 41, 55, 0.5);
}

.use-cases-gallery .pills {
  margin-top: 50px;
}

.use-cases-gallery p {
  max-width: 735px;
  text-align: center;
  margin: 30px auto 0 auto;
  display: none;
  font-size: 18px;
}

.use-cases-gallery p.active {
  display: block;
}

@media (max-width: 640px) {
  .pills a {
    font-size: 16px;
    padding: 5px 10px;
  }

  .use-cases-gallery p {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
}

.use-cases-gallery + div {
  clear: both;
}

.use-cases-gallery .ctas {
  text-align: center;
  margin: 40px 0 0 0;
}

.use-cases-gallery .cta {
  font-size: 18px;
  font-weight: bold;
}

.use-cases-gallery img {
  display: block;
  opacity: 0;
  transition: all 0.3s ease;
}

.use-cases-gallery img.active {
  opacity: 1;
}

.use-cases-gallery-items {
  position: relative;
  margin: -38px auto 0 auto;
  max-width: 842px;
  width: 100%;
}

.use-cases-gallery-item {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

.customers {
  margin-top: 10px;
  float: left;
  width: 100%;
}

.customers + div {
  clear: both;
}

.customers .block {
  padding-top: 70px;
  padding-bottom: 20px;
}

.customers.logged-in .block {
  padding-bottom: 70px;
}

@media (max-width: 640px) {
  .customers .block {
    padding-bottom: 0;
    padding-top: 50px;
  }
}

h4.brow {
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.5;
  padding: 0 4rem;
}

@media (max-width: 640px) {
  h4.brow {
    padding: 0 2rem;
  }
}

.customer-logos {
  display: flex;
  align-items: center;
  justify-content: center;
}

.customer-logos img {
  margin: 0 20px;
  opacity: 0.6;
}

@media (max-width: 870px) {
  .customer-logos {
    margin: 0 auto;
  }

  .customer-logos img {
    margin: 20px;
  }

  .customer-logos img:last-child {
    padding-right: 2rem;
  }

  .customer-logos.scroller {
    margin: 0 -2rem;
    justify-content: flex-start;
  }
}

#nasa,
#sib {
  height: 35px;
}

#eth,
#carnegie,
#umich {
  height: 20px;
}

#berkeley {
  height: 27px;
}

#ucsb {
  height: 34px;
}

.signup-block {
  width: 1044px;
  height: 310px;
  margin: 0 auto;
  padding: 50px 0 0 60px;
  border-radius: 10px;
  background: linear-gradient(53.3deg, black -0.92%, rgba(33, 36, 54, 1) -0.92%, rgba(33, 36, 54, 1) 40.95%);
  display: flex;
  flex-shrink: 0;
  position: relative;
}

.signup-content {
  max-width: 375px;
}

.signup-block h2 {
  margin: 0;
  color: white;
  font-weight: 500;
  font-size: 38px;
  line-height: 1.2;
}

.signup-block img {
  height: 360px;
  position: absolute;
  right: 0;
  top: -25px;
}

.signup-block p {
  color: white;
  opacity: 0.8;
}

.signup-block input,
.signup-block button {
  box-shadow: 0 0 3px rgba(0,0,0,.15);
}

.signup-block input,
.nb-signup form input {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  font-size: 1rem;
}

.signup-block button,
.nb-signup form button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: rgba(63, 72, 84, 1.000);
  font-size: 1rem;
  font-weight: bold;
  line-height: 0.9;
  transition: all 0.2s ease;
}

.signup-block button:hover {
  background: rgba(94, 104, 119, 1);
}

@media (max-width: 1080px) {
  .signup-block {
    margin-left: 0;
    margin-right: 0;
    padding-left: 50px;
    height: auto;
    padding-bottom: 50px;
    width: auto;
    border-radius: 0;
  }

  .signup-block img {
    right: 0;
    margin-right: 20px;
  }
}

@media (max-width: 1060px) {
  .signup-block {
    overflow: hidden;
  }

  .signup-block img {
    right: -30px;
    top: 20px;
  }
}

@media (max-width: 1020px) {
  .signup-block img {
    right: -100px;
  }
}

@media (max-width: 950px) {
  .signup-block {
    text-align: center;
    padding-left: 0;
  }

  .signup-content {
    margin: 0 auto;
    max-width: 600px;
  }

  .signup-content form {
    max-width: 375px;
    margin: 30px auto;
  }

  .signup-block img {
    display: none;
  }
}

@media (max-width: 640px) {
  .signup-block {
    border-radius: 0;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
  }

  .signup-content {
    max-width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .signup-block h2 {
    font-size: 30px;
  }
}

.landing-page-signup {
  position: relative;
  padding: 50px 0;
}

.supported {
  padding: 20px 0 80px 0;
}

@media (max-width: 640px) {
  .supported {
    padding-top: 20px;
    padding-bottom: 60px;
  }
}

.nb-signup {
  box-shadow: 0 6px 30px rgba(0,0,0,.15);
  border-radius: 3px;
  margin: 50px 0;
}

.nb-signup-form {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  background: linear-gradient(53.3deg, #222DCC -0.92%, #22A4CC -0.92%, #31AFD0 40.95%);
  padding: 30px 30px;
  display: flex;
  justify-content: flex-end;
  position: relative;
}

.nb-signup-content {
  width: 380px;
}

.nb-signup-screenshot {
  max-width: 332px;
  position: absolute;
  left: -60px;
  top: 13px;
}

.nb-signup-brow {
  font-size: 16px;
  color: white;
  font-family: var(--sans-serif-font);
  font-weight: bold;
}

.nb-signup h3 {
  color: white;
  font-size: 26px;
  font-weight: 500;
  margin: 14px 0 14px 0;
}

.nb-signup ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
  color: white;
  font-family: var(--sans-serif-font);
}

.nb-signup ul li {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.nb-signup ul li .icon {
  margin-right: 7px;
}

.nb-signup form {
  margin-top: 5px;
  margin-bottom: 20px;
}

.nb-signup-more {
  background: white;
  color: var(--teal-color);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--sans-serif-font);
  padding: 24px 0;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  font-weight: bold;
}

.nb-signup-more .icon {
  margin-right: 3px;
}

@media (max-width: 1145px) {
  .layout-sidebar-expanded .nb-signup-form {
    overflow: hidden;
  }
}

@media (max-width: 1090px) {
  .layout-sidebar-expanded .nb-signup-screenshot {
    left: auto;
    right: 430px;
  }
}

@media (max-width: 1030px) {
  .layout-sidebar-expanded .nb-signup-form {
    justify-content: center;
    text-align: center;
  }

  .layout-sidebar-expanded .nb-signup-screenshot {
    display: none;
  }
}

@media (max-width: 820px) {
  .layout-sidebar-expanded .nb-signup-form ul li {
    display: block;
  }

  .layout-sidebar-expanded .nb-signup-form ul li .icon {
    display: none;
  }
}

@media (max-width: 860px) {
  .layout-sidebar-collapsed .nb-signup-form {
    overflow: hidden;
  }
}

@media (max-width: 822px) {
  .layout-sidebar-collapsed .nb-signup-screenshot {
    left: auto;
    right: 430px;
  }
}

@media (max-width: 730px) {
  .layout-sidebar-collapsed .nb-signup-form {
    justify-content: center;
    text-align: center;
  }

  .layout-sidebar-collapsed .nb-signup-screenshot {
    display: none;
  }
}

@media (max-width: 450px) {
  .nb-signup-brow {
    font-size: 14px;
  }

  .nb-signup-form h3 {
    font-size: 20px;
  }

  .nb-signup-form form input {
    border-top-right-radius: 5px;
    border-bottom-left-radius: 0;
    width: 100%;
    text-align: center;
  }

  .nb-signup-form form button {
    border-bottom-left-radius: 5px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    width: 100%;
  }

  .layout-sidebar-collapsed .nb-signup-form ul {
    text-align: left;
  }

  .layout-sidebar-collapsed .nb-signup-form ul li {
    display: block;
    margin-top: 7px;
    padding-left: 20px;
  }

  .layout-sidebar-collapsed .nb-signup-form ul li .icon {
    margin-left: -25px;
    position: relative;
    top: 3px;
  }
}

.supported-slider {
  overflow-x: auto;
  position: relative;
  width: 100%;
  height: 85px;
  margin-top: 50px;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-style: none;
  -webkit-overflow-scrolling: touch;
}

.supported-slider::-webkit-scrollbar {
  display: none;
}

.supported-envs {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  justify-content: center;
}

.supported-env {
  flex-shrink: 0;
  font-size: 18px;
  color: #999;
  font-weight: bold;
  text-align: center;
  margin-right: 65px;
  transition: all 0.2s ease;
}

.supported-env:last-child {
  margin-right: 0;
}

.supported-env:hover {
  color: #4b4b4b;
  opacity: 1;
}

.supported-env img {
  height: 40px;
  display: block;
  margin: 0 auto 15px auto;
}

@media (max-width: 1000px) {
  .supported-envs {
    justify-content: flex-start;
    margin: 0 3rem;
  }

  .supported-env:last-child {
    padding-right: 2rem;
  }
}

@media (max-width: 600px) {
  .supported-envs {
    margin-left: 2rem;
  }

  .supported-env {
    font-size: 16px;
    margin: 15px;
  }

  .supported-env img {
    height: 25px;
    margin-bottom: 7px;
  }
}

.feature-block {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.feature-block .feature-content {
  width: 1045px;
  margin: 0 auto;
  padding: 100px 0;
  position: relative;
}

.feature-block .feature-text {
  max-width: 470px;
}

.feature-block.flipped .feature-text {
  margin-left: calc(1045px / 2 + 50px);
}

.feature-block .feature-text h2 {
  margin: 0;
  font-weight: 500;
  font-size: 44px;
  line-height: 1.2;
}

.feature-block .feature-text p,
.feature-block .ctas {
  margin-top: 1.5rem;
}

.feature-block .cta {
  font-weight: bold;
}

.feature-media,
.feature-media-small,
.feature-video {
  position: absolute;
}

.feature-video {
  overflow: hidden;
}

.feature-video video {
  display: block;
}

@media (max-width: 1200px) {
  .feature-block .feature-content {
    width: 980px;
  }

  .feature-block .feature-text {
    max-width: 430px;
    margin-left: 2rem;
  }

  .feature-block.flipped .feature-text {
    margin-left: calc(980px / 2 + 50px);
    margin-right: 2rem;
  }
}

@media (max-width: 1000px) {
  .feature-block .feature-content {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    width: 100%;
    padding: 100px 4rem;
  }

  .feature-block.flipped .feature-text {
    margin-left: 0;
  }

  .feature-block .feature-text {
    max-width: 735px;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-left: 0;
  }

  .flipped .feature-block .feature-text {
    margin-right: 0;
  }

  .feature-block .feature-media,
  .feature-block .feature-media-small,
  .feature-block .feature-video {
    margin-bottom: 80px;
  }

  #feature-immutability .feature-media {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 820px) {
  .feature-block .feature-content {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .feature-block .feature-text {
    font-size: 18px;
    padding-left: 0;
    padding-right: 0;
  }

  .feature-block .feature-text h2 {
    font-size: 34px;
  }

  .round-l {
    border-radius: 5px;
  }
}

@media (max-width: 640px) {
  .feature-block .feature-content {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

@media (max-width: 600px) {
  #feature-immutability .feature-text {
    margin-top: -90px !important;
  }
}

.feature-media,
.feature-media-small,
.feature-video {
  position: absolute;
  left: calc(50% + 50px);
  right: auto;
}

.flipped .feature-media,
.flipped .feature-media-small,
.flipped .feature-video {
  right: calc(50% + 50px);
  left: auto
}

.feature-media-small {
  display: none;
}

#feature-immutability .feature-media {
  top: 170px;
  perspective: 800px;
}

#feature-immutability .feature-media img {
  max-height: 580px;
  border-radius: 3px;
  display: block;
}

#image-document {
  border-radius: 5px;
}

#media-document,
#media-cas,
#media-docker {
  border-radius: 5px;
  padding: 10px;
  box-sizing: border-box;
  height: 631px;
  width: 353px;
  box-shadow: -15px 15px 30px rgba(0,0,0,.2);
}

:root {
  --media-docker-color: #2962ff;
  --media-docker-transparent-color: rgba(234, 239, 255, .9);
  --media-cas-color: #fe6d00;
  --media-cas-transparent-color: rgba(255, 240, 230, .9);
}

#media-docker {
  position: absolute;
  transform: rotateY(10deg) translateX(-120px) translateY(-80px) translateZ(0);
  border: 2px solid var(--media-docker-color);
  color: var(--media-docker-color);
  background: var(--media-docker-transparent-color);
}

#media-cas {
  position: absolute;
  transform: rotateY(10deg) translateX(-60px) translateY(-40px) translateZ(1px);
  border: 2px solid var(--media-cas-color);
  color: var(--media-cas-color);
  background: var(--media-cas-transparent-color);
}

#media-document {
  border: 2px solid var(--teal-color);
  transform: rotateY(10deg) translateZ(2px);
  background: rgba(237, 245, 248, .9);
  position: relative;
  color: var(--teal-color);
}

#border-install,
#border-runtime {
  border: 1px solid var(--media-docker-color);
  border-radius: 3px;
  position: absolute;
}

#border-install {
  top: 130px;
  left: 51px;
  width: 247px;
  height: 22px;
}

#border-runtime {
  top: 163px;
  left: 51px;
  width: 247px;
  height: 49px;
}

#border-data,
#border-result {
  border: 1px solid var(--media-cas-color);
  border-radius: 3px;
  position: absolute;
}

#border-data {
  top: 268px;
  left: 51px;
  width: 247px;
  height: 17px;
}

#border-result {
  top: 462px;
  left: 51px;
  width: 247px;
  height: 156px;
}

.feature-immutability-header {
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 10px 0;
}

.media-item {
  border-radius: 3px;
  overflow: hidden;
  font-family: var(--code-font);
  font-size: 13px;
  margin-top: 30px;
}

@media (max-width: 1200px) {
  #feature-immutability .feature-media {
    transform: scale(0.8);
    right: 50%;
  }
}

@media (max-width: 1000px) {
  #feature-immutability .feature-media {
    transform: scale(0.7);
    right: 50%;
  }
}

@media (max-width: 800px) {
  #feature-immutability .feature-media {
    transform: scale(0.65);
    margin-bottom: -30px;
  }

  #feature-immutability .feature-content {
    padding: 30px 4rem 100px 4rem;
  }
}

@media (max-width: 600px) {
  #feature-immutability .feature-media {
    transform: scale(0.45);
    margin-bottom: -70px;
    margin-top: -40px;
  }

  #feature-immutability .feature-content {
    padding: 0 2rem 70px 2rem;
  }
}

.media-header {
  padding: 5px;
}

.media-row {
  padding: 5px;
}

.media-label {
  font-weight: bold;
}

#media-cas .media-item {
  border: 1px solid var(--media-cas-color);
}

#media-cas .media-header {
  color: #f6e9e2;
  background: var(--media-cas-color);
}

#media-cas .media-row {
  border-top: 1px solid var(--media-cas-color);
}

#media-docker .media-item {
  border: 1px solid var(--media-docker-color);
}

#media-docker .media-header {
  color: #dadfec;
  background: var(--media-docker-color);
}

#media-docker .media-row {
  border-top: 1px solid var(--media-docker-color);
}

#media-docker img {
  height: 30px;
}

#media-docker img + .media-item {
  margin-top: 0;
}

#dot-document,
#dot-data,
#dot-env {
  position: relative;
}

#dot-document::before,
#dot-data::before,
#dot-env::before {
  width: 10px;
  height: 10px;
  border-radius: 5px;
  position: absolute;
  left: -20px;
  top: 6px;
  content: "";
}

@media (max-width: 640px) {
  #dot-document::before,
  #dot-data::before,
  #dot-env::before {
    position: relative;
    left: 0;
    border-radius: 5px;
    top: -2px;
    content: "";
    display: inline-block;
    margin-right: 7px;
  }
}

#dot-document::before {
  background-color: var(--teal-color);
}

#dot-data::before {
  background-color: #FE6D01;
}

#dot-env::before {
  background-color: #2962FF;
}

#feature-reusability .feature-media {
  top: 60px;
  width: 100%;
  max-width: 600px;
}

.feature-video video {
  width: 100%;
  height: auto;
}

#feature-polyglot .feature-media {
  top: 140px;
  max-height: 576px;
}

#feature-run-controls {
  position: absolute;
  left: 50%;
  margin-left: -220px;
  top: 200px;
  max-height: 340px;
}

#feature-provisioning .feature-media {
  top: 60px;
  max-height: 550px;
}

#feature-secrets .feature-media {
  top: 80px;
  width: 100%;
  max-width: 600px;
  margin-left: -70px;
}

#feature-collaboration .feature-media {
  top: 100px;
  max-height: 550px;
}

#feature-share .feature-media {
  top: 60px;
  max-height: 550px;
}

@media (max-width: 1200px) {
  #feature-reusability .feature-video {
    top: 70px;
    max-width: 538px;
    left: calc(50% + 20px);
  }

  #feature-provisioning .feature-media {
    top: 90px;
    max-height: 500px;
  }

  #feature-secrets .feature-video {
    top: 80px;
    max-width: 550px;
    right: 50%;
  }

  #feature-collaboration .feature-media {
    top: 80px;
    max-height: 480px;
  }

  #feature-share .feature-media {
    top: 70px;
    max-height: 500px;
  }
}

@media (max-width: 1000px) {
  .feature-media,
  .feature-media-small,
  .feature-video {
    position: relative;
    top: 0 !important;
    left: 0 !important;
    max-height: inherit !important;
    max-width: 720px !important;
  }

  #feature-run-controls {
    margin-left: 240px;
    top: 170px;
  }
}

@media (max-width: 860px) {
  .feature-media,
  .feature-media-small,
  .feature-video {
    max-width: 100% !important;
  }

  #feature-run-controls {
    display: none;
  }
}

.landing-page-quotes.block.logged-in {
  padding-bottom: 0;
}

.feature-block + .landing-page-quotes {
  margin-top: 10px;
}

.landing-page-quotes + .landing-page-signup {
  padding: 0;
}

.landing-page-quotes .ctas {
  text-align: center;
  margin-top: 100px;
  font-weight: bold;
  font-size: 24px;
}

.landing-page-quotes .cta + .cta {
  margin-left: 40px;
}

@media (max-width: 800px) {
  .landing-page-quotes .ctas {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 20px;
  }

  .landing-page-quotes .cta .icon {
    width: 24px !important;
    height: 24px !important;
  }

  .landing-page-quotes .cta + .cta {
    margin: 20px 0 0 0;
  }
}

.quotes {
  display: grid;
  grid-template-columns: 470px 470px;
  grid-gap: 100px;
  width: 1045px;
  margin: 0 auto;
}

.quotes.wide {
  display: flex;
  justify-content: center;
}

.quotes.wide blockquote {
  max-width: 735px;
}

.quotes blockquote {
  grid-row: 1;
  text-align: center;
  padding: 0;
  border: 0;
  font-size: 24px;
}

.quotes .source {
  font-size: 18px;
  font-weight: bold;
}

.quotes p {
  margin-top: 0;
}

.quotes p + p {
  margin-top: 1.5rem;
}

.quotes + .quotes {
  margin-top: 100px;
}

@media (max-width: 1200px) {
  .quotes {
    display: flex;
    width: 735px;
    margin: 0 auto;
    flex-direction: column;
    padding: 0 4rem;
  }

  .quotes blockquote + blockquote {
    margin-top: 3rem;
  }

  .quotes + .quotes {
    margin-top: 3rem;
  }
}

@media (max-width: 800px) {
  .quotes {
    width: 100%;
  }

  .quotes blockquote {
    font-size: 20px;
  }

  .quotes .source {
    font-size: 16px;
  }
}

@media (max-width: 640px) {
  .quotes {
    padding: 0;
  }
}

/* Blog */

#blog-header {
  padding: 2.5rem 0;
}

#blog-header h1 {
  font-size: 60px;
}

#blog-header h2 {
  font-size: 40px;
  margin-top: 0;
}

#blog-header-content {
  display: flex;
  align-items: center;
}

.nb-feature {
  background: white;
  border-radius: 5px;
  box-shadow: 0 0 5px rgba(0,0,0,.1);
  overflow: hidden;
  display: flex;
  max-height: 300px;
  margin-bottom: 3rem;
  transition: all 0.3s ease;
}

.nb-feature:hover {
  box-shadow: 0 0 20px rgba(0,0,0,.15);
  opacity: 1;
}

.nb-feature-text {
  width: 400px;
  padding: 2rem;
  flex-shrink: 0;
}

.nb-feature-text h2 {
  font-size: 24px;
  margin: 0 0 0.85rem 0;
  line-height: 1.25;
}

.nb-feature-text p {
  font-family: var(--sans-serif-font);
  margin-bottom: 1rem;
}

.nb-feature-image {
  flex: 1;
  overflow: hidden;
  display: flex;
  justify-content: center;
  border-left: 1px solid rgba(0,0,0,.05);
}

.nb-feature-image img {
  max-width: inherit !important;
  transition: transform 0.3s ease;
  height: inherit !important;
  -o-object-fit: contain;
     object-fit: contain;
}

.nb-feature:hover .nb-feature-image img {
  transform: scale(1.05);
}

.blog-get-started {
  background: none !important;
}

.nb-feature-date {
  font-size: 12px;
  color: rgba(0,0,0,.5);
  margin-bottom: 0.5rem;
  font-family: var(--sans-serif-font);
}

#blog-signup {
  margin: 100px 0 50px 0;
}

@media (max-width: 860px) {
  .page-grid {
    grid-template-columns: repeat(8, [col-start] 1fr);
  }
}

.pricing-signup {
  margin: 40px auto 0 auto;
  max-width: 450px;
}

.pricing-signup-content .nj-input,
.pricing-signup-content .nj-button-sm--primary {
  height: 34px;
  font-size: 15px;
}

.pricing-signup-content .nj-input {
  margin-right: 10px;
}

#pricing-plans {
  max-width: 1044px;
  margin: 60px auto;
  display: flex;
  justify-content: space-between;
}

.pricing-plan {
  flex: 1;
  padding: 1.5rem 2rem;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 4px 30px rgba(0,0,0,.06);
  border-radius: 5px;
  margin-right: 20px;
}

.pricing-plan:last-child {
  margin-right: 0;
}

.pricing-plan ul {
  list-style: none;
  padding: 0;
}

.pricing-plan li {
  font-size: 0.9rem;
  padding: 0;
  margin: 0 0 0.5rem 0;
}

.pricing-button-upgrade {
  width: 100%;
  display: block;
  margin-top: 30px;
}

@media (max-width: 860px) {
  #pricing-plans {
    margin: 30px auto;
    flex-direction: column;
  }

  .pricing-plan {
    margin: 30px 0 0 0;
  }

  .pricing-hero h2 {
    font-size: 1.2rem;
    margin-top: 30px;
  }

  .pricing-hero h3 {
    font-size: 1rem;
  }

  .pricing-teaching h3 {
    font-size: 1.2rem;
    padding: 0 4rem;
    line-height: 1.6;
  }
}

@media(max-width: 570px) {
  .pricing-signup-content {
    flex-direction: column;
  }

  .pricing-signup-content .nj-input {
    margin-right: 0;
    width: 300px;
    text-align: center;
  }

  .pricing-signup-content .nj-button-sm--primary {
    margin-top: 7px;
    width: 160px;
  }
}

#about-header {
  grid-column: col-start 3 / span 8;
  text-align: center;
  margin-top: 3rem;
}

#about-overview {
  margin-top: 1.5rem;
  grid-column: col-start / -1;
  grid-row: 2;
  display: flex;
}

.about-overview {
  flex: 1;
  border-radius: 3px;
  padding: 1.5rem;
  box-shadow: 0 0 30px rgba(30,30,30, .05);
}

.about-overview + .about-overview {
  margin-left: 20px;
}

.about-overview p {
  font-size: 0.85rem;
}

#about-people {
  grid-column: col-start / -1;
  grid-row: 3;
  margin-top: 2.5rem;
}

#about-people-list {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
  grid-gap: 20px;
}

.about-person {
  color: var(--near-black-color);
}

.about-person-image {
  position: relative;
}

.about-person-image::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #2f9cb8;
  opacity: 0.3;
  z-index: 1;
  transition: opacity 0.2s ease;
}

.about-person-image img {
  filter: grayscale(100%);
}

a.about-person:hover {
  opacity: 1;
}

a.about-person:hover .about-person-image img {
  filter: none;
}

a.about-person:hover .about-person-image::after {
  opacity: 0;
}

#about-history {
  grid-column: col-start 2 / span 10;
  grid-row: 4;
  margin-top: 3rem;
}

.about-history-item + .about-history-item {
  margin-top: 2rem;
}

.about-history-item {
  display: flex;
}

.about-history-item img {
  margin-left: 2rem;
  margin-right: 2rem;
  max-width: 180px;
}

.about-history-item div {
  padding-top: 1rem;
  flex: 1;
}

.bg-bubbles {
  background: url(/images/bubbles.png) center 50px repeat-y;
}

@media (max-width: 880px) {
  #about-history {
    grid-column: col-start / -1;
  }

  #about-header {
    grid-column: col-start / -1;
  }

  #about-overview {
    display: block;
  }

  .about-overview {
    text-align: center;
    padding: 1rem 1.5rem;
  }

  .about-overview + .about-overview {
    margin-left: 0;
    margin-top: 2rem;
  }

  .about-overview img {
    max-width: 200px;
  }

  #about-people-list {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  }

  .about-history-item {
    display: block;
    margin-top: 0;
  }

  .about-history-item + .about-history-item {
    margin-top: 0;
  }

  .about-history-item p {
    margin-top: 1rem;
  }

  .about-history-item img {
    display: none;
  }
}

@media (max-width: 860px) {
  .nb-feature {
    flex-direction: column-reverse;
    max-height: inherit;
  }

  .nb-feature-image {
    height: 250px;
    border-bottom: 1px solid rgba(0,0,0,.05);
    border-left: 0;
  }

  .nb-feature-text {
    width: 100%;
  }

  .nb-feature-text h2 {
    font-size: 20px;
  }

  #blog-header h2 {
    font-size: 30px;
  }
}

@media (max-width: 720px) {
  .page-grid {
    grid-template-columns: repeat(4, [col-start] 1fr);
  }

  .ref-quote {
    flex-direction: column;
  }

  .ref-quote img {
    margin: 0 auto 1.5rem auto;
  }
}

/* Features Page */

#fp-header {
  grid-column: col-start 3 / span 8;
  grid-row: 1;
}

#fp-content {
  grid-column: col-start 2 / span 10;
  grid-row: 3;
  margin-bottom: 3rem;
}

.fp-section + .fp-section {
  margin-top: 3rem;
}

.fp-section h2 {
  margin-top: 0;
  margin-bottom: 2rem;
}

.fp-cols-sep {
  grid-column: col-start / -1;
  border-bottom: 1px solid rgba(0,0,0,.05);
  margin: 1.5rem 0 1.5rem 0;
  grid-row: 2;
}

.fp-cols {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  grid-gap: 20px;
}

.fp-col-text {
  display: flex;
  align-items: center;
}

.fp-col-text ul {
  list-style: none;
  padding: 0 0 0 1rem;
  margin: 0;
}

.fp-col-text li {
  margin: 0 0 0.7rem 0;
  padding: 0 0 0 1.5rem;
  font-family: var(--sans-serif-font);
  font-size: 0.95rem;
  position: relative;
}

.fp-col-text li::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background: var(--teal-color);
  -webkit-mask-image: url(/images/icons/CheckmarkBold.svg);
  -webkit-mask-size: 1rem 1rem;
  mask-image: url(/images/icons/CheckmarkBold.svg);
  mask-size: 1rem 1rem;
}

.fp-col-img img {
  border-radius: 3px;
  box-shadow: 0 0 10px rgba(0,0,0,.2);
}

#fp-get-started {
  grid-column: col-start / -1;
  grid-row: 3;
}

@media (max-width: 720px) {
  #fp-header,
  #fp-content {
    grid-column: col-start / -1;
  }

  .fp-cols {
    display: block;
  }

  .fp-section h2 {
    text-align: center;
  }

  .fp-col-text {
    margin-top: 2rem;
  }

  .fp-col-text ul {
    padding-left: 0;
  }
}

/* Mobile Nav */

.mobile-nav {
  display: none;
}

@media (max-width: 500px) {
  .topbar-links {
    display: none;
  }

  .mobile-nav {
    display: block;
  }
}

.mobile-nav-popover {
  top: 30px;
  right: 0;
  width: 200px;
  list-style: none;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 4px 30px rgba(0,0,0,.15), 0 2px 3px rgba(0,0,0,.1);
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.mobile-nav li a {
  display: block;
  font-size: 18px;
  padding: 10px 20px;
  color: #000;
}

.mobile-nav li {
}

.mobile-nav li.dash {
  border-top: 1px solid rgba(0,0,0,.05);
  background-color: #eff5f8;
}

/* Login Page */

#login-content {
  margin: 5rem auto 3rem auto;
  max-width: 430px;
}

.login-email-badge {
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  padding: 0 14px;
  line-height: 40px;
  height: 40px;
  background: white;
  box-shadow: 0 2px 3px rgba(0,0,0,.08);
  font-family: var(--sans-serif-font);
  display: flex;
  align-items: center;
}

.login-email-badge-remove {
  display: flex;
  align-items: center;
  padding: 0 0 0 7px;
}

@media (max-width: 720px) {
}

/* Footer */

.page-footer {
  font-family: var(--sans-serif-font);
  margin: 0 auto;
  max-width: var(--page-width);
  width: 100%;
}

.page-footer-content {
  padding: 3rem 0;
  margin: 0 var(--page-inset);
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(4, [col-start] 1fr);
  font-size: 12px;
}

.page-footer-col {
}

.page-footer-col h4 {
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 12px;
  margin-top: 0;
  margin-bottom: 6px;
}

.page-footer-col ul {
  margin: 0;
  list-style: none;
  padding: 0;
}

.page-footer-col ul li {
  padding: 0;
  margin: 3px 0 0 0;
}

.page-footer-col ul li a {
  color: var(--near-black-color);
}

.page-footer-col ul li a:hover {
  text-decoration: underline;
}

.footer-logo {
  max-width: 100px;
}

@media (max-width: 720px) {
  .page-footer {
    width: 100%;
  }

  .page-footer-content {
    display: flex;
    flex-direction: column;
  }

  .page-footer-col {
    margin-bottom: 1rem;
  }

  .page-footer-col ul {
    display: block;
  }

  .page-footer-col ul li {
    margin-right: 0.5rem;
    display: inline;
  }
}

/* Collections */

.tile.coll {
  overflow: inherit !important;
}

.coll .coll-shadow {
  box-shadow: 0 0 30px rgba(30,30,30,.07);
}

.coll-header {
  padding: 1.15rem 1.25rem 1rem 1.25rem;
  color: var(--near-black-color);
}

.coll-header h4 {
  margin: 0 0 0.25rem 0;
  font-family: var(--sans-serif-font);
}

.coll-desc {
  margin: 0 !important;
  font-size: 0.7rem;
}

.coll-previews {
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}

.coll-thumb {
  overflow: hidden;
  width: 100%;
  padding-top: 100%;
  position: relative;
}

.coll-thumb img {
  max-width: auto;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.coll-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 20px;
}

.coll-grid .coll {
}

@media (max-width: 1040px) {
  .coll-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 25px;
  }
}

@media (max-width: 500px) {
  .coll-grid {
    grid-template-columns: 1fr;
  }
}

/* Settings */

.settings-nav-container {
  grid-column: col-start / span 3;
}

.settings-nav {
  background: white;
  border-radius: 3px;
  font-size: 0.85rem;
  padding-bottom: 1rem;
  font-family: var(--sans-serif-font);
  margin-top: 3.5rem;
}

.settings-nav-header {
  padding: 1.5rem 1.5rem 0.5rem 1.5rem;
  font-weight: bold;
}

.settings-nav a {
  padding: 0.5rem 1.5rem;
  width: 100%;
}

.settings-nav a:hover {
  background: rgba(239,248,251,.5);
}

.settings-nav-sep {
  margin: 1rem 1.5rem 0 1.5rem;
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.settings-content {
  grid-column: col-start 4 / -1;
  margin-top: 4rem;
}

.settings-section {
  background: white;
  border-radius: 3px;
  padding: 1.5rem;
  margin-bottom: 0.5rem;
}

.settings-section .form-field:last-of-type {
  margin-bottom: 0 !important;
}

.settings-block {
  padding: 1rem 1.5rem;
  margin-bottom: 0.5rem;
  background: white;
}

.settings-nav-toggle {
  display: none;
}

.plan-box {
  box-shadow: rgba(0, 0, 0, 0.02) 0px 8px 10px 0px, rgba(34, 34, 34, 0.07) 0px 0px 0px 1px inset;
}

.plan-component {
  transition: box-shadow 0.2s ease-in-out;
}

.plan-component:not(.plan-selected):hover {
  box-shadow: rgba(0, 0, 0, 0.02) 0px 8px 10px 0px, rgba(34, 34, 34, 0.14) 0 0 0 2px inset;
}

.plan-component.plan-selected,
.plan-component.plan-selected:hover {
  box-shadow: rgba(0, 0, 0, 0.02) 0px 8px 10px 0px, var(--teal-color) 0 0 0 2px inset;
}

.plan-desc {
  padding: 1rem;
}

.plan-info {
  max-width: 400px;
  padding: 1rem 3rem;
  margin-left: 3rem;
}

.plan-info .nj-button--secondary {
  margin-top: 30px;
}

.plan-radio {
  padding: 1.5rem 2rem !important;
}

.pricing-perks p {
  margin: 0;
}

@media (max-width: 780px) {
  .settings-nav-container {
    grid-column: col-start / -1;
  }

  .settings-nav-toggle {
    display: flex;
    margin: 3rem 0 0.5rem 0;
    font-family: var(--sans-serif-font);
    padding: 0.7rem 1.5rem;
  }

  .settings-nav {
    margin-top: 0;
    display: none;
  }

  .settings-content {
    grid-column: col-start / -1;
    margin-top: 1.5rem;
  }

  .settings-content h2 {
    font-size: 1.3rem;
  }
}

/* Autocompleter */

.autocompleter-choice {
  padding: 5px 14px;
  font-size: 12px;
  color: white;
}

.autocompleter-choice em {
  font-style: normal;
  font-weight: bold;
}

.secrets-popover {
  padding: 1rem;
}

.secrets-popover .autocompleter-search input {
  margin: 0 0 9px 0 !important;
}

.secrets-popover .autocompleter {
  padding-right: 1rem;
}

.secrets-popover .autocompleter-choice {
  border-radius: 2px !important;
  padding: 0.25rem 0.5rem;
}

.secret-editor {
  min-height: 54px !important;
  height: auto !important;
  padding: 4px 3px !important;
  width: 100%;
}

.secret-editor .CodeMirror {
  padding: 0;
  color: white;
}

.secret-editor .CodeMirror pre.CodeMirror-placeholder {
  color: rgba(255,255,255,.7);
}

.cm-whitespace::before,
.cm-whitespace::after {
  display: none;
}

.CodeMirror .CodeMirror-line > span::after {
  display: none;
}

.secret-editor .cm-whitespace::before,
.secret-editor .cm-whitespace::after,
.secret-editor .CodeMirror-line > span::after {
  display: inline;
  color: rgba(255,255,255,.3) !important;
}

.secret-editor .CodeMirror-empty .CodeMirror-line > span::after {
  display: none !important;
}

.secret-editor .cm-tab {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
  background-position: right;
  background-repeat: no-repeat;
}

.dropdown-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 879;
  display: none;
}

.dropdown-overlay.open {
  display: block;
}

.vis-switch {
  display: flex;
}

.vis-select {
  display: flex;
  background: white;
  box-shadow: 0 0 30px rgba(30,30,30,.07);
  padding: 0.75rem 1rem;
  border-radius: 3px;
  border: 1px solid white;
  cursor: pointer;
}

.vis-select-content {
  display: flex;
}

.vis-select label {
  cursor: pointer;
}

.vis-select.box-selected {
  border-color: var(--teal-color);
}

.vis-select input {
  position: relative;
  top: 3px;
}

#public-box {
  flex: 43%;
  margin-right: 24px;
}

#private-box {
  flex: 57%;
}

.notifications-select {
  display: flex;
  background: white;
  padding: 0.5rem 0rem;
  border-radius: 3px;
  border: 1px solid white;
  cursor: pointer;
}

.private-access-allowed #public-box {
  flex: 50%;
}

.private-access-allowed #private-box {
  flex: 50%;
}

.vis-upgrade {
  display: flex;
  flex: 1;
  justify-content: flex-end;
}

@media (max-width: 1130px) {
  #public-box {
    flex: 40%;
  }

  #private-box {
    flex: 60%;
  }
}

@media (max-width: 1020px) {
  #public-box {
    flex: 35%;
  }

  #private-box {
    flex: 65%;
  }
}

@media (max-width: 940px) {
  .vis-switch {
    flex-direction: column;
  }

  #public-box {
    margin-right: 0;
    margin-bottom: 12px;
  }
}

@media (max-width: 590px) {
  .vis-select {
    flex-direction: column;
  }

  .vis-upgrade {
    justify-content: flex-start;
    margin-top: 12px;
    margin-left: 22px;
  }
}

.ask-for-help-team {
  display: flex;
  max-width: 380px;
  overflow: hidden;
}

.ask-for-help-team .avatar {
  border: 2px solid white;
}

/* Code Cells */

.CodeMirror {
  padding: 5px 0;
  margin: 0;
  height: auto;
  background: none;
  font-family: var(--code-font);
  font-size: 15px;
}

.CodeMirror-cursors {
  z-index: 3;
}

.CodeMirror-lines {
  padding: 0;
}

.CodeMirror pre {
  line-height: 1.6;
  padding: 0 9px;
}

.CodeMirror-selected {
  background-color: Highlight !important;
  z-index: 3;
}

.CodeMirror-matchingbracket {
  color: inherit !important;
  border-bottom: 1px solid var(--teal-color);
}

.CodeMirror-matchingtag {
  background: inherit !important;
  border-bottom: 1px solid var(--teal-color);
}

.CodeMirror pre.CodeMirror-placeholder {
  color: rgba(0,0,0,.3);
  padding: 0 0.5rem !important;
  line-height: 1.6;
}

/* CodeMirror 5 & 6 max-height */

.CodeMirror-scroll,
.cm-scroller {
  max-height: calc(100vh - 250px);
  overflow: auto;
}

.cm-trailingspace {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
  background-position: bottom left;
  background-repeat: repeat-x;
}

.wrap-pre pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}

.line-error-bg + .CodeMirror-line > span {
  position: relative;
  background-color: rgba(235,106,123,.18);
}

.cm6 .line-error-bg {
  background-color: rgba(235,106,123,.18);
}

.line-error-wrapper {
  padding: 4px 0;
}

.CodeMirror-code > div:last-child .line-error-wrapper {
  padding-bottom: 0;
}

.line-error {
  font-size: 11px;
  padding: 4px 6px 3px 6px;
  background-color: #fff3f0;
  transition: all 0.2s ease;
  position: relative;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.1), inset 0 -1px 3px rgba(0,0,0,.03);
  background: #eef1f6;
  line-height: 1.5;
}

.line-error-expandable:hover {
  background-color: #f5f7fa;
}

.line-error-collapsed {
  padding-bottom: 3px;
}

.code-iframe-result {
  border: none;
  width: 100%;
  height: 0;
  margin-top: 1rem;
}

.collapsed .code-iframe-result {
  margin-top: 0;
}

.code-iframe-content {
  display: none;
}

.code-plotly-result {
  overflow-x: auto;
  margin-top: 2px;
  /* Prevent cutting off code cell focus outline */
}

.result-placeholder {
  position: relative;
  min-height: 17px;
}

.result-placeholder.plotly {
  background-color: #ffffff;
  background-size: 20px 20px, 20px 20px;
  background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
  border: 1px solid #eee;
  background-image: linear-gradient(#eee 1px, transparent 1px),
  linear-gradient(90deg, #eee 1px, transparent 1px);
  height: 450px;
}

.plotly .modebar {
  display: none;
}

.result-state {
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  opacity: 50%;
}

.exec-state-indicator:hover {
  position: relative;
}

.exec-state-indicator:hover .tip,
.exec-duration:hover .tip {
  display: block;
  top: 26px;
  left: -2px;
}

.menu-separator-label {
  border-top: 1px solid rgba(0,0,0,.07);
  padding: 14px 14px 9px 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #a7a6a4;
  font-size: 11px;
  font-weight: bold;
  font-family: var(--sans-serif-font);
}

.text-insert-marker {
  width: 2px;
  height: 1.2em;
  background: var(--teal-color);
  position: absolute;
}

.pop-content .result-viewer {
  margin-top: 0;
}

.video-viewer {
  max-width: 100%;
}

/* Typeahead */

.typeahead-choices {
  border-radius: 5px;
  overflow: auto;
  max-height: 200px;
  position: absolute;
  left: 0;
  z-index: 2;
  box-shadow: 0 0 14px rgba(30,30,30,.2);
  border: 1px solid #dedede;
  background: white;
}

.typeahead-choice {
  padding: 7px 12px 7px 10px;
  white-space: nowrap;
  border-bottom: 1px solid #dedede;
  color: black;
}

.typeahead-choice:last-of-type {
  border-bottom: 0;
}

.typeahead-choice:hover {
  background: var(--near-white-color);
}

.typeahead-choice.selected {
  background: var(--teal-color);
  color: white;
}

/* Complete Signup */

.profile-url-label {
  font-family: var(--sans-serif-font) !important;
  font-size: 14px !important;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.03);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.profile-url-input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.signup-complete-avatar h5 {
  display: none;
}

.signup-complete-avatar #avatar-placeholder,
.signup-complete-avatar #avatar-preview {
  position: relative;
  margin-top: -1.6rem;
  cursor: pointer;
}

.nj-slide-in-messages {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  z-index: 1005;
}

.nj-slide-in-message {
  position: absolute;
  padding: 10px 20px;
  background: rgba(0,0,0,.9);
  box-shadow: 0 2px 3px rgba(0,0,0,.2);
  border-radius: 5px;
  font-family: var(--sans-serif-font);
  font-size: 14px;
  font-weight: normal;
  color: white;
  left: 50%;
  transform: translate(-50%, -150%);
  opacity: 1;
  transition: all 0.3s ease-out;
  top: 0;
  z-index: 1000;
}

.nj-slide-in-message a {
  color: var(--teal-color);
}

.nj-slide-in-message-enter {
  transform: translate(-50%, -70%);
  opacity: 0;
}

.nj-slide-in-message-enter-active,
.nj-slide-in-message-leave{
  transform: translate(-50%, -150%);
  opacity: 1;
}

.nj-slide-in-message-leave-active {
  transform: translate(-50%, -70%);
  opacity: 0;
}

/* Inspector Panel */

:root {
  --inspector-width: 450px;
}

.main-container {
  transition: width 200ms ease-in-out;
}

.main-container.inspector-visible {
  width: calc(100vw - 270px - var(--inspector-width));
}

.inspector-panel {
  height: 100vh;
  width: var(--inspector-width);
  transition: width 200ms ease-in-out;
  overflow-y: auto;
  padding-bottom: 3rem;
  z-index: 1005;
}

.inspector-panel:not(.fixed) {
  position: relative;
}

.inspector-panel-enter {
  width: 0;
}

.inspector-panel-enter-active,
.inspector-panel-leave {
  width: var(--inspector-width);
}

.inspector-panel-leave-active {
  width: 0;
}

.inspector {
  width: 100%;
  border-left: 1px solid rgba(0,0,0,.05);
  overflow-x: hidden;
}

.inspector .nj-button--gutter {
  margin-right: -7px;
}

.inspector .gutter-mimes .gutter-buttons {
  right: 3px !important;
}

.inspector .pm-node {
  padding-right: 30px;
}

.inspector .insert-indicator {
  width: calc(var(--inspector-width) - 30px - 30px);
}

.inspector .ProseMirror {
  width: calc(var(--inspector-width) + 30px);
}

.inspector h1 {
  font-size: 1.6rem;
}

.inspector h2 {
  font-size: 1.4rem;
  margin-top: 1rem;
}

.inspector h3 {
  font-size: 1.3rem;
}

.inspector h4 {
  font-size: 1.2rem;
}

.inspector h5 {
  font-size: 1.1rem;
}

.inspector-taps {
  width: calc(var(--inspector-width) + 30px);
}

/* Sidebar */

.sidebar-enter,
.sidebar-leave {
  transition: all 0.4s ease;
}

.sidebar-enter {
  opacity: 0;
  margin-left: -240px;
}

.sidebar-enter-active,
.sidebar-leave {
  opacity: 1;
  margin-left: 0;
}

.sidebar-leave-active {
  margin-left: -240px;
  opacity: 0;
}

/* Commands List */

.commands-list-enter,
.commands-list-leave {
  transition: max-height 0.25s ease, opacity 0.25s ease;
}

.commands-list-enter {
  opacity: 0;
  max-height: 0;
}

.commands-list-enter-active,
.commands-list-leave {
  opacity: 1;
  max-height: 700px;
}

.commands-list-leave-active {
  opacity: 0;
  max-height: 0;
}

/* TOC */

.toc {
  position: fixed;
  top: 48px;
  bottom: 0;
  right: 0;
  width: 50px;
  z-index: 999;
}

.toc-content {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateX(110%) translateY(-50%);
  width: 220px;
  opacity: 0;
  font-size: 12px;
  font-family: var(--sans-serif-font);
  transition: all 0.3s ease-in-out;
  background: #fbfbfc;
  padding: 14px 7px 14px 0;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
}

.toc-content a {
  color: rgba(0,0,0,.5);
}

.toc-content a:hover {
  opacity: 1;
  color: rgba(0,0,0,.7);
  text-decoration: underline;
}

.toc-button {
  position: absolute;
  top: 50%;
  left: 0;
  opacity: 1;
  transition: all 0.3s ease-in-out;
  width: 0;
  height: 0;
  transform: rotate(-90deg);
  transform-origin: right top 0;
}

.toc-label {
  font-size: 16px;
  color: rgba(0,0,0,.3);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  left: 0;
  top: 0;
  width: 200px;
  margin-left: -100px;
  margin-top: 15px;
}

.toc:hover .toc-content,
.toc.pinned .toc-content {
  transform: translateX(0) translateY(-50%);
  opacity: 1;
}

.toc:hover .toc-button,
.toc.pinned .toc-button {
  transform: translateX(-110px) rotate(-90deg);
  opacity: 0;
}

.toc-header {
  font-size: 14px;
  font-weight: bold;
  display: flex;
  color: rgba(0,0,0,.5);
  margin-left: 15px;
  margin-bottom: 7px;
}

.toc-pin {
  font-weight: normal;
  font-size: 11px;
  margin-top: 3px;
  margin-left: 7px;
  color: rgba(0,0,0,.3);
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.toc-pin:hover {
  color: rgba(0,0,0,.7);
  text-decoration: underline;
}

.mobile-toc-button {
  display: none;
}

.mobile-toc-close {
  display: none;
}

@media (max-width: 640px) {
  .toc-button {
    display: none;
  }

  .toc:not(.pinned):hover .toc-content {
    transform: translateX(-100%) translateY(-50%);
    opacity: 0;
  }

  .mobile-toc-button {
    display: flex;
    align-items: center;
    margin-right: 7px;
    margin-left: -5px;
    padding-right: 0.7rem;
    margin-right: 0.8rem;
    border-right: 1px solid rgba(0,0,0,.1);
    height: 24px;
  }

  .toc-content {
    position: fixed;
    z-index: 990;
    margin-top: 0;
    top: 47px;
    bottom: 0;
    height: auto;
    font-size: 14px;
    padding: 2rem 5px;
    width: 100vw;
    transform: translateX(-100%) translateY(0);
  }

  .toc:hover .toc-content,
  .toc.pinned .toc-content {
    transform: translateX(0) translateY(0);
  }

  .toc-pin {
    display: none;
  }

  .mobile-toc-close {
    position: fixed;
    right: 1rem;
    top: calc(48px + 0.5rem);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
  }

  .toc.pinned .mobile-toc-close {
    opacity: 0.3;
    visibility: visible;
  }
}

/* All-in-one */

.graph-node-error {
  border: 2px solid var(--red-color);
  font-family: var(--sans-serif-font);
  border-radius: 5px;
  padding: 14px;
  background: rgba(214, 66, 66, .1);
}

.graph-node-error h3 {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  color: var(--red-color);
}

.graph-node-error p {
  font-size: 16px;
  margin: 7px 0 0 0;
  color: var(--red-color);
}

.graph-node-error p a {
  color: var(--red-color);
  text-decoration: underline;
}

.graph-node-error-details {
}

.inline-graph-node-error {
  border: 2px solid var(--red-color);
  font-family: var(--sans-serif-font);
  font-size: 12px;
  font-weight: 500;
  color: var(--red-color);
  border-radius: 5px;
  padding: 4px 7px;
  background: rgba(214, 66, 66, .1);
}

.nj-formula .pop {
  display: none;
}

.nj-formula.editing .pop.formula-editor {
  display: block;
}

.tooltip-visible .formula-tooltip {
  display: block;
}

.formula-tooltip .pop-content {
  white-space: nowrap;
  font-size: 12px;
  font-family: var(--sans-serif-font);
  color: var(--near-black-color);
  padding: 5px 12px 4px 12px;
}

.nj-formula
.nj-code:not(.nj-code-readonly):hover .nj-code-editor,
.nj-code-editor-focused:not(.nj-code-readonly) .nj-code-editor {
  border-color: transparent;
}

.nj-code-readonly .CodeMirror-focused div.CodeMirror-cursors {
  visibility: hidden !important;
  display: none !important;
}

.nj-code.collapsed .code-block {
  display: none;
}

.expand-source {
  display: none;
  margin-top: -1px;
}

.nj-code.collapsed .expand-source {
  display: block;
}

.nj-code-status {
  border-top: 1px solid rgba(0,0,0,.05);
  padding: 0.3rem 0.55rem;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  font-family: var(--code-font);
}

/* Runner Notifications */

.runner-popover .pop-content {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.runner-popover .runner-notifications,
.runner-popover .runner-log {
  box-shadow: 0 2px 14px rgba(0,0,0,.2);
  border: 1px solid rgba(0,0,0,.2);
  background: white;
  border-radius: 5px;
}

.runner-log {
  margin-top: 5px;
  max-height: 430px;
  overflow: auto;
}

.runner-notifications {
  padding: 8px 20px 9px 26px;
}

/* Toggle Switch */

.nj-toggle {
  display: flex;
  align-items: center;
}

.nj-toggle-switch {
  cursor: pointer;
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 20px;
  transition: all 0.3s;
}

.nj-toggle-switch::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: white;
  top: 1px;
  left: 1px;
  transition: all 0.3s;
}

.nj-toggle-checkbox:checked + .nj-toggle-switch::after {
  left: 21px;
}

.nj-toggle-checkbox:checked + .nj-toggle-switch {
  background-color: var(--teal-color);
}

.nj-toggle-checkbox {
  display: none;
}

/* Sharing */

@media (max-width: 640px) {
  .mobile-topbar-panel {
    position: fixed;
    top: 5vh !important;
    left: 10vw !important;
    width: 80vw !important;
    max-height: 95vh;
    margin: 0 !important;
  }

  .mobile-topbar-panel-container {
    background: rgba(0,0,0,.5);
  }

  .mobile-topbar-panel .menu-arrow {
    display: none;
  }

  .mobile-topbar-panel .pop-content {
    box-shadow: 0;
  }
}

.sharing-upgrade {
  background: #fff6ed;
  padding: 10px 16px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.sharing-upgrade:hover {
  background: #FFF0E2;
}

.sharing-upgrade .upgrade-link {
  color: black;
}

.sharing-upgrade-remaining {
  color: black;
  position: absolute;
  right: 11px;
  top: 5px;
  border-radius: 3px;
  padding: 2px 5px;
  transition: all 0.25s ease;
}

.sharing-upgrade-remaining:hover {
  background: rgba(0,0,0,.05);
  opacity: 1;
}

/* Runtime Languages */

.runtime-language:hover .gutter {
  opacity: 1;
}

/* Toolbar */

.nj-toolbar {
  position: absolute;
  z-index: 991;
  background: white;
  border-radius: 5px;
  border: 1px solid rgba(0,0,0,.2);
  box-shadow: 0 2px 2px rgba(0,0,0,.1);
  margin-bottom: 7px;
  transform: translateX(-50%);
}

.nj-toolbar::before {
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  left: 50%;
  margin-left: -5px;
  bottom: -6px;
  border: 5px solid transparent;
  border-bottom-width: 0;
  border-top-color: silver;
}

.nj-toolbar::after {
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  left: 50%;
  margin-left: -5px;
  bottom: -4.5px;
  border: 5px solid transparent;
  border-bottom-width: 0;
  border-top-color: white;
}

.nj-toolbar-buttons {
  display: flex;
  padding: 3px;
}

.nj-toolbar-button {
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 3px;
}

.nj-toolbar-button:hover {
  background-color: var(--light-silver-color);
}

.ProseMirror .empty-node::before {
  position: absolute;
  color: #ccc;
  cursor: text;
}

.ProseMirror h1.empty-node::before {
  content: "Title";
}

h2.pm-node.nj-subtitle {
  padding-top: 0;
  margin-top: 0;
  font-size: 1.25rem;
  font-weight: bold;
  font-family: var(--sans-serif-condensed-font);
}

.ProseMirror .nj-subtitle.empty-node::before {
  content: "Subtitle";
}

p.pm-node.nj-authors {
  font-family: var(--sans-serif-font);
  color: rgba(0,0,0,.6);
}

@media (min-width: 641px) {
  p.pm-node.nj-authors::before {
    left: 60px;
    right: 60px;
  }
}

.ProseMirror .nj-authors.empty-node::before {
  content: "Authors";
}

.nj-link-editor {
  padding: 3px 3px;
  display: flex;
  align-items: center;
}

.nj-link-editor-button {
  font-size: 14px;
  font-family: var(--sans-serif-font);
  color: white;
  padding: 5px 7px;
  border-radius: 3px;
}

.nj-link-editor-button:hover {
  cursor: pointer;
  color: black;
  background-color: var(--light-silver-color);
}

.nj-link-editor-input:focus {
  border: 1px solid rgba(255,255,255,.1);
  outline: none;
  box-shadow: none;
}

.ProseMirror-fake-text-selection {
  background: Highlight;
}

.gutter-container {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--gutter-padding);
  /*background: rgba(255,0,0,.1);*/
  pointer-events: all;
}

@media (min-width: 640px) {
  .gutter-container {
    width: calc(var(--gutter-padding) + 1rem + 9px);
  }
}

.nj-gutter {
  position: absolute;
  z-index: 990;
  width: 100%;
  right: 0;
  /*background: rgba(0,255,0,.1);*/
}

.nj-gutter--list-item .nj-gutter--tip {
  position: absolute;
  right: 0;
  top: 0;
}

.nj-gutter--list-item .nj-gutter--tip-options {
  top: auto;
  bottom: -12px;
}

.nj-button--gutter-options,
.nj-button--gutter-insert {
  position: absolute;
  right: 5px;
}

.nj-button--gutter-options {
  top: 0;
}

.nj-button--gutter-insert {
  bottom: 0;
}

.ProseMirror-selectednode {
  outline: none;
  position: relative;
}

.ProseMirror-selectednode::after {
  position: absolute;
  border-radius: 5px;
  box-shadow: 0 0 0 3px #96ccff;
  left: 0;
  top: 0;
  right: 0;
  bottom: 1rem;
  content: "";
}

.nj-code.ProseMirror-selectednode::after {
  left: 0;
  right: 0;
}

.nj-block-selected ::-moz-selection {
  background: transparent;
}

.nj-block-selected ::selection {
  background: transparent;
}

.nj-block-selected .nj-selection--block,
.editing .nj-selection--block {
  box-shadow: 0 0 0 3px #96ccff;
  border-radius: 2px;
}

.pm-inline-node {
  display: inline-block;
}

figure.pm-node {
  margin: 0;
}

.pm-node.nj-drag-ghost {
  padding: 0;
  max-width: 710px;
  position: relative;
}

:root {
  --collapsible-background: #F8F6F8;
}

.heading-ghost {
  background: transparent;
}

.heading-ghost-label {
  background-color: white;
  border-radius: 5px;
  padding: 7px 10px !important;
  position: relative;
  display: inline-block;
}

.section-heading-ghost .heading-ghost-label {
  background-color: var(--collapsible-background);
}

.drag-badge {
  position: absolute;
  padding: 5px 10px;
  border-radius: 30px;
  background: var(--red-color);
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  box-shadow: 0 2px 2px rgba(0,0,0,.15);
  right: -12px;
  top: -12px;
}

.node-collapsible {
  position: relative;
  z-index: 0;
}

.node-collapsible::before {
  content: "";
  position: absolute;
  top: -1rem;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--collapsible-background);
  z-index: -1;
}

.node-collapsible > .section-heading {
  padding-left: 30px;
  max-width: 680px;
}

.node-collapsible > .pm-node-list {
  margin-left: calc(var(--gutter-padding) + 1rem + 9px);
}

.section-collapsible::after,
.section-collapsed::after {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 3px;
  background: url(/images/icons/TriangleDown.svg) center center no-repeat;
  background-size: 20px 20px;
  display: inline-block;
  position: absolute;
  left: var(--gutter-padding);
  top: 4px;
  opacity: 0.6;
  cursor: pointer;
  z-index: 1;
  transition: all 0.25s ease;
}

@media (min-width: 640px) {
  .section-collapsible::after,
  .section-collapsed::after {
    left: calc(var(--gutter-padding) + 1rem + 9px);
  }

  .node-collapsible::before {
    left: 2.5rem;
    right: 2.5rem;
  }
}

.section-collapsed::after {
  transform: rotate(-90deg);
}

.section-collapsed.node-collapsible::before {
  bottom: 0;
}

.section-collapsible::after:hover,
.section-collapsed::after:hover {
  background-color: rgba(0,0,0,.1);
}

.node-collapsible .heading-content {
  flex: 1;
  word-break: break-word;
}

.node-collapsed {
  display: none;
}

.number-marker:empty {
  border-radius: 3px;
  padding: 0 0.5rem;
}

.publish-slug {
  margin-right: 0.5rem;
  max-width: 350px;
}

.publish-slug input {
  display: block !important;
  width: 100%;
}

@media (max-width: 910px) {
  .publish-slug {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }

  .publish-slug input {
    width: auto;
  }
}

.panel-button {
  cursor: pointer;
  border-radius: 0.125rem;
  border-width: 1px;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.slideshow .panel-button {
  font-size: 0.8em;
}

.panel-button {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.1);
}

.panel-button:hover:not(:disabled) {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.25);
}

.panel-button:disabled {
  opacity: 0.5;
  cursor: default;
}

#article-buttons {
  display: flex;
}

#article-menu {
  display: none;
}

@media (max-width: 700px) {
  #article-nav {
    border-left: 0;
  }

  #article-buttons {
    display: none;
  }

  #article-menu {
    display: flex;
  }
}

/* Print Styles */

@media print {
  .sidebar-container,
  #topbar-edit,
  #topbar-show,
  .nj-gutter,
  #add-new-content-button,
  .help-menu,
  .toc {
    display: none;
  }

  .notebook-content {
    width: 100%;
    max-width: none;
  }

  * {
    box-shadow: none;
    text-shadow: none;
  }

  p a::after,
  li a::after {
    content: " ("attr(href)")"
  }

  .editor,
  .show {
    height: auto;
    overflow: unset;
  }

  .layout {
    height: auto;
    width: 100%;
    display: block;
  }

  .main-container {
    height: auto;
    max-height: none;
    overflow: unset;
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  .notebook-top-offset {
    margin-top: 0;
  }

  body,
  html {
    height: auto;
    font-size: 10pt !important;
  }

  .page-layout {
    min-height: auto;
    display: block;
  }

  .notebook {
    display: block;
    overflow: unset;
  }
}

/* Form Selects */

.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3e%3cpath d='M7 7l3-3 3 3m0 6l-3 3-3-3' stroke='%239fa6b2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  background-repeat: no-repeat;
  background-color: #ffffff;
  border-color: #d2d6dc;
  border-width: 1px;
  border-radius: 0.375rem;
  padding-top: 0.5rem;
  padding-right: 2.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  background-position: right 0.5rem center;
  background-size: 1.5em 1.5em;
}

.form-select::-ms-expand {
  color: #9fa6b2;
  border: none;
}

@media not print {
  .form-select::-ms-expand {
    display: none;
  }
}

@media print and (-ms-high-contrast: active), print and (-ms-high-contrast: none) {
  .form-select {
    padding-right: 0.75rem;
  }
}

.form-select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45);
  border-color: #a4cafe;
}

/* Checkins */

.checkin-answer .pm-node {
  padding-left: 0;
  padding-right: 0;
}

.checkin-answer .ProseMirror > .pm-node-list {
  margin-left: -60px;
}

.checkin-answer-form .nj-button--gutter {
  margin-right: 8px;
}

.checkin-answer-form .pm-node {
  padding-right: 15px;
}

/* XHR Progress */

@-webkit-keyframes progress-animation {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -200% 0;
  }
}

@keyframes progress-animation {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.xhr-progress-inner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, #ffd33d 0%, #ea4aaa 17%, #b34bff 34%, #01feff 51%, #ffd33d 68%, #ea4aaa 85%, #ffd33d 100%) repeat;
  background-size: 200%;
  -webkit-animation: progress-animation 5s linear infinite;
          animation: progress-animation 5s linear infinite;
}

/* Debug iframe worker */

.debug-iframe-worker .pm-node {
  outline: 2px solid rgba(0,255,0,.1);
}

.debug-iframe-worker .nj-code-result {
  background: rgba(255,0,0,.1);
}

.insert-cursor {
  position: absolute;
  left: -1px;
  top: 0;
  bottom: 0;
  border-left: 2px solid var(--teal-color);
}

.indicate-block,
.indicate-insert-block {
  position: relative;
}

.indicate-block::after {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 0;
  top: 0;
  right: 0;
  bottom: 1rem;
  background: rgba(46, 170, 220, 0.2);
}

.indicate-block.indicate-code::after,
.indicate-block.indicate-code_listing::after {
  bottom: 0.5rem;
}

.indicate-insert-block::after {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 0;
  right: 0;
  bottom: 0.5rem;
  border-bottom: 2px solid var(--teal-color);
}

.pm-node-list-item .indicate-block::after,
.pm-node-list-item .indicate-insert-block::after {
  left: 0;
  right: 0;
  bottom: 0;
}

@media (max-width: 960px) {
  .sidebar-collapsed .indicate-block.indicate-code::after,
  .sidebar-collapsed .indicate-block.indicate-code_listing::after {
    left: 0;
    right: 0;
  }
}

@media (max-width: 1200px) {
  .indicate-block.indicate-code::after,
  .indicate-block.indicate-code_listing::after {
    left: 0;
    right: 0;
  }
}

/* Command Palette */

.nj-commands-input {
  background: transparent;
  color: white;
}

.nj-commands-input::-moz-placeholder, .autocompleter-search input::-moz-placeholder {
  color: rgba(255,255,255,.75);
}

.nj-commands-input:-ms-input-placeholder, .autocompleter-search input:-ms-input-placeholder {
  color: rgba(255,255,255,.75);
}

.nj-commands-input::placeholder,
.autocompleter-search input::placeholder {
  color: rgba(255,255,255,.75);
}

.nj-context-menu-item:hover:not([disabled]),
.autocompleter-choice:hover:not([disabled]) {
  background-color: rgba(255,255,255,.14);
  cursor: pointer;
}

.nj-commands-highlighted-category {
  position: relative;
  top: 1px;
}

.katex-display {
  /* Depend on parent node margins for katex renderings */
  margin: 0;
}

/* Reference Markers */

.ref-marker {
  line-height: 1.3;
}

.ref-marker-content {
  position: relative;
  border-bottom: 2px solid rgba(201, 239, 244, 1.000);
  margin-right: 3px;
}

.ref-marker-data {
  padding: 0 2px;
}

.ref-marker-content:hover {
  cursor: pointer;
  background-color: rgba(201, 239, 244, 0.2);
}

.ref-marker-selected .ref-marker-content {
  background-color: rgba(201, 239, 244, 0.3);
  border-color: rgba(0, 156, 171, 1.000);
}

.ref-marker-follow,
.ref-marker-source {
  position: relative;
  display: block;
  background: rgba(228, 248, 250, 1.000);
  border-radius: 2px;
  padding: 0 4px;
  font-size: 9px;
  font-family: var(--sans-serif-font);
  height: 12px;
  line-height: 12px;
  white-space: nowrap;
}

.ref-marker-follow.selected {
  background: white !important;
  color: black !important;
}

.ref-marker-follow:hover {
  cursor: pointer;
  background-color: var(--teal-color);
  color: white;
}

.ref-marker-follow.selected:hover {
  background: rgba(255,255,255,.7) !important;
  color: black !important;
}

.ref-marker-arrow {
  position: relative;
  top: 1px;
}

.ref-marker-name {
  margin-right: 3px;
}

.ref-marker-file {
  background: url(/images/file-ref.svg) left center no-repeat;
}

.ref-marker-image {
  background: url(/images/image-ref.svg) left center no-repeat;
}

.ref-marker-plot {
  background: url(/images/plot-ref.svg) left center no-repeat;
}

.ref-marker-missing {
  background: url(/images/missing-ref.svg) left center no-repeat;
}

.ref-marker-file,
.ref-marker-image,
.ref-marker-plot {
  background-size: 10px 10px;
  padding-left: 9px;
}

.ref-marker-content.ref-marker-missing {
  border-color: var(--dark-red-color);
  color: var(--dark-red-color);
  padding-left: 12px;
  background-size: 12px 12px;
}

.ref-marker-missing:hover {
  background-color: transparent;
  cursor: default;
}

.ref-marker-selected .ref-marker-missing {
  border-color: var(--teal-color);
}

.visible .pop.ref-marker-popover {
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%) translateY(0) scale(1);
  z-index: 881;
}

.sidebar-runtime .ref-marker-source {
  margin-left: 0 !important;
}

/* Number Markers */

.number-marker {
  border-bottom: 2px solid rgba(0,0,0,.1);
  transition: border-color 0.2s ease;
}

.number-marker.scrubbing-number:hover {
  border-color: rgba(0,0,0,.2);
  cursor: ew-resize;
}

/* Output loading indicator */

.dots-loading,
.dots-loading:before,
.dots-loading:after {
  border-radius: 50%;
  width: 0.8em;
  height: 0.8em;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation: dots-loading 1.8s infinite ease-in-out;
          animation: dots-loading 1.8s infinite ease-in-out;
}

.dots-loading {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
          animation-delay: -0.16s;
  margin-top: -1.8em;
}

.dots-loading:before,
.dots-loading:after {
  content: "";
  position: absolute;
  top: 0;
}

.dots-loading:before {
  left: -1.2em;
  -webkit-animation-delay: -0.32s;
          animation-delay: -0.32s;
}

.dots-loading:after {
  left: 1.2em;
}

@-webkit-keyframes dots-loading {
  0%, 80%, 100% {
    box-shadow: 0 1em 0 -1.3em;
  }

  40% {
    box-shadow: 0 1em 0 0;
  }
}

@keyframes dots-loading {
  0%, 80%, 100% {
    box-shadow: 0 1em 0 -1.3em;
  }

  40% {
    box-shadow: 0 1em 0 0;
  }
}

/* Code Import Markers */

.import-marker-container {
  width: 100%;
  display: inline-block;
  padding: 0;
}

.import-marker {
  background: rgba(0,0,0,.03);
  border-bottom: 1px solid rgba(0,0,0,.09);
  border-top: 1px solid rgba(0,0,0,.06);
  padding: 3px 7px 0 7px;
  margin: 5px -7px;
  min-height: 31px;
}

.import-marker .CodeMirror-cursors {
  display: none !important;
}

.import-marker .import-marker {
  background: none;
  border: none;
  min-height: auto;
  margin: 0 -7px;
}

.import-marker .import-marker .nj-button--goto {
  display: none;
}

.import-marker.expanded {
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding-bottom: 3px;
}

.import-marker .CodeMirror {
  padding: 0;
}

.import-marker .CodeMirror-line {
  padding-left: 0;
}

.cm-preview .CodeMirror-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.import-preview {
  height: 33px;
  overflow: hidden;
}

.import-preview-gradient {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  bottom: 0;
  background: linear-gradient(rgba(243, 243, 245, 0.1), rgba(243, 243, 245, 0.8));
  z-index: 5;
}

/* Input for custom language names in code listings */

.code-name-input {
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 3px;
  background: transparent;
  padding: 3px 5px !important;
  margin-right: 5px;
  font-family: var(--monospace-font);
}

.code-name-input:hover {
  border-color: rgba(0,0,0,.1);
}

.code-name-input:focus {
  border-color: rgba(0,0,0,.1);
  outline: none;
}

.code-name-input::-moz-placeholder {
  color: rgba(0,0,0,.3);
}

.code-name-input:-ms-input-placeholder {
  color: rgba(0,0,0,.3);
}

.code-name-input::placeholder {
  color: rgba(0,0,0,.3);
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.hover\:bg-indigo-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity));
}

.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}

.hover\:underline:hover {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-75:hover {
  opacity: 0.75;
}

.hover\:opacity-60:hover {
  opacity: 0.6;
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:border-gray-200:focus {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.active\:shadow-sm:active {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark .dark\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.dark .dark\:text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

@media (min-width: 640px) {
  .sm\:mr-1 {
    margin-right: 0.25rem;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:rounded-lg {
    border-radius: 0.5rem;
  }
}

@media (min-width: 768px) {
  .md\:my-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .md\:mr-3 {
    margin-right: 0.75rem;
  }

  .md\:mb-0 {
    margin-bottom: 0px;
  }

  .md\:mt-8 {
    margin-top: 2rem;
  }

  .md\:mb-3 {
    margin-bottom: 0.75rem;
  }

  .md\:mr-1 {
    margin-right: 0.25rem;
  }

  .md\:ml-0 {
    margin-left: 0px;
  }

  .md\:mr-6 {
    margin-right: 1.5rem;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:ml-3 {
    margin-left: 0.75rem;
  }

  .md\:mt-5 {
    margin-top: 1.25rem;
  }

  .md\:mt-3 {
    margin-top: 0.75rem;
  }

  .md\:mr-4 {
    margin-right: 1rem;
  }

  .md\:ml-2 {
    margin-left: 0.5rem;
  }

  .md\:inline-block {
    display: inline-block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:w-1\/3 {
    width: 33.333333%;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:w-2\/5 {
    width: 40%;
  }

  .md\:w-3\/5 {
    width: 60%;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-\[14px\] {
    font-size: 14px;
  }

  .md\:text-\[12px\] {
    font-size: 12px;
  }

  .md\:hover\:bg-slate-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / var(--tw-bg-opacity));
  }

  .dark .md\:dark\:hover\:bg-slate-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(51 65 85 / var(--tw-bg-opacity));
  }
}

@media (min-width: 1024px) {
  .lg\:ml-0 {
    margin-left: 0px;
  }

  .lg\:overflow-x-visible {
    overflow-x: visible;
  }
}

