body {
  background: var(--jp-layout-color1);
}

#jp-main-dock-panel {
  padding: 0;
}

#jp-left-stack {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-InputArea-editor {
  border: none;
  border-radius: 2px;
  background-color: #222;
}

.jp-Notebook .jp-Cell .jp-InputPrompt {
  background-color: #2b2b2b;
}

.CodeMirror-lines {
  padding: var(--jp-code-padding) 0.3rem;
}

.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
  border: none;
  box-shadow: none; 
  background-color: #222;
}

/* fix gutter background */
.cm-s-jupyter .CodeMirror-activeline-background, .cm-s-jupyter .CodeMirror-gutter {
  background-color: #222;
}

/* remove right border from the gutter */
.CodeMirror-gutters {
  border-right: none !important;
  background-color: transparent !important;
}

.jp-Cell {
  margin: 1rem !important;
  padding: 0 !important;
}

.jp-mod-selected {
  background-color: #353434;
  border-radius: 2px;
  box-shadow: 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%), 0 2px 4px -1px rgb(0 0 0 / 40%);
}

.cm-lsp-highlight, span.CodeMirror-selectedtext {
  border-radius: 2px;
}

.cm-lsp-highlight {
  background-color: #13bd4330;
}

.jp-Collapser {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.jp-mod-active.jp-InputCollapser.jp-Cell-inputCollapser {
  border-bottom-left-radius: 0;
}

.jp-Cell-outputCollapser {
  border-top-left-radius: 0;
}

.jp-OutputArea-child .jp-OutputArea-output {
  margin-bottom: 1rem;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
  box-shadow: none;
}

.jp-OutputArea-output pre {
  padding: 0.3rem 0;
}

.jp-Completer-item.jp-mod-active {
  background: var(--md-blue-500);
  color: white;
}

.CodeMirror.cm-s-jupyter {
  background: #222;
  color: var(--jp-content-font-color1);
}

.jp-mod-active .jp-Completer-typeExtended {
  color: var(--jp-content-font-color1);
}

.jp-RenderedText pre .ansi-yellow-bg {
  background-color: #610606;
}

.jp-RenderedHTMLCommon table {
  font-size: var(--jp-ui-font-size1); 
}

.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
  margin-top: 0;
}

.jp-DirListing-headerItem {
  background-color: var(--jp-layout-color1) !important;
}

.jp-DirListing-item {
  cursor: pointer;
}

.jp-PluginList {
  background-color: var(--jp-layout-color1);
  padding-right: 0;
}

.jp-DirListing-item.jp-mod-selected {
  box-shadow: none;
  background: var(--jp-listitem-mod-selected);
  color: var(--jp-ui-font-color0);
  border-radius: 0;
}    

.jp-PluginList-entry.jp-mod-selected {
  box-shadow: none!important;
  background-color: var(--jp-listitem-mod-selected);
  color: var(--jp-ui-font-color0);
  border-radius: 0;
}

.jp-PluginList .jp-mod-selected .jp-SelectedIndicator {
  visibility: hidden;
}

/* Inner editor panel should not have left, right and bottom border */
.lm-DockPanel-widget,
.lm-TabPanel-stackedPanel {
    background: var(--jp-layout-color0);
    border-right: none !important;
    border-left: none !important;
    border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
}

/* switch color for simple layout */
.jp-switch-track {
  background-color: var(--md-grey-400);
}

/* add padding to Ctrl-F pop-up */
.jp-DocumentSearch-overlay-row {
  margin-bottom: 3px;
  margin-top: 3px;
}

/* Make search button more center aligned to their parent */
.jp-DocumentSearch-button-content {
  text-align: center;
  vertical-align: sub;
}

.lm-TabBar-tabCloseIcon {
  margin-left: 3px;
  cursor: pointer;
}

/* Fix the ugly tab close button hover fill */
/* set fill of tab close button the same */
.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

/* and set the background of tab close button to light grey */
.jp-icon-hover :hover .jp-icon3-hover[fill] {
  fill: none;
}