@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;
}

:root {
  --code-font: monaco, monospace;
  --sans-serif-font:
    -apple-system, BlinkMacSystemFont,
    Helvetica, "Helvetica Neue", Ubuntu,
    Roboto, Noto, "Segoe UI", Arial,
    sans-serif;
}

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

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

/* Colors */

:root {
  --dark-teal-color: #095960;
  --darkest-teal-color: #052e31;
  --dark-teal-transparent-color: rgba(7, 73, 78, .1);

  --teal-color: #009CAA;
  --light-teal-color: #09B0BA;
  --teal-transparent-color: rgba(0, 153, 170, .04);

  --silver-color: #e3e7ef;
  --light-silver-color: #eef1f6;

  --near-white-color: #fbfbfd;
  --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;
}

.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); }
.b--dark-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); }
.b--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); }
.b--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); }
.b--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); }
.b--dark-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); }
.b--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); }
.b--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); }
.b--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); }
.b--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); }
.b--near-black { border-color: var(--near-black-color); }

.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%);
}

/* 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);
}

/* Easings */

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

/* Defaults */

body {
  font-family: "PTSerif", serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media screen and (min-width: 1120px) {
  .center.uncenter-l {
    margin-left: 0;
    margin-right: 0;
  }
}

.hd1 {
  font-size: 2.6rem;
}

@media (max-width: 560px) {
  .hd1 {
    font-size: 1.6rem;
  }
}

.hd2 {
  font-size: 1.5rem;
}
.editor .heading-container-1 {
  margin-top: 7px;
}
.heading-container-2 {
  margin-top: 1rem;
}

.hd3,
.hd4,
.hd5,
.hd6,
.hd7,
.hd8 {
  font-size: 1.2rem;
}
p, h1, h2, h3, h4, h5, h6, ul, ol {
  line-height: 1.5;
  margin: 0;
}
h1 {
  line-height: 1.3;
}
p + p {
  margin-top: 1rem;
}

.heading-container,
.node {
  padding-bottom: 1rem;
}

.embed {
    padding: 0.5rem 0;
}

.subtitle,
.authors {
  margin-top: 0.7rem;
}

/* Links */

a {
  color: var(--teal-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;
}

.fbody {
  font-size: 1.15rem;
}
.f7 {
  font-size: .775rem;
}

/* Lists */

/* Code */

.code,
code {
  font-size: 0.9em;
  color: #c8214d;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

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

.nj-badge-code {
  color: #c8214d;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.1);
  font-family: var(--code-font);
  padding-left: 4px;
  padding-right: 4px;
  line-height: 1.5;
  font-size: 0.9em;
  display: inline-block;
  margin-left: 1px;
  margin-right: 1px;
}

/* Branding */

.logo,
.logo-white {
  background: url(/images/logo.svg) center center no-repeat;
  background-size: 98px 28px;
  width: 98px;
  height: 28px;
  text-indent: -999em;
  display: block;
}
.logo-white {
  background-image: url(/images/logo-white.svg);
}
.logo-mobile {
  display: block;
}
.logo.logo-desktop,
.logo-white.logo-desktop {
  display: none;
}
@media screen and (min-width: 30em) {
  .logo-mobile {
    display: none !important;
  }
  .logo.logo-desktop,
  .logo-white.logo-desktop {
    display: block;
  }
}

/* Controls */

: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;
  cursor: not-allowed;
}

/* Buttons */

.nj-button,
.nj-button--topbar {
  border: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
}

.nj-button:disabled,
.nj-button--topbar:disabled {
  opacity: 0.5;
  cursor: default !important;
}
.nj-button:focus,
.nj-button--topbar:disabled {
  outline: none;
}

.nj-button--topbar {
  padding: 0;
  width: 26px;
  height: 24px;
  border-radius: 0.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nj-button--topbar.active {
  background: white;
}
.nj-button--topbar.active svg {
  fill: var(--teal-color);
}

.topbar-switch {
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}

.topbar-switch .nj-button--topbar {
  border-radius: 0;
  margin-right: 2px;
}

.topbar-switch .nj-button--topbar:first-child {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.topbar-switch .nj-button--topbar:last-child {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.nj-button--primary,
.nj-button--secondary,
.nj-button--danger,
.nj-button-sm--primary,
.nj-button-sm--secondary,
.nj-button-sm--danger,
.uploadcare-widget-button {
  -webkit-font-smoothing: antialiased;
  line-height: 1.4;
  text-align: center;
  border-radius: 4px;
  font-size: .875rem;
  padding: 6px 16px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  font-family: var(--sans-serif-font);
  border: 1px solid var(--teal-color);
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

.nj-button--primary .ripple,
.nj-button--secondary .ripple,
.nj--button-sm--primary .ripple,
.nj--button-sm--secondary .ripple,
[data-ripple] .ripple {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0
}

.ripple span {
  transform: scale(0);
  border-radius: 100%;
  position: absolute;
  opacity: 0.75;
  background-color: rgba(255,255,255,.75);
  animation: ripple 500ms;
}

.nj-button--secondary .ripple span,
.nj-button-sm--secondary .ripple span,
[data-ripple-dark] .ripple span {
  background-color: rgba(1,156,170,.5);
}

@keyframes ripple {
  to {
    opacity: 0;
    transform: scale(2);
  }
}

.nj-button-sm--primary,
.nj-button-sm--secondary,
.nj-button-sm--danger,
.uploadcare-widget-button {
  padding: 3px 10px;
  font-size: .775rem;
}

.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,
.nj-button--topbar:focus,
.uploadcare-widget-button:focus {
  outline: none;
}
.nj-button--primary,
.nj-button-sm--primary {
  background: var(--teal-color);
  color: #fff;
}
.nj-button--primary:hover:not(.disabled),
.nj-button-sm--primary:hover:not(.disabled),
.nj-button--primary:hover:not(:disabled),
.nj-button-sm--primary:hover:not(:disabled) {
  opacity: 1;
  border-color: #00B4C1;
  background: #00B4C1;
}
.nj-button--secondary,
.nj-button-sm--secondary,
.uploadcare-widget-button {
  border-color: rgba(0,0,0,.2);
  background: #fff;
  color: var(--teal-color);
}
.nj-button--secondary:hover:not(.disabled),
.nj-button-sm--secondary:hover:not(.disabled),
.nj-button--secondary:hover:not(:disabled),
.nj-button-sm--secondary:hover:not(:disabled),
.uploadcare-widget-button:hover:not(.disabled) {
  opacity: 1;
  background: var(--teal-transparent-color);
}
.nj-button--secondary svg,
.nj-button-sm--secondary svg,
.uploadcare-widget-button svg {
  fill: var(--teal-color);
}
.nj-button--danger,
.nj-button-sm--danger {
  background: white;
  color: var(--dark-red-color);
  border: 1px solid var(--dark-red-color);
}
.nj-button--danger:hover:not(.disabled),
.nj-button-sm--danger:hover:not(.disabled) {
  opacity: 1;
  background: rgba(7, 73, 78, .02);
}
.nj-button--danger:active:not(.disabled),
.nj-button-sm--danger:active:not(.disabled) {
  opacity: 1;
  background: rgba(7, 73, 78, .02);
  border-color: var(--dark-red-color);
  color: var(--dark-red-color);
  box-shadow: var(--focus-ring-dark-teal);
}
.nj-button--link,
.nj-button--goto,
.nj-button--pill,
.nj-button--unstyled {
    border: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    line-height: normal;
    box-sizing: content-box;
}
.nj-button--link,
.nj-button--goto,
.nj-button--pill {
  color: var(--teal-color);
  transition: opacity 0.25s ease;
}
.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;
}

/* 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;
}

.nj-button-group button.nj-button--topbar:not(:first-child):not(:last-child),
.nj-button-group button.nj-button-sm--topbar:not(:first-child):not(:last-child) {
    border-right-width: 0px;
}

.more-actions {
  position: absolute;
  bottom: 0;
  righ: 0;
}

/* Inputs */

.nj-input,
.nj-input--invalid,
.nj-input--valid {
    transition: border .1s ease, box-shadow .1s ease;
    line-height: 1.4;
    appearance: none;
    outline: 0;
    border-radius: 4px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 0.875em;
    border: 1px solid rgba(0,0,0,.12);
    box-shadow: inset 0 1px 2px 0 rgba(207,215,230,.5);
}
.nj-input:focus {
    border: 1px solid var(--teal-color);
    box-shadow:
    inset 0 1px 2px 0 rgba(207,215,230,.5),
    var(--focus-ring-dark-teal);
}
.nj-input:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.nj-input--invalid {
    border-color: var(--red-color);
}
.nj-input--invalid:focus {
    box-shadow: var(--focus-ring-red);
}
.nj-input--valid {
    border-color: var(--green-color);
}
.nj-input--valid:focus {
    box-shadow: var(--focus-ring-green);
}
.nj-input.nj-input-sm {
    padding: 3px 7px;
}

/* Popovers */

.popover {
    text-align: left;
    border-radius: 4px;
    background: white;
    border: 1px solid rgba(0, 0, 0, .1);
    box-shadow: var(--shadow-outer-2);
    padding-top: .25rem;
    padding-bottom: .25rem;
    display: none;
    z-index: 990;
}

.open .popover {
    display: block;
}

/* Icons */

.icon,
.icon svg {
    display: inline-block;
    width: 1em;
    height: 1em;
}

/* Finding */

@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 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;
    animation-name: dish;
    animation-duration: 6s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
#wave1 {
    animation-name: wave;
    animation-duration: 6s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
#wave2 {
    animation-name: wave;
    animation-duration: 6s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
    animation-delay: 0.25s;
}

@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(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
    background-size: 8px 8px;
    animation: stripes 2s linear infinite;
}

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

@media (min-width: 30em) {
    .mob {
        display: none !important;
    }
}

/* Sliders */

:root {
    --track-color-background: var(--dark-teal-color);
    --track-color-selected: var(--darkest-teal-color);
    --track-border-color: var(--dark-teal-color);

    --thumb-radius: 4px;
    --thumb-height: 28px;
    --thumb-width: 28px;
    --thumb-shadow-size: 1px;
    --thumb-shadow-blur: 1px;
    --thumb-shadow-color: rgba(0, 0, 0, .2);
    --thumb-border-color: #eceff1;

    --track-height: 28px;
    --track-shadow-size: 1px;
    --track-shadow-blur: 1px;
    --track-shadow-color: rgba(0, 0, 0, .2);
    --track-shadow-color-light: rgba(0, 0, 0, .1);
    --track-border-width: 1px;

    --label-height: 14px;

    --track-ring: var(--track-shadow-size) var(--track-shadow-size) var(--track-shadow-blur) var(--track-shadow-color), 0 0 var(--track-shadow-size) var(--track-shadow-color-light);

    --track-radius: 4px;
    --contrast: 5%;
}

/* TODO: Fix slider number position in Firefox */

.nj-slider-thumb {
	  cursor: default;
    position: absolute;
	  -ms-touch-action: none;
	  touch-action: none;
    pointer-events: none;
    outline : none;
    -moz-outline : none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    text-shadow: 0 1px 1px rgba(255,255,255,.5);
    color: var(--dark-teal-color);
    -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
    font-size: 0.9em;
    font-weight: 600;
    font-family: var(--sans-serif-font);
}

label.nj-slider {
    min-width: 5em;
    line-height: 0;
    text-shadow: 0 1px 1px rgba(255,255,255,.5);
    color: var(--dark-teal-color);
    -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
    font-size: 0.9em;
    font-weight: 600;
    font-family: var(--sans-serif-font);
}

label.nj-slider-with-track-values {
    padding-top: var(--label-height);
}

[type=range].nj-slider {
    -webkit-appearance: none;
    width: 100%;
}

.nj-slider--bottom-label {
    text-shadow: 0 1px 1px rgba(255,255,255,.5);
    color: var(--dark-teal-color);
    -webkit-font-smoothing: antialiased;
    font-size: 0.9em;
    font-weight: 600;
    font-family: var(--sans-serif-font);
}

[type=range].nj-slider:focus {
    outline: 0
}

input[type=range].nj-slider::-webkit-slider-runnable-track {
    background: var(--track-color-background);
    border: var(--track-border-width) solid var(--track-border-color);
    border-radius: var(--track-radius);
    box-shadow: var(--track-ring);
}

input[type=range].nj-slider:active::-webkit-slider-runnable-track {
    opacity: 1;
    background: var(--track-color-selected);
    box-shadow: inset rgba(0,0,0,.5) 0 1px 2px;
}

input[type=range].nj-slider::-moz-range-track {
    height: var(--track-height);
    background: var(--track-color-background);
    border: var(--track-border-width) solid var(--track-border-color);
    border-radius: var(--track-radius);
    box-shadow: var(--track-ring);
}

input[type=range].nj-slider:active::-moz-range-track {
    opacity: 1;
    background: var(--track-color-selected);
    box-shadow: inset rgba(0,0,0,.5) 0 1px 2px;
}

input[type=range].nj-slider::-ms-track {
    height: var(--track-height);
    background: transparent;
    border: var(--track-border-width) solid var(--track-border-color);
    border-radius: var(--track-radius);
    box-shadow: var(--track-ring);
}

input[type=range].nj-slider:active::-ms-track {
    opacity: 1;
    background: var(--track-color-selected);
    box-shadow: inset rgba(0,0,0,.5) 0 1px 2px;
}

input[type=range].nj-slider::-webkit-slider-thumb {
    background: linear-gradient(white, var(--silver-color));
    color: var(--dark-teal-color);
    border: 1px solid #c6c4c4;
    border-radius: var(--thumb-radius);
    height: var(--thumb-height);
    width: var(--thumb-width);
    -webkit-appearance: none;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}

input[type=range].nj-slider:active::-webkit-slider-thumb {
    opacity: 1;
    background: linear-gradient(white, var(--silver-color));
    color: var(--dark-teal-color);
    box-shadow: inset rgba(0,0,0,.5) 0 1px 2px;
}

input[type=range].nj-slider:hover::-webkit-slider-thumb {
    opacity: 1;
    background: linear-gradient(white, var(--light-silver-color));
}

input[type=range].nj-slider::-moz-range-thumb {
    background: linear-gradient(white, var(--silver-color));
    color: var(--dark-teal-color);
    border: 1px solid #c6c4c4;
    border-radius: var(--thumb-radius);
    height: var(--thumb-height);
    width: var(--thumb-width);
    -webkit-appearance: none;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}

input[type=range].nj-slider:active::-moz-range-thumb {
    opacity: 1;
    background: linear-gradient(white, var(--silver-color));
    color: var(--dark-teal-color);
    box-shadow: inset rgba(0,0,0,.5) 0 1px 2px;
}

input[type=range].nj-slider:hover::-moz-range-thumb {
    opacity: 1;
    background: linear-gradient(white, var(--light-silver-color));
}

input[type=range].nj-slider::-ms-thumb {
    background: linear-gradient(white, var(--silver-color));
    color: var(--dark-teal-color);
    border: 1px solid #c6c4c4;
    border-radius: var(--thumb-radius);
    height: var(--thumb-height);
    width: var(--thumb-width);
    -webkit-appearance: none;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    margin-top: 0;
}

input[type=range].nj-slider:active::-ms-thumb {
    opacity: 1;
    background: linear-gradient(white, var(--silver-color));
    color: var(--dark-teal-color);
    box-shadow: inset rgba(0,0,0,.5) 0 1px 2px;
}

input[type=range].nj-slider:hover::-ms-thumb {
    opacity: 1;
    background: linear-gradient(white, var(--light-silver-color));
}

.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: -1px;
    top: -1px;
    right: -1px;
    bottom: -1px;
    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);
}
@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 {
  animation-name: copied-code-cell;
  animation-duration: 1.5s;
}

@keyframes highlight {
  from { border-color: var(--orange-color); }
  to { border-color: transparent; }
}

.highlight .code-cell .code-cell-content::before,
.highlight .runtime-node {
  animation-name: highlight;
  animation-duration: 1.5s;
}

@keyframes copied-output {
  from { border-color: var(--green-color); }
  to { border-color: transparent; }
}

@keyframes copied-button {
  from { background-color: var(--green-color); }
  to { background-color: var(--teal-color); }
}

.result-view {
  border: 2px solid transparent;
  border-radius: 5px;
}
.result-view:focus {
  outline: none;
}

.result-view.selected {
  border-color: rgba(0, 156, 170, 0.6);
}

.result-view.selected .copy-button.gutter-actions {
  opacity: 1;
}

.copied-output .result-view {
  animation-name: copied-output;
  animation-duration: 1.5s;
}

.copied-output .result-view.selected {
  animation-name: copied-code-cell;
  animation-duration: 1.5s;
}

.copy-icon {
  opacity: 1;
}
.copied-icon {
  opacity: 0;
  position: absolute;
}
.copied-output .copy-button,
.copied-node .copy-button {
  animation-name: copied-button;
  animation-duration: 1.5s;
  cursor: default;
}
.copied-output .copy-icon,
.copied-node .copy-icon {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.copied-output .copied-icon,
.copied-node .copied-icon {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.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;
}
.sidebar-runtime:hover {
    background: var(--near-white-color);
}
.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;
}
@keyframes uploading {
    0% { transform: translateY(100%); }
    100% { transform: translateY(-100%); }
}
.anim-uploading {
    animation: uploading 1.5s linear infinite;
}
@keyframes downloading {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(100%); }
}
.anim-downloading {
    animation: downloading 1.5s linear infinite;
}

.nj-kv-rows {
}
.nj-kv-row {
    display: flex;
    align-items: center;
}
.nj-kv-key,
.nj-kv-value {
    border: 1px solid rgba(0,0,0,.1);
    border-bottom: 0;
    padding: 5px;
    font-size: 12px;
    font-family: var(--code-font);
    position: relative;
    color: rgba(71, 71, 71, 1.000);
}
.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: 30%;
    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-delete,
.nj-kv-action {
    padding: 0;
    margin-left: 7px;
    width: 20px;
    height: 20px;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
.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 */

button[data-tooltip] {
  overflow: visible;
}
[data-tooltip] {
  position: relative;
  cursor: pointer;
}
[data-tooltip]::after {
  opacity: 0;
  pointer-events: none;
  font-family: sans-serif !important;
  font-weight: normal !important;
  font-style: normal !important;
  text-shadow: none !important;
  font-size: 12px !important;
  background: rgba(17, 17, 17, 0.9);
  border-radius: 4px;
  color: #fff;
  content: attr(data-tooltip);
  padding: .5em 1em;
  position: absolute;
  white-space: nowrap;
  z-index: 10;
}
[data-tooltip]::before {
  background: no-repeat url(/images/tooltip-up.svg);
  background-size: 100% auto;
  width: 18px;
  height: 6px;
  opacity: 0;
  pointer-events: none;
  content: '';
  position: absolute;
  z-index: 10;
}
[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip][data-tooltip-visible]::before,
[data-tooltip][data-tooltip-visible]::after {
  opacity: 1;
  pointer-events: none;
}
[data-tooltip].font-awesome::after {
  font-family: FontAwesome;
}
[data-tooltip][data-tooltip-break]::after {
  white-space: pre;
}
[data-tooltip][data-tooltip-blunt]::before,
[data-tooltip][data-tooltip-blunt]::after {
  transition: none;
}
[data-tooltip][data-tooltip-pos="up"]:after {
  bottom: 100%;
  left: 50%;
  margin-bottom: 9px;
  transform: translate(-50%, 11px);
  transform-origin: top;
}
[data-tooltip][data-tooltip-pos="up"]:before {
  bottom: 100%;
  left: 50%;
  margin-bottom: 3px;
  transform: translate(-50%, 11px);
  transform-origin: top;
}
[data-tooltip][data-tooltip-pos="up"]:hover:after,
[data-tooltip][data-tooltip-pos="up"][data-tooltip-visible]:after {
  transform: translate(-50%, 0);
}
[data-tooltip][data-tooltip-pos="up"]:hover:before,
[data-tooltip][data-tooltip-pos="up"][data-tooltip-visible]:before {
  transform: translate(-50%, 0);
}
[data-tooltip][data-tooltip-pos="up-left"]:after {
  bottom: 100%;
  left: 0;
  margin-bottom: 9px;
  transform: translate(0, 7px);
  transform-origin: top;
}
[data-tooltip][data-tooltip-pos="up-left"]:before {
  bottom: 100%;
  left: 5px;
  margin-bottom: 3px;
  transform: translate(0, 7px);
  transform-origin: top;
}
[data-tooltip][data-tooltip-pos="up-left"]:hover:after,
[data-tooltip][data-tooltip-pos="up-left"][data-tooltip-visible]:after {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos="up-left"]:hover:before,
[data-tooltip][data-tooltip-pos="up-left"][data-tooltip-visible]:before {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos="up-right"]:after {
  bottom: 100%;
  right: -6px;
  margin-bottom: 9px;
  transform: translate(0, 7px);
  transform-origin: top;
}
[data-tooltip][data-tooltip-pos="up-right"]:before {
  bottom: 100%;
  right: -1px;
  margin-bottom: 3px;
  transform: translate(0, 7px);
  transform-origin: top;
}
[data-tooltip][data-tooltip-pos="up-right"]:hover:after,
[data-tooltip][data-tooltip-pos="up-right"][data-tooltip-visible]:after {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos="up-right"]:hover:before,
[data-tooltip][data-tooltip-pos="up-right"][data-tooltip-visible]:before {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos='down']:after {
  left: 50%;
  margin-top: 8px;
  top: 100%;
  transform: translate(-50%, -7px);
}
[data-tooltip][data-tooltip-pos='down']:before {
  background: no-repeat url(/images/tooltip-down.svg);
  background-size: 100% auto;
  width: 18px;
  height: 6px;
  left: 50%;
  margin-top: 3px;
  top: 100%;
  transform: translate(-50%, -7px);
}
[data-tooltip][data-tooltip-pos='down']:hover:after,
[data-tooltip][data-tooltip-pos='down'][data-tooltip-visible]:after {
  transform: translate(-50%, 0);
}
[data-tooltip][data-tooltip-pos='down']:hover:before,
[data-tooltip][data-tooltip-pos='down'][data-tooltip-visible]:before {
  transform: translate(-50%, 0);
}
[data-tooltip][data-tooltip-pos='down-left']:after {
  left: -3px;
  margin-top: 8px;
  top: 100%;
  transform: translate(0, -11px);
}
[data-tooltip][data-tooltip-pos='down-left']:before {
  background: no-repeat url(/images/tooltip-down.svg);
  background-size: 100% auto;
  width: 18px;
  height: 6px;
  left: 2px;
  margin-top: 3px;
  top: 100%;
  transform: translate(0, -7px);
}
[data-tooltip][data-tooltip-pos='down-left']:hover:after,
[data-tooltip][data-tooltip-pos='down-left'][data-tooltip-visible]:after {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos='down-left']:hover:before,
[data-tooltip][data-tooltip-pos='down-left'][data-tooltip-visible]:before {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos='down-right']:after {
  right: 0;
  margin-top: 8px;
  top: 100%;
  transform: translate(0, -7px);
}
 [data-tooltip][data-tooltip-pos='down-right']:before {
   background: no-repeat url(/images/tooltip-down.svg);
   background-size: 100% auto;
   width: 18px;
   height: 6px;
   right: 5px;
   margin-top: 3px;
   top: 100%;
   transform: translate(0, -7px);
}
[data-tooltip][data-tooltip-pos='down-right']:hover:after,
[data-tooltip][data-tooltip-pos='down-right'][data-tooltip-visible]:after {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos='down-right']:hover:before,
[data-tooltip][data-tooltip-pos='down-right'][data-tooltip-visible]:before {
  transform: translate(0, 0);
}
[data-tooltip][data-tooltip-pos='left']:after {
  margin-right: 11px;
  right: 100%;
  top: 50%;
  transform: translate(10px, -50%);
}
[data-tooltip][data-tooltip-pos='left']:before {
  background: no-repeat url(/images/tooltip-left.svg);
  background-size: 100% auto;
  width: 6px;
  height: 18px;
  margin-right: 5px;
  right: 100%;
  top: 50%;
  transform: translate(10px, -50%);
}
[data-tooltip][data-tooltip-pos='left']:hover:after,
[data-tooltip][data-tooltip-pos='left'][data-tooltip-visible]:after {
  transform: translate(0, -50%);
}
[data-tooltip][data-tooltip-pos='left']:hover:before,
[data-tooltip][data-tooltip-pos='left'][data-tooltip-visible]:before {
  transform: translate(0, -50%);
}
[data-tooltip][data-tooltip-pos='right']:after {
  left: 100%;
  margin-left: 11px;
  top: 50%;
  transform: translate(-10px, -50%);
}
[data-tooltip][data-tooltip-pos='right']:before {
  background: no-repeat url(/images/tooltip-right.svg);
  background-size: 100% auto;
  width: 6px;
  height: 18px;
  left: 100%;
  margin-left: 5px;
  top: 50%;
  transform: translate(-10px, -50%);
}
[data-tooltip][data-tooltip-pos='right']:hover:after,
[data-tooltip][data-tooltip-pos='right'][data-tooltip-visible]:after {
  transform: translate(0, -50%);
}
[data-tooltip][data-tooltip-pos='right']:hover:before,
[data-tooltip][data-tooltip-pos='right'][data-tooltip-visible]:before {
  transform: translate(0, -50%);
}
[data-tooltip][data-tooltip-length='small']:after {
  white-space: normal;
  width: 80px;
}
[data-tooltip][data-tooltip-length='medium']:after {
  white-space: normal;
 width: 150px;
}
[data-tooltip][data-tooltip-length='large']:after {
  white-space: normal;
  width: 260px;
}
[data-tooltip][data-tooltip-length='xlarge']:after {
  white-space: normal;
  width: 380px;
}
@media screen and (max-width: 768px) {
  [data-tooltip][data-tooltip-length='xlarge']:after {
    white-space: normal;
    width: 90vw;
  }
}
[data-tooltip][data-tooltip-length='fit']:after {
  white-space: normal;
  width: 100%;
}
.dropdown-open [data-tooltip]:before,
.dropdown-open [data-tooltip]:after {
  display: none !important;
}

.clipboard-input {
  position: fixed;
  top: 0;
  left: -999em;
  opacity: 0;
}
#topbar-content .log-entry {
  color: black !important;
}
.status-bar {
  max-width: 440px;
}
@media screen and (max-width: 860px) {
  .status-bar {
    max-width: 10000px;
  }
}
@media screen and (min-width: 1000px) {
  .status-bar {
    position: absolute;
    left: 50%;
    width: 440px;
    margin-left: -160px;
  }
}
.trunc-data {
  overflow: hidden;
  max-width: 10.11em;
}
[data-slate-editor] .trunc-data {
  max-width: 10.1em;
}

.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-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 .mw-read {
  max-width: 100% !important;
}
.slideshow .hd1 {
  font-size: 4em;
}
.slideshow .hd2 {
  font-size: 3em;
}
.slideshow .hd3 {
  font-size: 2em;
}
.slideshow p {
  font-size: 1.3em;
}
.slideshow .heading-container {
  margin-top: 15em;
}
.slideshow .heading-container-1 {
  margin-bottom: 1.5em;
}
.slideshow .subtitle {
  font-size: 2em !important;
}
.slideshow .authors {
  font-size: 1.5em !important;
}
.slideshow.stepping .heading-container,
.slideshow.stepping .section-item {
  opacity: 0.1;
  transition: opacity 0.3s ease;
}
.slideshow.stepping .heading-container.active-slide,
.slideshow.stepping .section-item.active-slide {
  opacity: 1;
}
.slideshow .section-item figure {
  margin-top: 5em;
  margin-bottom: 5em;
}
.slideshow .CodeMirror {
  font-size: 1em;
}
.slideshow .f5 {
  font-size: 1.2em;
}
.slideshow .f6 {
  font-size: 1em;
}
.slideshow .f7 {
  font-size: 0.8em;
}
.slideshow .appendix-section {
  display: none;
}
.slideshow .node-file {
  padding-bottom: 0 !important;
}
.slideshow ul {
  font-size: 1.3em;
}
a.tile-preview:hover,
a.tile:hover {
  opacity: 1;
}
.tile-preview img {
  position: relative;
}
.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;
}
.down .tile-shadow {
  box-shadow: 0 0 10px rgba(14,21,47,0.6);
}

.tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  grid-template-rows: repeat(auto-fill, minmax(220px, 1fr));
  grid-gap: 24px;
}
.tile-effect {
  transform-style: preserve-3d;
}
.tile-effect-content {
  transition: all 0.125s var(--snap-easing);
}
.safari .tile-effect-content {
  transition: none;
}
.tile-delete:hover {
  border: 1px solid var(--dark-red-color) !important;
}
.tile-delete:hover svg {
  opacity: 1;
  fill: var(--dark-red-color) !important;
}
.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%);
}
@media (max-width: 496px) {
  .tile-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    grid-template-rows: repeat(auto-fill, minmax(160px, 1fr));
  }
}
.coll-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: 24px;
}
@media (max-width: 430px) {
  .coll-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}
.coll {
  height: 380px;
}
@media (max-width: 420px) {
  .coll {
    height: auto;
  }
}
a.coll:hover {
  opacity: 1;
}
.coll-desc p {
  margin: 0 !important;
}
.coll-previews {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  padding: 7px;
  grid-gap: 7px;
}
.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;
}
.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);
}
.page {
  max-width: 1010px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 25px;
  padding-right: 25px;
  box-sizing: border-box;
}
.mwarticle {
  max-width: 1010px;
}
.editor-active .mwarticle {
  max-width: calc(960px + 2.5rem + 2.5rem);
}
.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);
}
.open .dashboard-select,
.dashboard-select:hover {
  background: white;
  border: 1px solid var(--light-silver-color);
  color: var(--teal-color);
}
#import-url {
  overflow: hidden;
  height: 0;
  transition: all 0.4s var(--snap-easing);
}
#import-url > div {
  transform: translateY(-100%);
  transition: all 0.4s var(--snap-easing);
}
#import-url.visible > div {
  transform: translateY(0);
}
#import-url.visible {
  height: 69px;
}

.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 .heading-container-1 {
  display: none;
}
.topbar-inner-shadow {
  box-shadow: inset 0 -1px 2px rgba(0,0,0,.1);
}
#preview-image {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#preview-image.zoomed img {
  width: 100%;
  height: 100%;
  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;
}
.box-selected {
  border: 1px solid var(--teal-color);
}

@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 {
  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;
}

/* Jupyter Styles (editor.components.viewers.html) */

.html-viewer {
  margin-top: 1rem;
}
.html-viewer table {
  border-spacing: 0;
  font-size: 14px;
  font-family: var(--sans-serif-font);
  border: 1px solid rgba(0,0,0,.05);
  border-bottom: 0;
}
.html-viewer caption {
  padding-bottom: 0.5rem;
}
.html-viewer table + table {
  margin-top: 1rem;
}
.html-viewer thead {
  vertical-align: bottom;
}
.html-viewer tr,
.html-viewer th,
.html-viewer td {
  text-align: right;
  vertical-align: middle;
  padding: 0.5em 0.5em;
  line-height: normal;
  white-space: normal;
  max-width: none;
  border: none;
}
.html-viewer th {
  font-weight: bold;
}
.html-viewer tbody tr:nth-child(odd) {
  background: var(--teal-transparent-color);
}
.html-viewer tbody tr:hover {
  background: rgba(66, 165, 245, 0.2);
}
.html-viewer tbody td,
.html-viewer tbody th {
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.notification-close {
  opacity: 0.7;
  transition: opacity 0.125s ease;
}
.notification-close:hover {
  opacity: 1;
}

.CodeMirror-hints {
  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;
}

.CodeMirror-hint {
  margin: 0;
  padding: 2px 4px;
  border-radius: 0;
  white-space: pre;
  color: black;
  cursor: pointer;
}
.CodeMirror-hint:first-of-type {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.CodeMirror-hint:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

li.CodeMirror-hint-active {
  background: var(--teal-color);
  color: white;
}
.cm-hint-type-info {
  color: rgba(0,0,0,.5);
}
li.CodeMirror-hint-active .cm-hint-type-info {
  color: rgba(255,255,255,.8);
}

.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;
}
.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;
  }
}
.highlight {
  border-radius: 2px;
  background: #e3edf3;
}
.customer-logo img {
  filter: saturate(0%);
  opacity: 0.5;
  transition: all 0.2s ease;
}
.customer-logo:hover img {
  filter: none;
  opacity: 1;
}
#csi-logo {
  max-width: 175px;
}
#cz-logo {
  max-width: 116px;
}
#nasa-logo {
  max-width: 69px;
}
#eth-logo {
  max-width: 85px;
}
#ucberkeley-logo {
  max-width: 145px;
}
#umich-logo {
  max-width: 47px;
}
#ucsb-logo {
  max-width: 87px;
}
#sib-logo {
  max-width: 72px;
}

@media screen and (max-width: 500px) {
  .home-signup form {
    display: block;
  }
  .home-signup form input {
    width: 100%;
  }
  .home-signup form button {
    width: 100%;
    margin-left: 0 !important;
    margin-top: 0.5rem;
  }
}
.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;
}
.secrets-popover {
  padding: 1rem;
}
.secrets-popover .autocompleter-search {
  margin-top: -3px;
  margin-bottom: 3px;
}
.secrets-popover .autocompleter {
  padding-right: 1rem;
}
.secrets-popover .autocompleter-choice {
  border-radius: 0.25rem !important;
  margin-left: 3px;
  margin-right: 3px;
}
.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;
  padding: 8px 7px;
}
.active-collaborator {
  transition: transform 0.25s var(--snap-easing);
}
.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;
}
@media (max-width: 860px) {
  #topbar-edit .avatar {
    width: 30px !important;
    height: 30px !important;
  }
}
.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);
}
