diff --git a/public/css/mod.css b/public/css/mod.css
index c72d123..aa936bc 100644
--- a/public/css/mod.css
+++ b/public/css/mod.css
@@ -62,4 +62,3689 @@ div.text_cell_render {
.rendered_html p {
text-align:left;
+}
+
+/**
+ * Primary styles
+ *
+ * Author: Jupyter Development Team
+ */
+body {
+ background-color:#fff;
+ /* This makes sure that the body covers the entire window and needs to
+ be in a different element than the display: box in wrapper below */
+ position:absolute;
+ left:0px;
+ right:0px;
+ top:0px;
+ bottom:0px;
+ overflow:visible;
+}
+
+body > #header {
+ /* Initially hidden to prevent FLOUC */
+ display:none;
+ background-color:#fff;
+ /* Display over codemirror */
+ position:relative;
+ z-index:100;
+}
+
+body > #header #header-container {
+ padding-bottom:5px;
+ padding-top:5px;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+}
+
+body > #header .header-bar {
+ width:100%;
+ height:1px;
+ background:#e7e7e7;
+ margin-bottom:-1px;
+}
+
+@media print {
+ body > #header {
+ display:none !important;
+ }
+}
+
+#header-spacer {
+ width:100%;
+ visibility:hidden;
+}
+
+@media print {
+ #header-spacer {
+ display:none;
+ }
+}
+
+#ipython_notebook {
+ padding-left:0px;
+ padding-top:1px;
+ padding-bottom:1px;
+}
+
+@media (max-width:991px) {
+ #ipython_notebook {
+ margin-left:10px;
+ }
+}
+
+#noscript {
+ width:auto;
+ padding-top:16px;
+ padding-bottom:16px;
+ text-align:center;
+ font-size:22px;
+ color:red;
+ font-weight:bold;
+}
+
+#ipython_notebook img {
+ height:28px;
+}
+
+#site {
+ width:100%;
+ display:none;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+ overflow:auto;
+}
+
+@media print {
+ #site {
+ height:auto !important;
+ }
+}
+
+/* Smaller buttons */
+.ui-button .ui-button-text {
+ padding:0.2em 0.8em;
+ font-size:77%;
+}
+
+input.ui-button {
+ padding:0.3em 0.9em;
+}
+
+span#login_widget {
+ float:right;
+}
+
+span#login_widget > .button,
+#logout {
+ color:#333;
+ background-color:#fff;
+ border-color:#ccc;
+}
+
+span#login_widget > .button:focus,
+#logout:focus,
+span#login_widget > .button.focus,
+#logout.focus {
+ color:#333;
+ background-color:#e6e6e6;
+ border-color:#8c8c8c;
+}
+
+span#login_widget > .button:hover,
+#logout:hover {
+ color:#333;
+ background-color:#e6e6e6;
+ border-color:#adadad;
+}
+
+span#login_widget > .button:active,
+#logout:active,
+span#login_widget > .button.active,
+#logout.active,
+.open > .dropdown-togglespan#login_widget > .button,
+.open > .dropdown-toggle#logout {
+ color:#333;
+ background-color:#e6e6e6;
+ border-color:#adadad;
+}
+
+span#login_widget > .button:active:hover,
+#logout:active:hover,
+span#login_widget > .button.active:hover,
+#logout.active:hover,
+.open > .dropdown-togglespan#login_widget > .button:hover,
+.open > .dropdown-toggle#logout:hover,
+span#login_widget > .button:active:focus,
+#logout:active:focus,
+span#login_widget > .button.active:focus,
+#logout.active:focus,
+.open > .dropdown-togglespan#login_widget > .button:focus,
+.open > .dropdown-toggle#logout:focus,
+span#login_widget > .button:active.focus,
+#logout:active.focus,
+span#login_widget > .button.active.focus,
+#logout.active.focus,
+.open > .dropdown-togglespan#login_widget > .button.focus,
+.open > .dropdown-toggle#logout.focus {
+ color:#333;
+ background-color:#d4d4d4;
+ border-color:#8c8c8c;
+}
+
+span#login_widget > .button:active,
+#logout:active,
+span#login_widget > .button.active,
+#logout.active,
+.open > .dropdown-togglespan#login_widget > .button,
+.open > .dropdown-toggle#logout {
+ background-image:none;
+}
+
+span#login_widget > .button.disabled:hover,
+#logout.disabled:hover,
+span#login_widget > .button[disabled]:hover,
+#logout[disabled]:hover,
+fieldset[disabled] span#login_widget > .button:hover,
+fieldset[disabled] #logout:hover,
+span#login_widget > .button.disabled:focus,
+#logout.disabled:focus,
+span#login_widget > .button[disabled]:focus,
+#logout[disabled]:focus,
+fieldset[disabled] span#login_widget > .button:focus,
+fieldset[disabled] #logout:focus,
+span#login_widget > .button.disabled.focus,
+#logout.disabled.focus,
+span#login_widget > .button[disabled].focus,
+#logout[disabled].focus,
+fieldset[disabled] span#login_widget > .button.focus,
+fieldset[disabled] #logout.focus {
+ background-color:#fff;
+ border-color:#ccc;
+}
+
+span#login_widget > .button .badge,
+#logout .badge {
+ color:#fff;
+ background-color:#333;
+}
+
+.nav-header {
+ text-transform:none;
+}
+
+#header > span {
+ margin-top:10px;
+}
+
+.modal_stretch .modal-dialog {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+ min-height:80vh;
+}
+
+.modal_stretch .modal-dialog .modal-body {
+ max-height:calc(100vh - 200px);
+ overflow:auto;
+ flex:1;
+}
+
+@media (min-width:768px) {
+ .modal .modal-dialog {
+ width:700px;
+ }
+}
+
+@media (min-width:768px) {
+ select.form-control {
+ margin-left:12px;
+ margin-right:12px;
+ }
+}
+
+/*!
+*
+* IPython auth
+*
+*/
+.center-nav {
+ display:inline-block;
+ margin-bottom:-4px;
+}
+
+/*!
+*
+* IPython tree view
+*
+*/
+/* We need an invisible input field on top of the sentense*/
+/* "Drag file onto the list ..." */
+.alternate_upload {
+ background-color:none;
+ display:inline;
+}
+
+.alternate_upload.form {
+ padding:0;
+ margin:0;
+}
+
+.alternate_upload input.fileinput {
+ text-align:center;
+ vertical-align:middle;
+ display:inline;
+ opacity:0;
+ z-index:2;
+ width:12ex;
+ margin-right:-12ex;
+}
+
+.alternate_upload .btn-upload {
+ height:22px;
+}
+
+/**
+ * Primary styles
+ *
+ * Author: Jupyter Development Team
+ */
+ul#tabs {
+ margin-bottom:4px;
+}
+
+ul#tabs a {
+ padding-top:6px;
+ padding-bottom:4px;
+}
+
+ul.breadcrumb a:focus,
+ul.breadcrumb a:hover {
+ text-decoration:none;
+}
+
+ul.breadcrumb i.icon-home {
+ font-size:16px;
+ margin-right:4px;
+}
+
+ul.breadcrumb span {
+ color:#5e5e5e;
+}
+
+.list_toolbar {
+ padding:4px 0 4px 0;
+ vertical-align:middle;
+}
+
+.list_toolbar .tree-buttons {
+ padding-top:1px;
+}
+
+.dynamic-buttons {
+ padding-top:3px;
+ display:inline-block;
+}
+
+.list_toolbar [class*="span"] {
+ min-height:24px;
+}
+
+.list_header {
+ font-weight:bold;
+ background-color:#eee;
+}
+
+.list_placeholder {
+ font-weight:bold;
+ padding-top:4px;
+ padding-bottom:4px;
+ padding-left:7px;
+ padding-right:7px;
+}
+
+.list_container {
+ margin-top:4px;
+ margin-bottom:20px;
+ border:1px solid #ddd;
+ border-radius:2px;
+}
+
+.list_container > div {
+ border-bottom:1px solid #ddd;
+}
+
+.list_container > div:hover .list-item {
+ background-color:red;
+}
+
+.list_container > div:last-child {
+ border:none;
+}
+
+.list_item:hover .list_item {
+ background-color:#ddd;
+}
+
+.list_item a {
+ text-decoration:none;
+}
+
+.list_item:hover {
+ background-color:#fafafa;
+}
+
+.list_header > div,
+.list_item > div {
+ padding-top:4px;
+ padding-bottom:4px;
+ padding-left:7px;
+ padding-right:7px;
+ line-height:22px;
+}
+
+.list_header > div input,
+.list_item > div input {
+ margin-right:7px;
+ margin-left:14px;
+ vertical-align:baseline;
+ line-height:22px;
+ position:relative;
+ top:-1px;
+}
+
+.list_header > div .item_link,
+.list_item > div .item_link {
+ margin-left:-1px;
+ vertical-align:baseline;
+ line-height:22px;
+}
+
+.new-file input[type=checkbox] {
+ visibility:hidden;
+}
+
+.item_name {
+ line-height:22px;
+ height:24px;
+}
+
+.item_icon {
+ font-size:14px;
+ color:#5e5e5e;
+ margin-right:7px;
+ margin-left:7px;
+ line-height:22px;
+ vertical-align:baseline;
+}
+
+.item_buttons {
+ line-height:1em;
+ margin-left:-5px;
+}
+
+.item_buttons .btn,
+.item_buttons .btn-group,
+.item_buttons .input-group {
+ float:left;
+}
+
+.item_buttons > .btn,
+.item_buttons > .btn-group,
+.item_buttons > .input-group {
+ margin-left:5px;
+}
+
+.item_buttons .btn {
+ min-width:13ex;
+}
+
+.item_buttons .running-indicator {
+ padding-top:4px;
+ color:#5cb85c;
+}
+
+.item_buttons .kernel-name {
+ padding-top:4px;
+ color:#5bc0de;
+ margin-right:7px;
+ float:left;
+}
+
+.toolbar_info {
+ height:24px;
+ line-height:24px;
+}
+
+.list_item input:not([type=checkbox]) {
+ padding-top:3px;
+ padding-bottom:3px;
+ height:22px;
+ line-height:14px;
+ margin:0px;
+}
+
+.highlight_text {
+ color:blue;
+}
+
+#project_name {
+ display:inline-block;
+ padding-left:7px;
+ margin-left:-2px;
+}
+
+#project_name > .breadcrumb {
+ padding:0px;
+ margin-bottom:0px;
+ background-color:transparent;
+ font-weight:bold;
+}
+
+#tree-selector {
+ padding-right:0px;
+}
+
+#button-select-all {
+ min-width:50px;
+}
+
+#select-all {
+ margin-left:7px;
+ margin-right:2px;
+}
+
+.menu_icon {
+ margin-right:2px;
+}
+
+.tab-content .row {
+ margin-left:0px;
+ margin-right:0px;
+}
+
+.folder_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f114";
+}
+
+.folder_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.folder_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.notebook_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f02d";
+ position:relative;
+ top:-1px;
+}
+
+.notebook_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.notebook_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.running_notebook_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f02d";
+ position:relative;
+ top:-1px;
+ color:#5cb85c;
+}
+
+.running_notebook_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.running_notebook_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.file_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f016";
+ position:relative;
+ top:-2px;
+}
+
+.file_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.file_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+#notebook_toolbar .pull-right {
+ padding-top:0px;
+ margin-right:-1px;
+}
+
+ul#new-menu {
+ left:auto;
+ right:0;
+}
+
+.kernel-menu-icon {
+ padding-right:12px;
+ width:24px;
+ content:"\f096";
+}
+
+.kernel-menu-icon:before {
+ content:"\f096";
+}
+
+.kernel-menu-icon-current:before {
+ content:"\f00c";
+}
+
+#tab_content {
+ padding-top:20px;
+}
+
+#running .panel-group .panel {
+ margin-top:3px;
+ margin-bottom:1em;
+}
+
+#running .panel-group .panel .panel-heading {
+ background-color:#eee;
+ padding-top:4px;
+ padding-bottom:4px;
+ padding-left:7px;
+ padding-right:7px;
+ line-height:22px;
+}
+
+#running .panel-group .panel .panel-heading a:focus,
+#running .panel-group .panel .panel-heading a:hover {
+ text-decoration:none;
+}
+
+#running .panel-group .panel .panel-body {
+ padding:0px;
+}
+
+#running .panel-group .panel .panel-body .list_container {
+ margin-top:0px;
+ margin-bottom:0px;
+ border:0px;
+ border-radius:0px;
+}
+
+#running .panel-group .panel .panel-body .list_container .list_item {
+ border-bottom:1px solid #ddd;
+}
+
+#running .panel-group .panel .panel-body .list_container .list_item:last-child {
+ border-bottom:0px;
+}
+
+.delete-button {
+ display:none;
+}
+
+.duplicate-button {
+ display:none;
+}
+
+.rename-button {
+ display:none;
+}
+
+.shutdown-button {
+ display:none;
+}
+
+.dynamic-instructions {
+ display:inline-block;
+ padding-top:4px;
+}
+
+/*!
+*
+* IPython text editor webapp
+*
+*/
+.selected-keymap i.fa {
+ padding:0px 5px;
+}
+
+.selected-keymap i.fa:before {
+ content:"\f00c";
+}
+
+#mode-menu {
+ overflow:auto;
+ max-height:20em;
+}
+
+.edit_app #header {
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+}
+
+.edit_app #menubar .navbar {
+ /* Use a negative 1 bottom margin, so the border overlaps the border of the
+ header */
+ margin-bottom:-1px;
+}
+
+.dirty-indicator {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ width:20px;
+}
+
+.dirty-indicator.pull-left {
+ margin-right:.3em;
+}
+
+.dirty-indicator.pull-right {
+ margin-left:.3em;
+}
+
+.dirty-indicator-dirty {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ width:20px;
+}
+
+.dirty-indicator-dirty.pull-left {
+ margin-right:.3em;
+}
+
+.dirty-indicator-dirty.pull-right {
+ margin-left:.3em;
+}
+
+.dirty-indicator-clean {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ width:20px;
+}
+
+.dirty-indicator-clean.pull-left {
+ margin-right:.3em;
+}
+
+.dirty-indicator-clean.pull-right {
+ margin-left:.3em;
+}
+
+.dirty-indicator-clean:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f00c";
+}
+
+.dirty-indicator-clean:before.pull-left {
+ margin-right:.3em;
+}
+
+.dirty-indicator-clean:before.pull-right {
+ margin-left:.3em;
+}
+
+#filename {
+ font-size:16pt;
+ display:table;
+ padding:0px 5px;
+}
+
+#current-mode {
+ padding-left:5px;
+ padding-right:5px;
+}
+
+#texteditor-backdrop {
+ padding-top:20px;
+ padding-bottom:20px;
+}
+
+@media not print {
+ #texteditor-backdrop {
+ background-color:#eee;
+ }
+}
+
+@media print {
+ #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
+ #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
+ background-color:#fff;
+ }
+}
+
+@media not print {
+ #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
+ #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
+ background-color:#fff;
+ }
+}
+
+@media not print {
+ #texteditor-backdrop #texteditor-container {
+ padding:0px;
+ background-color:#fff;
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ }
+}
+
+/*!
+*
+* IPython notebook
+*
+*/
+/* CSS font colors for translated ANSI colors. */
+.ansibold {
+ font-weight:bold;
+}
+
+/* use dark versions for foreground, to improve visibility */
+.ansiblack {
+ color:black;
+}
+
+.ansired {
+ color:darkred;
+}
+
+.ansigreen {
+ color:darkgreen;
+}
+
+.ansiyellow {
+ color:#c4a000;
+}
+
+.ansiblue {
+ color:darkblue;
+}
+
+.ansipurple {
+ color:darkviolet;
+}
+
+.ansicyan {
+ color:steelblue;
+}
+
+.ansigray {
+ color:gray;
+}
+
+/* and light for background, for the same reason */
+.ansibgblack {
+ background-color:black;
+}
+
+.ansibgred {
+ background-color:red;
+}
+
+.ansibggreen {
+ background-color:green;
+}
+
+.ansibgyellow {
+ background-color:yellow;
+}
+
+.ansibgblue {
+ background-color:blue;
+}
+
+.ansibgpurple {
+ background-color:magenta;
+}
+
+.ansibgcyan {
+ background-color:cyan;
+}
+
+.ansibggray {
+ background-color:gray;
+}
+
+div.cell {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+ border-radius:2px;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+ border-width:1px;
+ border-style:solid;
+ border-color:transparent;
+ width:100%;
+ padding:5px;
+ /* This acts as a spacer between cells, that is outside the border */
+ margin:0px;
+ outline:none;
+ border-left-width:1px;
+ padding-left:5px;
+ background:linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
+}
+
+div.cell.jupyter-soft-selected {
+ border-left-color:#90caf9;
+ border-left-color:#e3f2fd;
+ border-left-width:1px;
+ padding-left:5px;
+ border-right-color:#e3f2fd;
+ border-right-width:1px;
+ background:#e3f2fd;
+}
+
+@media print {
+ div.cell.jupyter-soft-selected {
+ border-color:transparent;
+ }
+}
+
+div.cell.selected {
+ border-color:#ababab;
+ border-left-width:0px;
+ padding-left:6px;
+ background:linear-gradient(to right, #42a5f5 -40px, #42a5f5 5px, transparent 5px, transparent 100%);
+}
+
+@media print {
+ div.cell.selected {
+ border-color:transparent;
+ }
+}
+
+div.cell.selected.jupyter-soft-selected {
+ border-left-width:0;
+ padding-left:6px;
+ background:linear-gradient(to right, #42a5f5 -40px, #42a5f5 7px, #e3f2fd 7px, #e3f2fd 100%);
+}
+
+.edit_mode div.cell.selected {
+ border-color:#66bb6a;
+ border-left-width:0px;
+ padding-left:6px;
+ background:linear-gradient(to right, #66bb6a -40px, #66bb6a 5px, transparent 5px, transparent 100%);
+}
+
+@media print {
+ .edit_mode div.cell.selected {
+ border-color:transparent;
+ }
+}
+
+.prompt {
+ /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
+ min-width:14ex;
+ /* This padding is tuned to match the padding on the CodeMirror editor. */
+ padding:0.4em;
+ margin:0px;
+ font-family:monospace;
+ text-align:right;
+ /* This has to match that of the the CodeMirror class line-height below */
+ line-height:1.21429em;
+ /* Don't highlight prompt number selection */
+ -webkit-touch-callout:none;
+ -webkit-user-select:none;
+ -khtml-user-select:none;
+ -moz-user-select:none;
+ -ms-user-select:none;
+ user-select:none;
+ /* Use default cursor */
+ cursor:default;
+}
+
+@media (max-width:540px) {
+ .prompt {
+ text-align:left;
+ }
+}
+
+div.inner_cell {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+ /* Old browsers */
+ -webkit-box-flex:1;
+ -moz-box-flex:1;
+ box-flex:1;
+ /* Modern browsers */
+ flex:1;
+}
+
+@-moz-document url-prefix() {
+ div.inner_cell {
+ overflow-x:hidden;
+ }
+}
+
+/* input_area and input_prompt must match in top border and margin for alignment */
+div.input_area {
+ border:1px solid #cfcfcf;
+ border-radius:2px;
+ background:#f7f7f7;
+ line-height:1.21429em;
+}
+
+/* This is needed so that empty prompt areas can collapse to zero height when there
+ is no content in the output_subarea and the prompt. The main purpose of this is
+ to make sure that empty JavaScript output_subareas have no height. */
+div.prompt:empty {
+ padding-top:0;
+ padding-bottom:0;
+}
+
+div.unrecognized_cell {
+ padding:5px 5px 5px 0px;
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:horizontal;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:horizontal;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:horizontal;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:row;
+ align-items:stretch;
+}
+
+div.unrecognized_cell .inner_cell {
+ border-radius:2px;
+ padding:5px;
+ font-weight:bold;
+ color:red;
+ border:1px solid #cfcfcf;
+ background:#eaeaea;
+}
+
+div.unrecognized_cell .inner_cell a {
+ color:inherit;
+ text-decoration:none;
+}
+
+div.unrecognized_cell .inner_cell a:hover {
+ color:inherit;
+ text-decoration:none;
+}
+
+@media (max-width:540px) {
+ div.unrecognized_cell > div.prompt {
+ display:none;
+ }
+}
+
+div.code_cell {
+ /* avoid page breaking on code cells when printing */
+}
+
+@media print {
+ div.code_cell {
+ page-break-inside:avoid;
+ }
+}
+
+/* any special styling for code cells that are currently running goes here */
+div.input {
+ page-break-inside:avoid;
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:horizontal;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:horizontal;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:horizontal;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:row;
+ align-items:stretch;
+}
+
+@media (max-width:540px) {
+ div.input {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+ }
+}
+
+/* input_area and input_prompt must match in top border and margin for alignment */
+div.input_prompt {
+ color:#303f9f;
+ border-top:1px solid transparent;
+}
+
+div.input_area > div.highlight {
+ margin:0.4em;
+ border:none;
+ padding:0px;
+ background-color:transparent;
+}
+
+div.input_area > div.highlight > pre {
+ margin:0px;
+ border:none;
+ padding:0px;
+ background-color:transparent;
+}
+
+/* The following gets added to the
if it is detected that the user has a
+ * monospace font with inconsistent normal/bold/italic height. See
+ * notebookmain.js. Such fonts will have keywords vertically offset with
+ * respect to the rest of the text. The user should select a better font.
+ * See: https://github.com/ipython/ipython/issues/1503
+ *
+ * .CodeMirror span {
+ * vertical-align: bottom;
+ * }
+ */
+.CodeMirror {
+ line-height:1.21429em;
+ /* Changed from 1em to our global default */
+ font-size:14px;
+ height:auto;
+ /* Changed to auto to autogrow */
+ background:none;
+ /* Changed from white to allow our bg to show through */
+}
+
+.CodeMirror-scroll {
+ /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
+ /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
+ overflow-y:hidden;
+ overflow-x:auto;
+}
+
+.CodeMirror-lines {
+ /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
+ /* we have set a different line-height and want this to scale with that. */
+ padding:0.4em;
+}
+
+.CodeMirror-linenumber {
+ padding:0 8px 0 4px;
+}
+
+.CodeMirror-gutters {
+ border-bottom-left-radius:2px;
+ border-top-left-radius:2px;
+}
+
+.CodeMirror pre {
+ /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
+ /* .CodeMirror-lines */
+ padding:0;
+ border:0;
+ border-radius:0;
+}
+
+/*
+
+Original style from softwaremaniacs.org (c) Ivan Sagalaev
+Adapted from GitHub theme
+
+*/
+.highlight-base {
+ color:#000;
+}
+
+.highlight-variable {
+ color:#000;
+}
+
+.highlight-variable-2 {
+ color:#1a1a1a;
+}
+
+.highlight-variable-3 {
+ color:#333;
+}
+
+.highlight-string {
+ color:#ba2121;
+}
+
+.highlight-comment {
+ color:#408080;
+ font-style:italic;
+}
+
+.highlight-number {
+ color:#080;
+}
+
+.highlight-atom {
+ color:#88f;
+}
+
+.highlight-keyword {
+ color:#008000;
+ font-weight:bold;
+}
+
+.highlight-builtin {
+ color:#008000;
+}
+
+.highlight-error {
+ color:#f00;
+}
+
+.highlight-operator {
+ color:#a2f;
+ font-weight:bold;
+}
+
+.highlight-meta {
+ color:#a2f;
+}
+
+/* previously not defined, copying from default codemirror */
+.highlight-def {
+ color:#00f;
+}
+
+.highlight-string-2 {
+ color:#f50;
+}
+
+.highlight-qualifier {
+ color:#555;
+}
+
+.highlight-bracket {
+ color:#997;
+}
+
+.highlight-tag {
+ color:#170;
+}
+
+.highlight-attribute {
+ color:#00c;
+}
+
+.highlight-header {
+ color:blue;
+}
+
+.highlight-quote {
+ color:#090;
+}
+
+.highlight-link {
+ color:#00c;
+}
+
+/* apply the same style to codemirror */
+.cm-s-ipython span.cm-keyword {
+ color:#008000;
+ font-weight:bold;
+}
+
+.cm-s-ipython span.cm-atom {
+ color:#88f;
+}
+
+.cm-s-ipython span.cm-number {
+ color:#080;
+}
+
+.cm-s-ipython span.cm-def {
+ color:#00f;
+}
+
+.cm-s-ipython span.cm-variable {
+ color:#000;
+}
+
+.cm-s-ipython span.cm-operator {
+ color:#a2f;
+ font-weight:bold;
+}
+
+.cm-s-ipython span.cm-variable-2 {
+ color:#1a1a1a;
+}
+
+.cm-s-ipython span.cm-variable-3 {
+ color:#333;
+}
+
+.cm-s-ipython span.cm-comment {
+ color:#408080;
+ font-style:italic;
+}
+
+.cm-s-ipython span.cm-string {
+ color:#ba2121;
+}
+
+.cm-s-ipython span.cm-string-2 {
+ color:#f50;
+}
+
+.cm-s-ipython span.cm-meta {
+ color:#a2f;
+}
+
+.cm-s-ipython span.cm-qualifier {
+ color:#555;
+}
+
+.cm-s-ipython span.cm-builtin {
+ color:#008000;
+}
+
+.cm-s-ipython span.cm-bracket {
+ color:#997;
+}
+
+.cm-s-ipython span.cm-tag {
+ color:#170;
+}
+
+.cm-s-ipython span.cm-attribute {
+ color:#00c;
+}
+
+.cm-s-ipython span.cm-header {
+ color:blue;
+}
+
+.cm-s-ipython span.cm-quote {
+ color:#090;
+}
+
+.cm-s-ipython span.cm-link {
+ color:#00c;
+}
+
+.cm-s-ipython span.cm-error {
+ color:#f00;
+}
+
+.cm-s-ipython span.cm-tab {
+ background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
+ background-position:right;
+ background-repeat:no-repeat;
+}
+
+div.output_wrapper {
+ /* this position must be relative to enable descendents to be absolute within it */
+ position:relative;
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+ z-index:1;
+}
+
+/* class for the output area when it should be height-limited */
+div.output_scroll {
+ /* ideally, this would be max-height, but FF barfs all over that */
+ height:24em;
+ /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
+ width:100%;
+ overflow:auto;
+ border-radius:2px;
+ -webkit-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);
+ box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);
+ display:block;
+}
+
+/* output div while it is collapsed */
+div.output_collapsed {
+ margin:0px;
+ padding:0px;
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+}
+
+div.out_prompt_overlay {
+ height:100%;
+ padding:0px 0.4em;
+ position:absolute;
+ border-radius:2px;
+}
+
+div.out_prompt_overlay:hover {
+ /* use inner shadow to get border that is computed the same on WebKit/FF */
+ -webkit-box-shadow:inset 0 0 1px #000;
+ box-shadow:inset 0 0 1px #000;
+ background:rgba(240, 240, 240, 0.5);
+}
+
+div.output_prompt {
+ color:#d84315;
+}
+
+/* This class is the outer container of all output sections. */
+div.output_area {
+ padding:0px;
+ page-break-inside:avoid;
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:horizontal;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:horizontal;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:horizontal;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:row;
+ align-items:stretch;
+}
+
+div.output_area .MathJax_Display {
+ text-align:left !important;
+}
+
+div.output_area .rendered_html table {
+ margin-left:0;
+ margin-right:0;
+}
+
+div.output_area .rendered_html img {
+ margin-left:0;
+ margin-right:0;
+}
+
+div.output_area img,
+div.output_area svg {
+ max-width:100%;
+ height:auto;
+}
+
+div.output_area img.unconfined,
+div.output_area svg.unconfined {
+ max-width:none;
+}
+
+/* This is needed to protect the pre formating from global settings such
+ as that of bootstrap */
+.output {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+}
+
+@media (max-width:540px) {
+ div.output_area {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:vertical;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:vertical;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:vertical;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:column;
+ align-items:stretch;
+ }
+}
+
+div.output_area pre {
+ margin:0;
+ padding:0;
+ border:0;
+ vertical-align:baseline;
+ color:black;
+ background-color:transparent;
+ border-radius:0;
+}
+
+/* This class is for the output subarea inside the output_area and after
+ the prompt div. */
+div.output_subarea {
+ overflow-x:auto;
+ padding:0.4em;
+ /* Old browsers */
+ -webkit-box-flex:1;
+ -moz-box-flex:1;
+ box-flex:1;
+ /* Modern browsers */
+ flex:1;
+ max-width:calc(100% - 14ex);
+}
+
+div.output_scroll div.output_subarea {
+ overflow-x:visible;
+}
+
+/* The rest of the output_* classes are for special styling of the different
+ output types */
+/* all text output has this class: */
+div.output_text {
+ text-align:left;
+ color:#000;
+ /* This has to match that of the the CodeMirror class line-height below */
+ line-height:1.21429em;
+}
+
+/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
+div.output_stderr {
+ background:#fdd;
+ /* very light red background for stderr */
+}
+
+div.output_latex {
+ text-align:left;
+}
+
+/* Empty output_javascript divs should have no height */
+div.output_javascript:empty {
+ padding:0;
+}
+
+.js-error {
+ color:darkred;
+}
+
+/* raw_input styles */
+div.raw_input_container {
+ line-height:1.21429em;
+ padding-top:5px;
+}
+
+pre.raw_input_prompt {
+ /* nothing needed here. */
+}
+
+input.raw_input {
+ font-family:monospace;
+ font-size:inherit;
+ color:inherit;
+ width:auto;
+ /* make sure input baseline aligns with prompt */
+ vertical-align:baseline;
+ /* padding + margin = 0.5em between prompt and cursor */
+ padding:0em 0.25em;
+ margin:0em 0.25em;
+}
+
+input.raw_input:focus {
+ box-shadow:none;
+}
+
+p.p-space {
+ margin-bottom:10px;
+}
+
+div.output_unrecognized {
+ padding:5px;
+ font-weight:bold;
+ color:red;
+}
+
+div.output_unrecognized a {
+ color:inherit;
+ text-decoration:none;
+}
+
+div.output_unrecognized a:hover {
+ color:inherit;
+ text-decoration:none;
+}
+
+.rendered_html {
+ color:#000;
+ /* any extras will just be numbers: */
+}
+
+.rendered_html em {
+ font-style:italic;
+}
+
+.rendered_html strong {
+ font-weight:bold;
+}
+
+.rendered_html u {
+ text-decoration:underline;
+}
+
+.rendered_html :link {
+ text-decoration:underline;
+}
+
+.rendered_html :visited {
+ text-decoration:underline;
+}
+
+.rendered_html h1 {
+ font-size:185.7%;
+ margin:1.08em 0 0 0;
+ font-weight:bold;
+ line-height:1.0;
+}
+
+.rendered_html h2 {
+ font-size:157.1%;
+ margin:1.27em 0 0 0;
+ font-weight:bold;
+ line-height:1.0;
+}
+
+.rendered_html h3 {
+ font-size:128.6%;
+ margin:1.55em 0 0 0;
+ font-weight:bold;
+ line-height:1.0;
+}
+
+.rendered_html h4 {
+ font-size:100%;
+ margin:2em 0 0 0;
+ font-weight:bold;
+ line-height:1.0;
+}
+
+.rendered_html h5 {
+ font-size:100%;
+ margin:2em 0 0 0;
+ font-weight:bold;
+ line-height:1.0;
+ font-style:italic;
+}
+
+.rendered_html h6 {
+ font-size:100%;
+ margin:2em 0 0 0;
+ font-weight:bold;
+ line-height:1.0;
+ font-style:italic;
+}
+
+.rendered_html h1:first-child {
+ margin-top:0.538em;
+}
+
+.rendered_html h2:first-child {
+ margin-top:0.636em;
+}
+
+.rendered_html h3:first-child {
+ margin-top:0.777em;
+}
+
+.rendered_html h4:first-child {
+ margin-top:1em;
+}
+
+.rendered_html h5:first-child {
+ margin-top:1em;
+}
+
+.rendered_html h6:first-child {
+ margin-top:1em;
+}
+
+.rendered_html ul {
+ list-style:disc;
+ margin:0em 2em;
+ padding-left:0px;
+}
+
+.rendered_html ul ul {
+ list-style:square;
+ margin:0em 2em;
+}
+
+.rendered_html ul ul ul {
+ list-style:circle;
+ margin:0em 2em;
+}
+
+.rendered_html ol {
+ list-style:decimal;
+ margin:0em 2em;
+ padding-left:0px;
+}
+
+.rendered_html ol ol {
+ list-style:upper-alpha;
+ margin:0em 2em;
+}
+
+.rendered_html ol ol ol {
+ list-style:lower-alpha;
+ margin:0em 2em;
+}
+
+.rendered_html ol ol ol ol {
+ list-style:lower-roman;
+ margin:0em 2em;
+}
+
+.rendered_html ol ol ol ol ol {
+ list-style:decimal;
+ margin:0em 2em;
+}
+
+.rendered_html * + ul {
+ margin-top:1em;
+}
+
+.rendered_html * + ol {
+ margin-top:1em;
+}
+
+.rendered_html hr {
+ color:black;
+ background-color:black;
+}
+
+.rendered_html pre {
+ margin:1em 2em;
+}
+
+.rendered_html pre,
+.rendered_html code {
+ border:0;
+ background-color:#fff;
+ color:#000;
+ font-size:100%;
+ padding:0px;
+}
+
+.rendered_html blockquote {
+ margin:1em 2em;
+}
+
+.rendered_html table {
+ margin-left:auto;
+ margin-right:auto;
+ border:1px solid black;
+ border-collapse:collapse;
+}
+
+.rendered_html tr,
+.rendered_html th,
+.rendered_html td {
+ border:1px solid black;
+ border-collapse:collapse;
+ margin:1em 2em;
+}
+
+.rendered_html td,
+.rendered_html th {
+ text-align:left;
+ vertical-align:middle;
+ padding:4px;
+}
+
+.rendered_html th {
+ font-weight:bold;
+}
+
+.rendered_html * + table {
+ margin-top:1em;
+}
+
+.rendered_html p {
+ text-align:left;
+}
+
+.rendered_html * + p {
+ margin-top:1em;
+}
+
+.rendered_html img {
+ display:block;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+.rendered_html * + img {
+ margin-top:1em;
+}
+
+.rendered_html img,
+.rendered_html svg {
+ max-width:100%;
+ height:auto;
+}
+
+.rendered_html img.unconfined,
+.rendered_html svg.unconfined {
+ max-width:none;
+}
+
+div.text_cell {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:horizontal;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:horizontal;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:horizontal;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:row;
+ align-items:stretch;
+}
+
+@media (max-width:540px) {
+ div.text_cell > div.prompt {
+ display:none;
+ }
+}
+
+div.text_cell_render {
+ /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
+ outline:none;
+ resize:none;
+ width:inherit;
+ border-style:none;
+ padding:0.5em 0.5em 0.5em 0.4em;
+ color:#000;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+}
+
+a.anchor-link:link {
+ text-decoration:none;
+ padding:0px 20px;
+ visibility:hidden;
+}
+
+h1:hover .anchor-link,
+h2:hover .anchor-link,
+h3:hover .anchor-link,
+h4:hover .anchor-link,
+h5:hover .anchor-link,
+h6:hover .anchor-link {
+ visibility:visible;
+}
+
+.text_cell.rendered .input_area {
+ display:none;
+}
+
+.text_cell.rendered .rendered_html {
+ overflow-x:auto;
+ overflow-y:hidden;
+}
+
+.text_cell.unrendered .text_cell_render {
+ display:none;
+}
+
+.cm-header-1,
+.cm-header-2,
+.cm-header-3,
+.cm-header-4,
+.cm-header-5,
+.cm-header-6 {
+ font-weight:bold;
+ font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+.cm-header-1 {
+ font-size:185.7%;
+}
+
+.cm-header-2 {
+ font-size:157.1%;
+}
+
+.cm-header-3 {
+ font-size:128.6%;
+}
+
+.cm-header-4 {
+ font-size:110%;
+}
+
+.cm-header-5 {
+ font-size:100%;
+ font-style:italic;
+}
+
+.cm-header-6 {
+ font-size:100%;
+ font-style:italic;
+}
+
+/*!
+*
+* IPython notebook webapp
+*
+*/
+@media (max-width:767px) {
+ .notebook_app {
+ padding-left:0px;
+ padding-right:0px;
+ }
+}
+
+#ipython-main-app {
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+ height:100%;
+}
+
+div#notebook_panel {
+ margin:0px;
+ padding:0px;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+ height:100%;
+}
+
+div#notebook {
+ font-size:14px;
+ line-height:20px;
+ overflow-y:hidden;
+ overflow-x:auto;
+ width:100%;
+ /* This spaces the page away from the edge of the notebook area */
+ padding-top:20px;
+ margin:0px;
+ outline:none;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+ min-height:100%;
+}
+
+@media not print {
+ #notebook-container {
+ padding:15px;
+ background-color:#fff;
+ min-height:0;
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ }
+}
+
+@media print {
+ #notebook-container {
+ width:100%;
+ }
+}
+
+div.ui-widget-content {
+ border:1px solid #ababab;
+ outline:none;
+}
+
+pre.dialog {
+ background-color:#f7f7f7;
+ border:1px solid #ddd;
+ border-radius:2px;
+ padding:0.4em;
+ padding-left:2em;
+}
+
+p.dialog {
+ padding:0.2em;
+}
+
+/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
+ to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
+ */
+pre,
+code,
+kbd,
+samp {
+ white-space:pre-wrap;
+}
+
+#fonttest {
+ font-family:monospace;
+}
+
+p {
+ margin-bottom:0;
+}
+
+.end_space {
+ min-height:100px;
+ transition:height .2s ease;
+}
+
+.notebook_app > #header {
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+}
+
+@media not print {
+ .notebook_app {
+ background-color:#eee;
+ }
+}
+
+kbd {
+ border-style:solid;
+ border-width:1px;
+ box-shadow:none;
+ margin:2px;
+ padding-left:2px;
+ padding-right:2px;
+ padding-top:1px;
+ padding-bottom:1px;
+}
+
+/* CSS for the cell toolbar */
+.celltoolbar {
+ border:thin solid #cfcfcf;
+ border-bottom:none;
+ background:#eee;
+ border-radius:2px 2px 0px 0px;
+ width:100%;
+ height:29px;
+ padding-right:4px;
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:horizontal;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:horizontal;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:horizontal;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:row;
+ align-items:stretch;
+ /* Old browsers */
+ -webkit-box-pack:end;
+ -moz-box-pack:end;
+ box-pack:end;
+ /* Modern browsers */
+ justify-content:flex-end;
+ display:-webkit-flex;
+}
+
+@media print {
+ .celltoolbar {
+ display:none;
+ }
+}
+
+.ctb_hideshow {
+ display:none;
+ vertical-align:bottom;
+}
+
+/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
+ Cell toolbars are only shown when the ctb_global_show class is also set.
+*/
+.ctb_global_show .ctb_show.ctb_hideshow {
+ display:block;
+}
+
+.ctb_global_show .ctb_show + .input_area,
+.ctb_global_show .ctb_show + div.text_cell_input,
+.ctb_global_show .ctb_show ~ div.text_cell_render {
+ border-top-right-radius:0px;
+ border-top-left-radius:0px;
+}
+
+.ctb_global_show .ctb_show ~ div.text_cell_render {
+ border:1px solid #cfcfcf;
+}
+
+.celltoolbar {
+ font-size:87%;
+ padding-top:3px;
+}
+
+.celltoolbar select {
+ display:block;
+ width:100%;
+ height:32px;
+ padding:6px 12px;
+ font-size:13px;
+ line-height:1.42857143;
+ color:#555;
+ background-color:#fff;
+ background-image:none;
+ border:1px solid #ccc;
+ border-radius:2px;
+ -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ -o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ height:30px;
+ padding:5px 10px;
+ font-size:12px;
+ line-height:1.5;
+ border-radius:1px;
+ width:inherit;
+ font-size:inherit;
+ height:22px;
+ padding:0px;
+ display:inline-block;
+}
+
+.celltoolbar select:focus {
+ border-color:#66afe9;
+ outline:0;
+ -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
+ box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
+}
+
+.celltoolbar select::-moz-placeholder {
+ color:#999;
+ opacity:1;
+}
+
+.celltoolbar select:-ms-input-placeholder {
+ color:#999;
+}
+
+.celltoolbar select::-webkit-input-placeholder {
+ color:#999;
+}
+
+.celltoolbar select::-ms-expand {
+ border:0;
+ background-color:transparent;
+}
+
+.celltoolbar select[disabled],
+.celltoolbar select[readonly],
+fieldset[disabled] .celltoolbar select {
+ background-color:#eee;
+ opacity:1;
+}
+
+.celltoolbar select[disabled],
+fieldset[disabled] .celltoolbar select {
+ cursor:not-allowed;
+}
+
+textarea.celltoolbar select {
+ height:auto;
+}
+
+select.celltoolbar select {
+ height:30px;
+ line-height:30px;
+}
+
+textarea.celltoolbar select,
+select[multiple].celltoolbar select {
+ height:auto;
+}
+
+.celltoolbar label {
+ margin-left:5px;
+ margin-right:5px;
+}
+
+.completions {
+ position:absolute;
+ z-index:110;
+ overflow:hidden;
+ border:1px solid #ababab;
+ border-radius:2px;
+ -webkit-box-shadow:0px 6px 10px -1px #adadad;
+ box-shadow:0px 6px 10px -1px #adadad;
+ line-height:1;
+}
+
+.completions select {
+ background:white;
+ outline:none;
+ border:none;
+ padding:0px;
+ margin:0px;
+ overflow:auto;
+ font-family:monospace;
+ font-size:110%;
+ color:#000;
+ width:auto;
+}
+
+.completions select option.context {
+ color:#286090;
+}
+
+#kernel_logo_widget {
+ float:right !important;
+ float:right;
+}
+
+#kernel_logo_widget .current_kernel_logo {
+ display:none;
+ margin-top:-1px;
+ margin-bottom:-1px;
+ width:32px;
+ height:32px;
+}
+
+#menubar {
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+ margin-top:1px;
+}
+
+#menubar .navbar {
+ border-top:1px;
+ border-radius:0px 0px 2px 2px;
+ margin-bottom:0px;
+}
+
+#menubar .navbar-toggle {
+ float:left;
+ padding-top:7px;
+ padding-bottom:7px;
+ border:none;
+}
+
+#menubar .navbar-collapse {
+ clear:left;
+}
+
+.nav-wrapper {
+ border-bottom:1px solid #e7e7e7;
+}
+
+i.menu-icon {
+ padding-top:4px;
+}
+
+ul#help_menu li a {
+ overflow:hidden;
+ padding-right:2.2em;
+}
+
+ul#help_menu li a i {
+ margin-right:-1.2em;
+}
+
+.dropdown-submenu {
+ position:relative;
+}
+
+.dropdown-submenu > .dropdown-menu {
+ top:0;
+ left:100%;
+ margin-top:-6px;
+ margin-left:-1px;
+}
+
+.dropdown-submenu:hover > .dropdown-menu {
+ display:block;
+}
+
+.dropdown-submenu > a:after {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ display:block;
+ content:"\f0da";
+ float:right;
+ color:#333;
+ margin-top:2px;
+ margin-right:-10px;
+}
+
+.dropdown-submenu > a:after.pull-left {
+ margin-right:.3em;
+}
+
+.dropdown-submenu > a:after.pull-right {
+ margin-left:.3em;
+}
+
+.dropdown-submenu:hover > a:after {
+ color:#262626;
+}
+
+.dropdown-submenu.pull-left {
+ float:none;
+}
+
+.dropdown-submenu.pull-left > .dropdown-menu {
+ left:-100%;
+ margin-left:10px;
+}
+
+#notification_area {
+ float:right !important;
+ float:right;
+ z-index:10;
+}
+
+.indicator_area {
+ float:right !important;
+ float:right;
+ color:#777;
+ margin-left:5px;
+ margin-right:5px;
+ width:11px;
+ z-index:10;
+ text-align:center;
+ width:auto;
+}
+
+#kernel_indicator {
+ float:right !important;
+ float:right;
+ color:#777;
+ margin-left:5px;
+ margin-right:5px;
+ width:11px;
+ z-index:10;
+ text-align:center;
+ width:auto;
+ border-left:1px solid;
+}
+
+#kernel_indicator .kernel_indicator_name {
+ padding-left:5px;
+ padding-right:5px;
+}
+
+#modal_indicator {
+ float:right !important;
+ float:right;
+ color:#777;
+ margin-left:5px;
+ margin-right:5px;
+ width:11px;
+ z-index:10;
+ text-align:center;
+ width:auto;
+}
+
+#readonly-indicator {
+ float:right !important;
+ float:right;
+ color:#777;
+ margin-left:5px;
+ margin-right:5px;
+ width:11px;
+ z-index:10;
+ text-align:center;
+ width:auto;
+ margin-top:2px;
+ margin-bottom:0px;
+ margin-left:0px;
+ margin-right:0px;
+ display:none;
+}
+
+.modal_indicator:before {
+ width:1.28571429em;
+ text-align:center;
+}
+
+.edit_mode .modal_indicator:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f040";
+}
+
+.edit_mode .modal_indicator:before.pull-left {
+ margin-right:.3em;
+}
+
+.edit_mode .modal_indicator:before.pull-right {
+ margin-left:.3em;
+}
+
+.command_mode .modal_indicator:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:' ';
+}
+
+.command_mode .modal_indicator:before.pull-left {
+ margin-right:.3em;
+}
+
+.command_mode .modal_indicator:before.pull-right {
+ margin-left:.3em;
+}
+
+.kernel_idle_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f10c";
+}
+
+.kernel_idle_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.kernel_idle_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.kernel_busy_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f111";
+}
+
+.kernel_busy_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.kernel_busy_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.kernel_dead_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f1e2";
+}
+
+.kernel_dead_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.kernel_dead_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.kernel_disconnected_icon:before {
+ display:inline-block;
+ font:normal normal normal 14px/1 FontAwesome;
+ font-size:inherit;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+ content:"\f127";
+}
+
+.kernel_disconnected_icon:before.pull-left {
+ margin-right:.3em;
+}
+
+.kernel_disconnected_icon:before.pull-right {
+ margin-left:.3em;
+}
+
+.notification_widget {
+ color:#777;
+ z-index:10;
+ background:rgba(240, 240, 240, 0.5);
+ margin-right:4px;
+ color:#333;
+ background-color:#fff;
+ border-color:#ccc;
+}
+
+.notification_widget:focus,
+.notification_widget.focus {
+ color:#333;
+ background-color:#e6e6e6;
+ border-color:#8c8c8c;
+}
+
+.notification_widget:hover {
+ color:#333;
+ background-color:#e6e6e6;
+ border-color:#adadad;
+}
+
+.notification_widget:active,
+.notification_widget.active,
+.open > .dropdown-toggle.notification_widget {
+ color:#333;
+ background-color:#e6e6e6;
+ border-color:#adadad;
+}
+
+.notification_widget:active:hover,
+.notification_widget.active:hover,
+.open > .dropdown-toggle.notification_widget:hover,
+.notification_widget:active:focus,
+.notification_widget.active:focus,
+.open > .dropdown-toggle.notification_widget:focus,
+.notification_widget:active.focus,
+.notification_widget.active.focus,
+.open > .dropdown-toggle.notification_widget.focus {
+ color:#333;
+ background-color:#d4d4d4;
+ border-color:#8c8c8c;
+}
+
+.notification_widget:active,
+.notification_widget.active,
+.open > .dropdown-toggle.notification_widget {
+ background-image:none;
+}
+
+.notification_widget.disabled:hover,
+.notification_widget[disabled]:hover,
+fieldset[disabled] .notification_widget:hover,
+.notification_widget.disabled:focus,
+.notification_widget[disabled]:focus,
+fieldset[disabled] .notification_widget:focus,
+.notification_widget.disabled.focus,
+.notification_widget[disabled].focus,
+fieldset[disabled] .notification_widget.focus {
+ background-color:#fff;
+ border-color:#ccc;
+}
+
+.notification_widget .badge {
+ color:#fff;
+ background-color:#333;
+}
+
+.notification_widget.warning {
+ color:#fff;
+ background-color:#f0ad4e;
+ border-color:#eea236;
+}
+
+.notification_widget.warning:focus,
+.notification_widget.warning.focus {
+ color:#fff;
+ background-color:#ec971f;
+ border-color:#985f0d;
+}
+
+.notification_widget.warning:hover {
+ color:#fff;
+ background-color:#ec971f;
+ border-color:#d58512;
+}
+
+.notification_widget.warning:active,
+.notification_widget.warning.active,
+.open > .dropdown-toggle.notification_widget.warning {
+ color:#fff;
+ background-color:#ec971f;
+ border-color:#d58512;
+}
+
+.notification_widget.warning:active:hover,
+.notification_widget.warning.active:hover,
+.open > .dropdown-toggle.notification_widget.warning:hover,
+.notification_widget.warning:active:focus,
+.notification_widget.warning.active:focus,
+.open > .dropdown-toggle.notification_widget.warning:focus,
+.notification_widget.warning:active.focus,
+.notification_widget.warning.active.focus,
+.open > .dropdown-toggle.notification_widget.warning.focus {
+ color:#fff;
+ background-color:#d58512;
+ border-color:#985f0d;
+}
+
+.notification_widget.warning:active,
+.notification_widget.warning.active,
+.open > .dropdown-toggle.notification_widget.warning {
+ background-image:none;
+}
+
+.notification_widget.warning.disabled:hover,
+.notification_widget.warning[disabled]:hover,
+fieldset[disabled] .notification_widget.warning:hover,
+.notification_widget.warning.disabled:focus,
+.notification_widget.warning[disabled]:focus,
+fieldset[disabled] .notification_widget.warning:focus,
+.notification_widget.warning.disabled.focus,
+.notification_widget.warning[disabled].focus,
+fieldset[disabled] .notification_widget.warning.focus {
+ background-color:#f0ad4e;
+ border-color:#eea236;
+}
+
+.notification_widget.warning .badge {
+ color:#f0ad4e;
+ background-color:#fff;
+}
+
+.notification_widget.success {
+ color:#fff;
+ background-color:#5cb85c;
+ border-color:#4cae4c;
+}
+
+.notification_widget.success:focus,
+.notification_widget.success.focus {
+ color:#fff;
+ background-color:#449d44;
+ border-color:#255625;
+}
+
+.notification_widget.success:hover {
+ color:#fff;
+ background-color:#449d44;
+ border-color:#398439;
+}
+
+.notification_widget.success:active,
+.notification_widget.success.active,
+.open > .dropdown-toggle.notification_widget.success {
+ color:#fff;
+ background-color:#449d44;
+ border-color:#398439;
+}
+
+.notification_widget.success:active:hover,
+.notification_widget.success.active:hover,
+.open > .dropdown-toggle.notification_widget.success:hover,
+.notification_widget.success:active:focus,
+.notification_widget.success.active:focus,
+.open > .dropdown-toggle.notification_widget.success:focus,
+.notification_widget.success:active.focus,
+.notification_widget.success.active.focus,
+.open > .dropdown-toggle.notification_widget.success.focus {
+ color:#fff;
+ background-color:#398439;
+ border-color:#255625;
+}
+
+.notification_widget.success:active,
+.notification_widget.success.active,
+.open > .dropdown-toggle.notification_widget.success {
+ background-image:none;
+}
+
+.notification_widget.success.disabled:hover,
+.notification_widget.success[disabled]:hover,
+fieldset[disabled] .notification_widget.success:hover,
+.notification_widget.success.disabled:focus,
+.notification_widget.success[disabled]:focus,
+fieldset[disabled] .notification_widget.success:focus,
+.notification_widget.success.disabled.focus,
+.notification_widget.success[disabled].focus,
+fieldset[disabled] .notification_widget.success.focus {
+ background-color:#5cb85c;
+ border-color:#4cae4c;
+}
+
+.notification_widget.success .badge {
+ color:#5cb85c;
+ background-color:#fff;
+}
+
+.notification_widget.info {
+ color:#fff;
+ background-color:#5bc0de;
+ border-color:#46b8da;
+}
+
+.notification_widget.info:focus,
+.notification_widget.info.focus {
+ color:#fff;
+ background-color:#31b0d5;
+ border-color:#1b6d85;
+}
+
+.notification_widget.info:hover {
+ color:#fff;
+ background-color:#31b0d5;
+ border-color:#269abc;
+}
+
+.notification_widget.info:active,
+.notification_widget.info.active,
+.open > .dropdown-toggle.notification_widget.info {
+ color:#fff;
+ background-color:#31b0d5;
+ border-color:#269abc;
+}
+
+.notification_widget.info:active:hover,
+.notification_widget.info.active:hover,
+.open > .dropdown-toggle.notification_widget.info:hover,
+.notification_widget.info:active:focus,
+.notification_widget.info.active:focus,
+.open > .dropdown-toggle.notification_widget.info:focus,
+.notification_widget.info:active.focus,
+.notification_widget.info.active.focus,
+.open > .dropdown-toggle.notification_widget.info.focus {
+ color:#fff;
+ background-color:#269abc;
+ border-color:#1b6d85;
+}
+
+.notification_widget.info:active,
+.notification_widget.info.active,
+.open > .dropdown-toggle.notification_widget.info {
+ background-image:none;
+}
+
+.notification_widget.info.disabled:hover,
+.notification_widget.info[disabled]:hover,
+fieldset[disabled] .notification_widget.info:hover,
+.notification_widget.info.disabled:focus,
+.notification_widget.info[disabled]:focus,
+fieldset[disabled] .notification_widget.info:focus,
+.notification_widget.info.disabled.focus,
+.notification_widget.info[disabled].focus,
+fieldset[disabled] .notification_widget.info.focus {
+ background-color:#5bc0de;
+ border-color:#46b8da;
+}
+
+.notification_widget.info .badge {
+ color:#5bc0de;
+ background-color:#fff;
+}
+
+.notification_widget.danger {
+ color:#fff;
+ background-color:#d9534f;
+ border-color:#d43f3a;
+}
+
+.notification_widget.danger:focus,
+.notification_widget.danger.focus {
+ color:#fff;
+ background-color:#c9302c;
+ border-color:#761c19;
+}
+
+.notification_widget.danger:hover {
+ color:#fff;
+ background-color:#c9302c;
+ border-color:#ac2925;
+}
+
+.notification_widget.danger:active,
+.notification_widget.danger.active,
+.open > .dropdown-toggle.notification_widget.danger {
+ color:#fff;
+ background-color:#c9302c;
+ border-color:#ac2925;
+}
+
+.notification_widget.danger:active:hover,
+.notification_widget.danger.active:hover,
+.open > .dropdown-toggle.notification_widget.danger:hover,
+.notification_widget.danger:active:focus,
+.notification_widget.danger.active:focus,
+.open > .dropdown-toggle.notification_widget.danger:focus,
+.notification_widget.danger:active.focus,
+.notification_widget.danger.active.focus,
+.open > .dropdown-toggle.notification_widget.danger.focus {
+ color:#fff;
+ background-color:#ac2925;
+ border-color:#761c19;
+}
+
+.notification_widget.danger:active,
+.notification_widget.danger.active,
+.open > .dropdown-toggle.notification_widget.danger {
+ background-image:none;
+}
+
+.notification_widget.danger.disabled:hover,
+.notification_widget.danger[disabled]:hover,
+fieldset[disabled] .notification_widget.danger:hover,
+.notification_widget.danger.disabled:focus,
+.notification_widget.danger[disabled]:focus,
+fieldset[disabled] .notification_widget.danger:focus,
+.notification_widget.danger.disabled.focus,
+.notification_widget.danger[disabled].focus,
+fieldset[disabled] .notification_widget.danger.focus {
+ background-color:#d9534f;
+ border-color:#d43f3a;
+}
+
+.notification_widget.danger .badge {
+ color:#d9534f;
+ background-color:#fff;
+}
+
+div#pager {
+ background-color:#fff;
+ font-size:14px;
+ line-height:20px;
+ overflow:hidden;
+ display:none;
+ position:fixed;
+ bottom:0px;
+ width:100%;
+ max-height:50%;
+ padding-top:8px;
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ /* Display over codemirror */
+ z-index:100;
+ /* Hack which prevents jquery ui resizable from changing top. */
+ top:auto !important;
+}
+
+div#pager pre {
+ line-height:1.21429em;
+ color:#000;
+ background-color:#f7f7f7;
+ padding:0.4em;
+}
+
+div#pager #pager-button-area {
+ position:absolute;
+ top:8px;
+ right:20px;
+}
+
+div#pager #pager-contents {
+ position:relative;
+ overflow:auto;
+ width:100%;
+ height:100%;
+}
+
+div#pager #pager-contents #pager-container {
+ position:relative;
+ padding:15px 0px;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+}
+
+div#pager .ui-resizable-handle {
+ top:0px;
+ height:8px;
+ background:#f7f7f7;
+ border-top:1px solid #cfcfcf;
+ border-bottom:1px solid #cfcfcf;
+ /* This injects handle bars (a short, wide = symbol) for
+ the resize handle. */
+}
+
+div#pager .ui-resizable-handle::after {
+ content:'';
+ top:2px;
+ left:50%;
+ height:3px;
+ width:30px;
+ margin-left:-15px;
+ position:absolute;
+ border-top:1px solid #cfcfcf;
+}
+
+.quickhelp {
+ /* Old browsers */
+ display:-webkit-box;
+ -webkit-box-orient:horizontal;
+ -webkit-box-align:stretch;
+ display:-moz-box;
+ -moz-box-orient:horizontal;
+ -moz-box-align:stretch;
+ display:box;
+ box-orient:horizontal;
+ box-align:stretch;
+ /* Modern browsers */
+ display:flex;
+ flex-direction:row;
+ align-items:stretch;
+ line-height:1.8em;
+}
+
+.shortcut_key {
+ display:inline-block;
+ width:20ex;
+ text-align:right;
+ font-family:monospace;
+}
+
+.shortcut_descr {
+ display:inline-block;
+ /* Old browsers */
+ -webkit-box-flex:1;
+ -moz-box-flex:1;
+ box-flex:1;
+ /* Modern browsers */
+ flex:1;
+}
+
+span.save_widget {
+ margin-top:6px;
+}
+
+span.save_widget span.filename {
+ height:1em;
+ line-height:1em;
+ padding:3px;
+ margin-left:16px;
+ border:none;
+ font-size:146.5%;
+ border-radius:2px;
+}
+
+span.save_widget span.filename:hover {
+ background-color:#e6e6e6;
+}
+
+span.checkpoint_status,
+span.autosave_status {
+ font-size:small;
+}
+
+@media (max-width:767px) {
+ span.save_widget {
+ font-size:small;
+ }
+
+ span.checkpoint_status,
+ span.autosave_status {
+ display:none;
+ }
+}
+
+@media (min-width:768px) and (max-width:991px) {
+ span.checkpoint_status {
+ display:none;
+ }
+
+ span.autosave_status {
+ font-size:x-small;
+ }
+}
+
+.toolbar {
+ padding:0px;
+ margin-left:-5px;
+ margin-top:2px;
+ margin-bottom:5px;
+ box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ -webkit-box-sizing:border-box;
+}
+
+.toolbar select,
+.toolbar label {
+ width:auto;
+ vertical-align:middle;
+ margin-right:2px;
+ margin-bottom:0px;
+ display:inline;
+ font-size:92%;
+ margin-left:0.3em;
+ margin-right:0.3em;
+ padding:0px;
+ padding-top:3px;
+}
+
+.toolbar .btn {
+ padding:2px 8px;
+}
+
+.toolbar .btn-group {
+ margin-top:0px;
+ margin-left:5px;
+}
+
+#maintoolbar {
+ margin-bottom:-3px;
+ margin-top:-8px;
+ border:0px;
+ min-height:27px;
+ margin-left:0px;
+ padding-top:11px;
+ padding-bottom:3px;
+}
+
+#maintoolbar .navbar-text {
+ float:none;
+ vertical-align:middle;
+ text-align:right;
+ margin-left:5px;
+ margin-right:0px;
+ margin-top:0px;
+}
+
+.select-xs {
+ height:24px;
+}
+
+.pulse,
+.dropdown-menu > li > a.pulse,
+li.pulse > a.dropdown-toggle,
+li.pulse.open > a.dropdown-toggle {
+ background-color:#f37626;
+ color:white;
+}
+
+/**
+ * Primary styles
+ *
+ * Author: Jupyter Development Team
+ */
+/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
+ * of chance of beeing generated from the ../less/[samename].less file, you can
+ * try to get back the less file by reverting somme commit in history
+ **/
+/*
+ * We'll try to get something pretty, so we
+ * have some strange css to have the scroll bar on
+ * the left with fix button on the top right of the tooltip
+ */
+@-moz-keyframes fadeOut {
+ from {
+ opacity:1;
+ }
+ to {
+ opacity:0;
+ }
+}
+
+@-webkit-keyframes fadeOut {
+ from {
+ opacity:1;
+ }
+ to {
+ opacity:0;
+ }
+}
+
+@-moz-keyframes fadeIn {
+ from {
+ opacity:0;
+ }
+ to {
+ opacity:1;
+ }
+}
+
+@-webkit-keyframes fadeIn {
+ from {
+ opacity:0;
+ }
+ to {
+ opacity:1;
+ }
+}
+
+/*properties of tooltip after "expand"*/
+.bigtooltip {
+ overflow:auto;
+ height:200px;
+ -webkit-transition-property:height;
+ -webkit-transition-duration:500ms;
+ -moz-transition-property:height;
+ -moz-transition-duration:500ms;
+ transition-property:height;
+ transition-duration:500ms;
+}
+
+/*properties of tooltip before "expand"*/
+.smalltooltip {
+ -webkit-transition-property:height;
+ -webkit-transition-duration:500ms;
+ -moz-transition-property:height;
+ -moz-transition-duration:500ms;
+ transition-property:height;
+ transition-duration:500ms;
+ text-overflow:ellipsis;
+ overflow:hidden;
+ height:80px;
+}
+
+.tooltipbuttons {
+ position:absolute;
+ padding-right:15px;
+ top:0px;
+ right:0px;
+}
+
+.tooltiptext {
+ /*avoid the button to overlap on some docstring*/
+ padding-right:30px;
+}
+
+.ipython_tooltip {
+ max-width:700px;
+ /*fade-in animation when inserted*/
+ -webkit-animation:fadeOut 400ms;
+ -moz-animation:fadeOut 400ms;
+ animation:fadeOut 400ms;
+ -webkit-animation:fadeIn 400ms;
+ -moz-animation:fadeIn 400ms;
+ animation:fadeIn 400ms;
+ vertical-align:middle;
+ background-color:#f7f7f7;
+ overflow:visible;
+ border:#ababab 1px solid;
+ outline:none;
+ padding:3px;
+ margin:0px;
+ padding-left:7px;
+ font-family:monospace;
+ min-height:50px;
+ -moz-box-shadow:0px 6px 10px -1px #adadad;
+ -webkit-box-shadow:0px 6px 10px -1px #adadad;
+ box-shadow:0px 6px 10px -1px #adadad;
+ border-radius:2px;
+ position:absolute;
+ z-index:1000;
+}
+
+.ipython_tooltip a {
+ float:right;
+}
+
+.ipython_tooltip .tooltiptext pre {
+ border:0;
+ border-radius:0;
+ font-size:100%;
+ background-color:#f7f7f7;
+}
+
+.pretooltiparrow {
+ left:0px;
+ margin:0px;
+ top:-16px;
+ width:40px;
+ height:16px;
+ overflow:hidden;
+ position:absolute;
+}
+
+.pretooltiparrow:before {
+ background-color:#f7f7f7;
+ border:1px #ababab solid;
+ z-index:11;
+ content:"";
+ position:absolute;
+ left:15px;
+ top:10px;
+ width:25px;
+ height:25px;
+ -webkit-transform:rotate(45deg);
+ -moz-transform:rotate(45deg);
+ -ms-transform:rotate(45deg);
+ -o-transform:rotate(45deg);
+}
+
+ul.typeahead-list i {
+ margin-left:-10px;
+ width:18px;
+}
+
+ul.typeahead-list {
+ max-height:80vh;
+ overflow:auto;
+}
+
+ul.typeahead-list > li > a {
+ /** Firefox bug **/
+ /* see https://github.com/jupyter/notebook/issues/559 */
+ white-space:normal;
+}
+
+.cmd-palette .modal-body {
+ padding:7px;
+}
+
+.cmd-palette form {
+ background:white;
+}
+
+.cmd-palette input {
+ outline:none;
+}
+
+.no-shortcut {
+ display:none;
+}
+
+.command-shortcut:before {
+ content:"(command)";
+ padding-right:3px;
+ color:#777;
+}
+
+.edit-shortcut:before {
+ content:"(edit)";
+ padding-right:3px;
+ color:#777;
+}
+
+#find-and-replace #replace-preview .match,
+#find-and-replace #replace-preview .insert {
+ background-color:#bbdefb;
+ border-color:#90caf9;
+ border-style:solid;
+ border-width:1px;
+ border-radius:0px;
+}
+
+#find-and-replace #replace-preview .replace .match {
+ background-color:#ffcdd2;
+ border-color:#ef9a9a;
+ border-radius:0px;
+}
+
+#find-and-replace #replace-preview .replace .insert {
+ background-color:#c8e6c9;
+ border-color:#a5d6a7;
+ border-radius:0px;
+}
+
+#find-and-replace #replace-preview {
+ max-height:60vh;
+ overflow:auto;
+}
+
+#find-and-replace #replace-preview pre {
+ padding:5px 10px;
+}
+
+.terminal-app {
+ background:#eee;
+}
+
+.terminal-app #header {
+ background:#fff;
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2);
+}
+
+.terminal-app .terminal {
+ float:left;
+ font-family:monospace;
+ color:white;
+ background:black;
+ padding:0.4em;
+ border-radius:2px;
+ -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.4);
+ box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.4);
+}
+
+.terminal-app .terminal,
+.terminal-app .terminal dummy-screen {
+ line-height:1em;
+ font-size:14px;
+}
+
+.terminal-app .terminal-cursor {
+ color:black;
+ background:white;
+}
+
+.terminal-app #terminado-container {
+ margin-top:20px;
+}
+
+/*# sourceMappingURL=style.min.css.map */
+<
+/
+style >
+< style type
+
+=
+"text/css"
+>
+.highlight .hll { background-color:#ffc }
+
+.highlight { background:#f8f8f8; }
+
+.highlight .c { color:#408080; font-style:italic }
+
+/* Comment */
+.highlight .err { border:1px solid #f00 }
+
+/* Error */
+.highlight .k { color:#008000; font-weight:bold }
+
+/* Keyword */
+.highlight .o { color:#666 }
+
+/* Operator */
+.highlight .ch { color:#408080; font-style:italic }
+
+/* Comment.Hashbang */
+.highlight .cm { color:#408080; font-style:italic }
+
+/* Comment.Multiline */
+.highlight .cp { color:#bc7a00 }
+
+/* Comment.Preproc */
+.highlight .cpf { color:#408080; font-style:italic }
+
+/* Comment.PreprocFile */
+.highlight .c1 { color:#408080; font-style:italic }
+
+/* Comment.Single */
+.highlight .cs { color:#408080; font-style:italic }
+
+/* Comment.Special */
+.highlight .gd { color:#a00000 }
+
+/* Generic.Deleted */
+.highlight .ge { font-style:italic }
+
+/* Generic.Emph */
+.highlight .gr { color:#f00 }
+
+/* Generic.Error */
+.highlight .gh { color:#000080; font-weight:bold }
+
+/* Generic.Heading */
+.highlight .gi { color:#00a000 }
+
+/* Generic.Inserted */
+.highlight .go { color:#888 }
+
+/* Generic.Output */
+.highlight .gp { color:#000080; font-weight:bold }
+
+/* Generic.Prompt */
+.highlight .gs { font-weight:bold }
+
+/* Generic.Strong */
+.highlight .gu { color:#800080; font-weight:bold }
+
+/* Generic.Subheading */
+.highlight .gt { color:#04d }
+
+/* Generic.Traceback */
+.highlight .kc { color:#008000; font-weight:bold }
+
+/* Keyword.Constant */
+.highlight .kd { color:#008000; font-weight:bold }
+
+/* Keyword.Declaration */
+.highlight .kn { color:#008000; font-weight:bold }
+
+/* Keyword.Namespace */
+.highlight .kp { color:#008000 }
+
+/* Keyword.Pseudo */
+.highlight .kr { color:#008000; font-weight:bold }
+
+/* Keyword.Reserved */
+.highlight .kt { color:#b00040 }
+
+/* Keyword.Type */
+.highlight .m { color:#666 }
+
+/* Literal.Number */
+.highlight .s { color:#ba2121 }
+
+/* Literal.String */
+.highlight .na { color:#7d9029 }
+
+/* Name.Attribute */
+.highlight .nb { color:#008000 }
+
+/* Name.Builtin */
+.highlight .nc { color:#00f; font-weight:bold }
+
+/* Name.Class */
+.highlight .no { color:#800 }
+
+/* Name.Constant */
+.highlight .nd { color:#a2f }
+
+/* Name.Decorator */
+.highlight .ni { color:#999; font-weight:bold }
+
+/* Name.Entity */
+.highlight .ne { color:#d2413a; font-weight:bold }
+
+/* Name.Exception */
+.highlight .nf { color:#00f }
+
+/* Name.Function */
+.highlight .nl { color:#a0a000 }
+
+/* Name.Label */
+.highlight .nn { color:#00f; font-weight:bold }
+
+/* Name.Namespace */
+.highlight .nt { color:#008000; font-weight:bold }
+
+/* Name.Tag */
+.highlight .nv { color:#19177c }
+
+/* Name.Variable */
+.highlight .ow { color:#a2f; font-weight:bold }
+
+/* Operator.Word */
+.highlight .w { color:#bbb }
+
+/* Text.Whitespace */
+.highlight .mb { color:#666 }
+
+/* Literal.Number.Bin */
+.highlight .mf { color:#666 }
+
+/* Literal.Number.Float */
+.highlight .mh { color:#666 }
+
+/* Literal.Number.Hex */
+.highlight .mi { color:#666 }
+
+/* Literal.Number.Integer */
+.highlight .mo { color:#666 }
+
+/* Literal.Number.Oct */
+.highlight .sb { color:#ba2121 }
+
+/* Literal.String.Backtick */
+.highlight .sc { color:#ba2121 }
+
+/* Literal.String.Char */
+.highlight .sd { color:#ba2121; font-style:italic }
+
+/* Literal.String.Doc */
+.highlight .s2 { color:#ba2121 }
+
+/* Literal.String.Double */
+.highlight .se { color:#b62; font-weight:bold }
+
+/* Literal.String.Escape */
+.highlight .sh { color:#ba2121 }
+
+/* Literal.String.Heredoc */
+.highlight .si { color:#b68; font-weight:bold }
+
+/* Literal.String.Interpol */
+.highlight .sx { color:#008000 }
+
+/* Literal.String.Other */
+.highlight .sr { color:#b68 }
+
+/* Literal.String.Regex */
+.highlight .s1 { color:#ba2121 }
+
+/* Literal.String.Single */
+.highlight .ss { color:#19177c }
+
+/* Literal.String.Symbol */
+.highlight .bp { color:#008000 }
+
+/* Name.Builtin.Pseudo */
+.highlight .vc { color:#19177c }
+
+/* Name.Variable.Class */
+.highlight .vg { color:#19177c }
+
+/* Name.Variable.Global */
+.highlight .vi { color:#19177c }
+
+/* Name.Variable.Instance */
+.highlight .il { color:#666 }
+
+/* Literal.Number.Integer.Long */
+<
+/
+style >
+< style type
+
+=
+"text/css"
+>
+
+/* Temporary definitions which will become obsolete with Notebook release 5.0 */
+.ansi-black-fg { color:#3e424d; }
+
+.ansi-black-bg { background-color:#3e424d; }
+
+.ansi-black-intense-fg { color:#282c36; }
+
+.ansi-black-intense-bg { background-color:#282c36; }
+
+.ansi-red-fg { color:#e75c58; }
+
+.ansi-red-bg { background-color:#e75c58; }
+
+.ansi-red-intense-fg { color:#b22b31; }
+
+.ansi-red-intense-bg { background-color:#b22b31; }
+
+.ansi-green-fg { color:#00a250; }
+
+.ansi-green-bg { background-color:#00a250; }
+
+.ansi-green-intense-fg { color:#007427; }
+
+.ansi-green-intense-bg { background-color:#007427; }
+
+.ansi-yellow-fg { color:#ddb62b; }
+
+.ansi-yellow-bg { background-color:#ddb62b; }
+
+.ansi-yellow-intense-fg { color:#b27d12; }
+
+.ansi-yellow-intense-bg { background-color:#b27d12; }
+
+.ansi-blue-fg { color:#208ffb; }
+
+.ansi-blue-bg { background-color:#208ffb; }
+
+.ansi-blue-intense-fg { color:#0065ca; }
+
+.ansi-blue-intense-bg { background-color:#0065ca; }
+
+.ansi-magenta-fg { color:#d160c4; }
+
+.ansi-magenta-bg { background-color:#d160c4; }
+
+.ansi-magenta-intense-fg { color:#a03196; }
+
+.ansi-magenta-intense-bg { background-color:#a03196; }
+
+.ansi-cyan-fg { color:#60c6c8; }
+
+.ansi-cyan-bg { background-color:#60c6c8; }
+
+.ansi-cyan-intense-fg { color:#258f8f; }
+
+.ansi-cyan-intense-bg { background-color:#258f8f; }
+
+.ansi-white-fg { color:#c5c1b4; }
+
+.ansi-white-bg { background-color:#c5c1b4; }
+
+.ansi-white-intense-fg { color:#a1a6b2; }
+
+.ansi-white-intense-bg { background-color:#a1a6b2; }
+
+.ansi-bold { font-weight:bold; }
+
+<
+/
+style >
+< style type
+
+=
+"text/css"
+>
+/* Overrides of notebook CSS for static HTML export */
+body {
+ overflow:visible;
+ padding:8px;
+}
+
+div#notebook {
+ overflow:visible;
+ border-top:none;
+}
+
+@media print {
+ div.cell {
+ display:block;
+ page-break-inside:avoid;
+ }
+
+ div.output_wrapper {
+ display:block;
+ page-break-inside:avoid;
+ }
+
+ div.output {
+ display:block;
+ page-break-inside:avoid;
+ }
}
\ No newline at end of file
diff --git a/public/js/json_tree.js b/public/js/json_tree.js
index 795a622..b39e6fa 100644
--- a/public/js/json_tree.js
+++ b/public/js/json_tree.js
@@ -7,7 +7,7 @@ var json_tree_intro = '[{"text":"自然地理概况","nodes":[{"text":"地理位
var json_tree_origin = '[{"text":"遥感监测","nodes":[{"text":"土地利用/土地覆盖","href":"/origin/land_use"},{"text":"生态环境质量状况","href":"/origin/ecology"},{"text":"牧草产量","href":"/origin/forage_yield"},{"text":"土壤侵蚀","href":"/origin/soil_erosion"}]},{"text":"地面监测","nodes":[{"text":"气象监测","href":"/origin/meteorological"},{"text":"水文水资源监测","href":"/origin/water"},{"text":"草地生态监测","href":"/origin/grass"},{"text":"森林监测","href":"/origin/forest"},{"text":"沙化土地监测","href":"/origin/desertification"},{"text":"湿地监测","href":"/origin/wetland"},{"text":"水土保持监测","href":"/origin/soil_and_water_conservation"},{"text":"环境质量监测","href":"/origin/env_quality_monitoring"}]},{"text":"社会经济调查","nodes":[{"text":"人口","href":"#"},{"text":"社会经济","href":"#"},{"text":"环境保护机构","href":"#"},{"text":"污染源","href":"#"},{"text":"生态移民","href":"#"},{"text":"工程项目","href":"#"}]}]';
-var json_tree_ei = '[{"text":"生态系统宏观结构","nodes":[{"text":"分类面积"},{"text":"变化率"},{"text":"动态度"},{"text":"宏观结构变化指数"},{"text":"群落结构特征"}]},{"text":"生态系统质量","nodes":[{"text":"草地退化/恢复"},{"text":"生产力"},{"text":"地表覆盖"},{"text":"环境质量"},{"text":"多年冻土"}]},{"text":"生态系统服务功能","nodes":[{"text":"水分调节"},{"text":"持水能力"},{"text":"径流调节"},{"text":"水土保持"},{"text":"防风固沙"},{"text":"牧草供给"},{"text":"水供给"},{"text":"栖息地隐蔽性"},{"text":"栖息地食物供给"},{"text":"栖息地水源供给"},{"text":"人类干扰程度"}]},{"text":"生态系统变化的影响","nodes":[{"text":"气候变化"},{"text":"人类活动"}]}]';
+var json_tree_ei = '[{"text":"生态系统宏观结构","nodes":[{"text":"分类面积","href":"/ei/classification_area"},{"text":"变化率"},{"text":"动态度"},{"text":"宏观结构变化指数"},{"text":"群落结构特征"}]},{"text":"生态系统质量","nodes":[{"text":"草地退化/恢复"},{"text":"生产力"},{"text":"地表覆盖"},{"text":"环境质量"},{"text":"多年冻土"}]},{"text":"生态系统服务功能","nodes":[{"text":"水分调节"},{"text":"持水能力"},{"text":"径流调节"},{"text":"水土保持"},{"text":"防风固沙"},{"text":"牧草供给"},{"text":"水供给"},{"text":"栖息地隐蔽性"},{"text":"栖息地食物供给"},{"text":"栖息地水源供给"},{"text":"人类干扰程度"}]},{"text":"生态系统变化的影响","nodes":[{"text":"气候变化"},{"text":"人类活动"}]}]';
diff --git a/public/js/mod.js b/public/js/mod.js
index a8594d9..b459ff8 100644
--- a/public/js/mod.js
+++ b/public/js/mod.js
@@ -11,6 +11,15 @@ $('.navbar-nav li a').each(function () {
});
+function onEachFeature(feature, layer) {
+ var out = [];
+ if (feature.properties) {
+ for (var key in feature.properties) {
+ out.push(key + ": " + feature.properties[key]);
+ }
+ }
+ layer.bindPopup(out.join("
"));
+}
// $(document).on('click', '.navbar-nav li', function () {
// $(".nav-list li").removeClass("active");
diff --git a/routes/ei.js b/routes/ei.js
index b2250ff..6932a27 100644
--- a/routes/ei.js
+++ b/routes/ei.js
@@ -4,9 +4,17 @@ var router = express.Router();
router.get('/', function (req, res, next) {
res.render('ei', {
+ page_cont: null,
page_title: '评价指标数据'
});
});
+router.get('/classification_area', function (req, res, next) {
+ res.render('ei', {
+ page_title: 'classification_area',
+ page_cont: 'inc',
+ inc_tag: 'classification_area'
+ });
+});
module.exports = router;
diff --git a/views/ei.html b/views/ei.html
index b79af11..4b85493 100644
--- a/views/ei.html
+++ b/views/ei.html
@@ -5,16 +5,9 @@
-
-
+ <% if (page_cont == 'inc') { %>
+ <%- include('inc/' + inc_tag) %>
+ <% } %>
diff --git a/views/inc/classification_area.ejs b/views/inc/classification_area.ejs
new file mode 100644
index 0000000..d626edc
--- /dev/null
+++ b/views/inc/classification_area.ejs
@@ -0,0 +1,466 @@
+
+
\ No newline at end of file