diff --git a/404.html b/404.html new file mode 100755 index 0000000..7efe98d --- /dev/null +++ b/404.html @@ -0,0 +1,41 @@ + + + + + Not Found + + + + + diff --git a/index.html b/index.html new file mode 100755 index 0000000..e8c3b4c --- /dev/null +++ b/index.html @@ -0,0 +1,28 @@ + +
\ No newline at end of file diff --git a/static/css/animation.css b/static/css/animation.css new file mode 100755 index 0000000..0c5b074 --- /dev/null +++ b/static/css/animation.css @@ -0,0 +1,70 @@ +/* make keyframes that tell the start state and the end state of our object */ +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +.fade-in { + opacity: 0; /* make things invisible upon start */ + -webkit-animation: fadein ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */ + -moz-animation: fadein ease-in 1; + animation: fadeIn ease-in 1; + + -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1) */ + -moz-animation-fill-mode: forwards; + animation-fill-mode: forwards; + + -webkit-animation-duration: 1s; + -moz-animation-duration: 1s; + animation-duration: 1s; +} + +.faster-fade-in { + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; +} + +/* page transition */ +.fade-enter { + opacity: 0; +} + +.fade-enter.fade-enter-active { + opacity: 1; + transition: opacity 500ms ease-in; +} + +.fade-exit { + opacity: 1; +} + +.fade-exit.fade-exit-active { + opacity: 0; + transition: opacity 300ms ease-in; +} diff --git a/static/css/codemirror.min.css b/static/css/codemirror.min.css new file mode 100755 index 0000000..d65de1f --- /dev/null +++ b/static/css/codemirror.min.css @@ -0,0 +1,349 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + color: black; + direction: ltr; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; +} +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} +.cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} +.cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7; +} +@-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} + +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror-overwrite .CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: 0; + overflow: hidden; +} +.CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 50px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -50px; margin-right: -50px; + padding-bottom: 50px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; + border-right: 50px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; + outline: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -50px; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; +} +.CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper ::selection { background-color: transparent } +.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; +} +.CodeMirror-wrap pre.CodeMirror-line, +.CodeMirror-wrap pre.CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ +} + +.CodeMirror-widget {} + +.CodeMirror-rtl pre { direction: rtl; } + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.CodeMirror-cursor { + position: absolute; + pointer-events: none; +} +.CodeMirror-measure pre { position: static; } + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +div.CodeMirror-dragcursors { + visibility: visible; +} + +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } +.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); +} + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } diff --git a/static/css/codemirror.solarized.css b/static/css/codemirror.solarized.css new file mode 100755 index 0000000..231b5f3 --- /dev/null +++ b/static/css/codemirror.solarized.css @@ -0,0 +1,160 @@ +/* +Solarized theme for code-mirror +http://ethanschoonover.com/solarized +*/ + +/* +Solarized color palette +http://ethanschoonover.com/solarized/img/solarized-palette.png +*/ + +.solarized.base03 { color: #002b36; } +.solarized.base02 { color: #073642; } +.solarized.base01 { color: #586e75; } +.solarized.base00 { color: #657b83; } +.solarized.base0 { color: #839496; } +.solarized.base1 { color: #93a1a1; } +.solarized.base2 { color: #eee8d5; } +.solarized.base3 { color: #fdf6e3; } +.solarized.solar-yellow { color: #b58900; } +.solarized.solar-orange { color: #cb4b16; } +.solarized.solar-red { color: #dc322f; } +.solarized.solar-magenta { color: #d33682; } +.solarized.solar-violet { color: #6c71c4; } +.solarized.solar-blue { color: #268bd2; } +.solarized.solar-cyan { color: #2aa198; } +.solarized.solar-green { color: #859900; } + +/* Color scheme for code-mirror */ + +.cm-s-solarized { + line-height: 1.45em; + color-profile: sRGB; + rendering-intent: auto; +} +.cm-s-solarized.cm-s-dark { + color: #839496; + background-color: #002b36; + text-shadow: #002b36 0 1px; +} +.cm-s-solarized.cm-s-light { + background-color: #fdf6e3; + color: #657b83; + text-shadow: #eee8d5 0 1px; +} + +.cm-s-solarized .CodeMirror-widget { + text-shadow: none; +} + +.cm-s-solarized .cm-header { color: #586e75; } +.cm-s-solarized .cm-quote { color: #93a1a1; } + +.cm-s-solarized .cm-keyword { color: #cb4b16; } +.cm-s-solarized .cm-atom { color: #d33682; } +.cm-s-solarized .cm-number { color: #d33682; } +.cm-s-solarized .cm-def { color: #2aa198; } + +.cm-s-solarized .cm-variable { color: #839496; } +.cm-s-solarized .cm-variable-2 { color: #b58900; } +.cm-s-solarized .cm-variable-3, .cm-s-solarized .cm-type { color: #6c71c4; } + +.cm-s-solarized .cm-property { color: #2aa198; } +.cm-s-solarized .cm-operator { color: #6c71c4; } + +.cm-s-solarized .cm-comment { color: #586e75; font-style:italic; } + +.cm-s-solarized .cm-string { color: #859900; } +.cm-s-solarized .cm-string-2 { color: #b58900; } + +.cm-s-solarized .cm-meta { color: #859900; } +.cm-s-solarized .cm-qualifier { color: #b58900; } +.cm-s-solarized .cm-builtin { color: #d33682; } +.cm-s-solarized .cm-bracket { color: #cb4b16; } +.cm-s-solarized .CodeMirror-matchingbracket { color: #859900; } +.cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; } +.cm-s-solarized .cm-tag { color: #93a1a1; } +.cm-s-solarized .cm-attribute { color: #2aa198; } +.cm-s-solarized .cm-hr { + color: transparent; + border-top: 1px solid #586e75; + display: block; +} +.cm-s-solarized .cm-link { color: #93a1a1; cursor: pointer; } +.cm-s-solarized .cm-special { color: #6c71c4; } +.cm-s-solarized .cm-em { + color: #999; + text-decoration: underline; + text-decoration-style: dotted; +} +.cm-s-solarized .cm-error, +.cm-s-solarized .cm-invalidchar { + color: #586e75; + border-bottom: 1px dotted #dc322f; +} + +.cm-s-solarized.cm-s-dark div.CodeMirror-selected { background: #073642; } +.cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); } +.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); } + +.cm-s-solarized.cm-s-light div.CodeMirror-selected { background: #eee8d5; } +.cm-s-solarized.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: #eee8d5; } +.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-light .CodeMirror-line > span::-moz-selection, .cm-s-light .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; } + +/* Editor styling */ + + +/* Remove gutter border */ +.cm-s-solarized .CodeMirror-gutters { + border-right: 0; +} + +/* Gutter colors and line number styling based of color scheme (dark / light) */ + +/* Dark */ +.cm-s-solarized.cm-s-dark .CodeMirror-gutters { + background-color: #073642; +} + +.cm-s-solarized.cm-s-dark .CodeMirror-linenumber { + color: #586e75; + text-shadow: #021014 0 -1px; +} + +/* Light */ +.cm-s-solarized.cm-s-light .CodeMirror-gutters { + background-color: #eee8d5; +} + +.cm-s-solarized.cm-s-light .CodeMirror-linenumber { + color: #839496; +} + +/* Common */ +.cm-s-solarized .CodeMirror-linenumber { + padding: 0 5px; +} +.cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; } +.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker { color: #ddd; } +.cm-s-solarized.cm-s-light .CodeMirror-guttermarker { color: #cb4b16; } + +.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text { + color: #586e75; +} + +/* Cursor */ +.cm-s-solarized .CodeMirror-cursor { border-left: 1px solid #819090; } + +/* Fat cursor */ +.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor { background: #77ee77; } +.cm-s-solarized.cm-s-light .cm-animate-fat-cursor { background-color: #77ee77; } +.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor { background: #586e75; } +.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor { background-color: #586e75; } + +/* Active line */ +.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background { + background: rgba(255, 255, 255, 0.06); +} +.cm-s-solarized.cm-s-light .CodeMirror-activeline-background { + background: rgba(0, 0, 0, 0.06); +} diff --git a/static/css/common.css b/static/css/common.css new file mode 100755 index 0000000..c41e79d --- /dev/null +++ b/static/css/common.css @@ -0,0 +1,917 @@ +:root { + --ls-tag-text-opacity: 0.8; + --ls-tag-text-hover-opacity: 1; + --ls-page-text-size: 1em; + --ls-page-title-size: 36px; + --ls-main-content-max-width: 810px; + --ls-main-content-max-width-wide: 1280px; + --ls-font-family: Inter; + --ls-scrollbar-width: 6px; + --ls-border-radius-low: 4px; + --ls-border-radius-medium: 8px; + --ls-headbar-height: 3rem; + --ls-headbar-inner-top-padding: 0px; + --ls-left-sidebar-width: 246px; + --ls-left-sidebar-sm-width: 74vw; + --ls-left-sidebar-nav-btn-size: 38px; + --ls-native-kb-height: 0px; + --ls-error-color: var(--color-red-500); + --ls-warning-color: var(--color-orange-500); + --ls-success-color: var(--color-green-500); + --ls-highlight-color-default: var(--ls-secondary-background-color); +} + +@media (prefers-color-scheme: dark) { + html { + background-color: #002b36; + } + + html[data-theme='light'] { + background-color: transparent; + } +} + +@supports (font-variation-settings: normal) { + html { + font-family: 'Inter var', sans-serif; + } +} + +.dark-theme, +html[data-theme='dark'] { + --ls-primary-background-color: #002b36; + --ls-secondary-background-color: #023643; + --ls-tertiary-background-color: #08404f; + --ls-quaternary-background-color: #094b5a; + --ls-table-tr-even-background-color: #03333f; + --ls-active-primary-color: #8ec2c2; + --ls-active-secondary-color: #d0e8e8; + --ls-block-properties-background-color: #06323e; + --ls-page-properties-background-color: #02171d; + --ls-block-ref-link-text-color: #1a6376; + --ls-border-color: #0e5263; + --ls-secondary-border-color: #126277; + --ls-tertiary-border-color: rgba(0, 2, 0, 0.10); + --ls-guideline-color: #0b4a5a; + --ls-menu-hover-color: var(--ls-secondary-background-color); + --ls-primary-text-color: #a4b5b6; + --ls-secondary-text-color: #dfdfdf; + --ls-title-text-color: #93a1a1; + --ls-link-text-color: rgb(138, 187, 187); + --ls-link-text-hover-color: var(--ls-active-secondary-color); + --ls-link-ref-text-color: var(--ls-link-text-color); + --ls-link-ref-text-hover-color: var(--ls-link-text-hover-color); + --ls-tag-text-color: var(--ls-link-text-color); + --ls-tag-text-hover-color: var(--ls-link-text-hover-color); + --ls-slide-background-color: var(--ls-primary-background-color); + --ls-block-bullet-border-color: #0f4958; + --ls-block-bullet-color: #608e91; + --ls-block-highlight-color: #0a3d4b; + --ls-selection-background-color: #338fff; + --ls-selection-text-color: #fff; + --ls-page-checkbox-color: #6093a0; + --ls-page-checkbox-border-color: var(--ls-primary-background-color); + --ls-page-blockquote-color: var(--ls-primary-text-color); + --ls-page-blockquote-bg-color: var(--ls-secondary-background-color); + --ls-page-blockquote-border-color: var(--ls-border-color); + --ls-page-mark-color: #262626; + --ls-page-mark-bg-color: #fef3ac; + --ls-page-inline-code-color: var(--ls-primary-text-color); + --ls-page-inline-code-bg-color: #01222a; + --ls-scrollbar-foreground-color: #11505f; + --ls-scrollbar-background-color: rgba(30, 60, 67, 0.1); + --ls-scrollbar-thumb-hover-color: rgba(255, 255, 255, 0.2); + --ls-cloze-text-color: #8fbc8f; + --ls-icon-color: var(--ls-link-text-color); + --ls-search-icon-color: var(--ls-primary-text-color); + --ls-search-icon-hover-color: var(--ls-secondary-text-color); + --ls-a-chosen-bg: var(--ls-quaternary-background-color); + --ls-pie-bg-color: #01303b; + --ls-pie-fg-color: #0b5869; + --ls-highlight-color-gray: var(--color-gray-900); + --ls-highlight-color-red: var(--color-red-900); + --ls-highlight-color-yellow: var(--color-yellow-900); + --ls-highlight-color-green: var(--color-green-900); + --ls-highlight-color-blue: var(--color-blue-900); + --ls-highlight-color-purple: var(--color-purple-900); + --ls-highlight-color-pink: var(--color-pink-900); + --ls-error-text-color: var(--color-red-100); + --ls-error-background-color: var(--color-red-900); + --ls-warning-text-color: var(--color-yellow-100); + --ls-warning-background-color: var(--color-yellow-900); + --ls-success-text-color: var(--color-green-100); + --ls-success-background-color: var(--color-green-900); + --ls-focus-ring-color: rgba(18, 98, 119, 0.5); + --ls-header-button-background: #dee4ea; + --color-level-1: var(--ls-secondary-background-color); + --color-level-2: var(--ls-tertiary-background-color); + --color-level-3: var(--ls-quaternary-background-color); + --color-level-4: #195d6c; + --color-level-5: #266c7d; + --color-level-6: #3a7e8e; +} + +/* You should always use .light-theme for light mode, the .white-theme is just for backword compatibility. + +See: https://github.com/logseq/logseq/pull/4652. */ +.white-theme, +.light-theme, +html[data-theme='light'] { + --ls-primary-background-color: #ffffff; + --ls-secondary-background-color: #f7f7f7; + --ls-tertiary-background-color: #eaeaea; + --ls-quaternary-background-color: #dcdcdc; + --ls-table-tr-even-background-color: var(--ls-secondary-background-color); + --ls-active-primary-color: rgb(0, 105, 182); + --ls-active-secondary-color: #00477c; + --ls-block-properties-background-color: var(--ls-secondary-background-color); + --ls-page-properties-background-color: var(--ls-secondary-background-color); + --ls-block-ref-link-text-color: #d8e1e8; + --ls-border-color: #ccc; + --ls-secondary-border-color: #e2e2e2; + --ls-tertiary-border-color: rgba(200, 200, 200, 0.30); + --ls-guideline-color: rgba(46, 27, 5, 0.08); + --ls-menu-hover-color: var(--ls-a-chosen-bg); + --ls-primary-text-color: #433f38; + --ls-secondary-text-color: #161e2e; + --ls-title-text-color: var(--ls-header-button-background); + --ls-link-text-color: #106ba3; + --ls-link-text-hover-color: #1a537c; + --ls-link-ref-text-color: var(--ls-link-text-color); + --ls-link-ref-text-hover-color: var(--ls-link-text-hover-color); + --ls-tag-text-color: var(--ls-link-ref-text-color); + --ls-tag-text-hover-color: var(--ls-link-ref-text-hover-color); + --ls-slide-background-color: #fff; + --ls-block-bullet-border-color: #dedede; + --ls-block-bullet-color: rgba(67, 63, 56, 0.25); + --ls-block-highlight-color: #c0e6fd; + --ls-selection-background-color: #e4f2ff; + --ls-selection-text-color: var(--ls-secondary-text-color); + --ls-page-checkbox-color: #9dbbd8; + --ls-page-checkbox-border-color: var(--ls-page-checkbox-color); + --ls-page-blockquote-color: var(--ls-primary-text-color); + --ls-page-blockquote-bg-color: #fbfaf8; + --ls-page-blockquote-border-color: #799bbc; + --ls-page-mark-color: #262626; + --ls-page-mark-bg-color: #fef3ac; + --ls-page-inline-code-bg-color: var(--ls-secondary-background-color); + --ls-page-inline-code-color: var(--ls-primary-text-color); + --ls-scrollbar-foreground-color: rgba(0, 0, 0, 0.1); + --ls-scrollbar-background-color: rgba(0, 0, 0, 0.05); + --ls-scrollbar-thumb-hover-color: rgba(0, 0, 0, 0.2); + --ls-cloze-text-color: #0000cd; + --ls-icon-color: #646464; + --ls-search-icon-color: var(--ls-primary-text-color); + --ls-search-icon-hover-color: var(--ls-secondary-text-color); + --ls-a-chosen-bg: var(--ls-quaternary-background-color); + --ls-pie-bg-color: #e1e1e1; + --ls-pie-fg-color: #0a4a5d; + --ls-highlight-color-gray: var(--color-gray-100); + --ls-highlight-color-red: var(--color-red-100); + --ls-highlight-color-yellow: var(--color-yellow-100); + --ls-highlight-color-green: var(--color-green-100); + --ls-highlight-color-blue: var(--color-blue-100); + --ls-highlight-color-purple: var(--color-purple-100); + --ls-highlight-color-pink: var(--color-pink-100); + --ls-error-text-color: var(--color-red-800); + --ls-error-background-color: var(--color-red-100); + --ls-warning-text-color: var(--color-yellow-800); + --ls-warning-background-color: var(--color-yellow-100); + --ls-success-text-color: var(--color-green-800); + --ls-success-background-color: var(--color-green-100); + --ls-focus-ring-color: rgba(66, 133, 244, 0.5); + --ls-header-button-background: rgba(15, 20, 25, 1); + --color-level-1: var(--ls-secondary-background-color); + --color-level-2: var(--ls-tertiary-background-color); + --color-level-3: var(--ls-quaternary-background-color); + --color-level-4: #d0e6fa; + --color-level-5: #bbdaf6; + --color-level-6: #a7cef1; +} + +html:not(.is-native-android) { + font-family: var(--ls-font-family), sans-serif, system-ui, + -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', + Arial, 'Noto Sans', serif, Apple Color Emoji, Segoe UI Emoji, + Segoe UI Symbol !important; +} + +/* region Reset top elements */ +html { + /* FIXME: rewrite revealjs.css ? */ + height: unset !important; +} + +body { + color: #24292e; + line-height: 1.5; + background-color: transparent; + min-height: 100%; + word-break: break-word; /* compatible for overflow-wrap: anywhere */ +} + +svg { + pointer-events: none; +} + +textarea { + overflow: hidden; + padding: 8px; + border: 1px solid rgba(39, 41, 43, 0.15); + border-radius: var(--ls-border-radius-low); + font-size: 1em; + line-height: 1.5; + width: 100%; + resize: none; + outline: none; + font-weight: inherit; + letter-spacing: inherit; + text-size-adjust: 100%; + background: var(--ls-primary-background-color); +} + +.dark-theme textarea { + background: var(--ls-tertiary-background-color); +} + +ul { + list-style: circle; + margin-left: 1.2em; +} + +ol { + list-style: decimal; + margin-left: 1.2em; +} + +p { + line-height: 1.5; + margin: 0.5rem 0; + color: var(--ls-primary-text-color); +} + +li { + margin: 0.25rem 0; +} + +li:first-child { + margin-top: 0; +} + +pre { + background: var(--ls-secondary-background-color, #f6f8fa); + margin: 1rem 0; + line-height: 1.45em; + overflow: auto; +} + +a { + cursor: pointer; + color: var(--ls-link-text-color, #045591); + text-decoration: none; +} + +a:hover { + color: var(--ls-link-text-hover-color, #000); +} + +code { + font-size: 85%; +} + +pre.code { + background: #282a36; + background: var(--ls-secondary-background-color); + color: var(--ls-primary-text-color, #f8f8f2); +} + +dl { + margin: 1rem 0; +} + +dt { + margin-bottom: 0.25rem; + font-weight: bold; +} + +blockquote { + display: block; + text-indent: 0; + padding: 8px 20px; + border-left: 4px solid; + border-left-color: var(--ls-page-blockquote-border-color, #d3d3d3); + background-color: var(--ls-page-blockquote-bg-color, #f7f7f7); + margin: 1rem 0; + color: var(--ls-page-blockquote-color, #24292e); + font-size: 1rem; +} + +input[type=text], input[type=password] { + color: var(--ls-primary-text-color); + background: transparent; + font-size: inherit; +} + +summary { + outline: none; +} + +iframe { + width: 100%; + margin: 1rem 0; +} + +img, +video { + margin-left: auto; + margin-right: auto; +} + +::selection { + background: var(--ls-selection-background-color); + color: var(--ls-primary-text-color); +} + +::-moz-selection { + background: var(--ls-selection-background-color); + color: var(--ls-primary-text-color); +} + +/* endregion */ + +/** region App utilities **/ +.ls-center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +li p:first-child, +.block-body p:first-child { + margin-top: 0; +} + +li p:last-child, +.block-body p:last-child, .block-body ul:last-child, .block-body ol:last-child, .block-body dl:last-child { + margin-bottom: 0; +} + +.bg-base-2 { + background-color: var(--ls-secondary-background-color, #f0f8ff); +} + +.bg-base-3 { + background-color: var(--ls-primary-background-color, #fff); +} + +.bg-base-4 { + background-color: var(--ls-tertiary-background-color); +} + + +.pre-white-space { + white-space: pre; +} + +.pre-wrap-white-space { + white-space: pre-wrap; +} + +.pre-line-white-space { + white-space: pre-line; +} + +.cursor-pointer, +.cursor { + cursor: pointer; +} + +.external-link { + text-decoration: none; + border-bottom: 1px solid; +} + +.noscroll { + position: fixed; + overflow-y: scroll; +} + +.canceled, +.cancelled, +.done { + text-decoration: line-through; + opacity: 0.6; +} + +.opacity-30 { + opacity: 0.3; +} + +.opacity-70 { + opacity: 0.7; +} + +.opacity-80 { + opacity: 0.8; +} + +.done > input { + opacity: 1; +} + +.page-drop-options { + width: 18em; +} + +.fixed-width { + max-width: calc(var(--ls-main-content-max-width) - 30px); +} + +.center, +.foldable-title { + margin: 0 auto; +} + +.translate-x-5 { + --transform-translate-x: 1.25rem; +} + +.done, +.canceled, +.cancelled { + opacity: 0.7; +} + +.tip-shadow { + -webkit-filter: drop-shadow(1px 1px 2px rgba(155, 155, 0, 0.8)); + filter: drop-shadow(1px 1px 2px rgba(155, 155, 0, 0.8)); +} + +.admonition-icon { + border-right: 1px solid; + border-right-color: var(--ls-border-color, #ccc); +} + +i.ti { + /* + compensates the wrong top spacing in the iconfont. + See https://github.com/tabler/tabler-icons/issues/118/ + */ + transform: translateY(-1px); +} + +.dnd-separator { + border-bottom: 3px solid #ccc; +} + +.aspect-ratio-square { + padding-top: 100%; +} + +.aspect-ratio-16\/9 { + padding-top: 56.25%; +} + +.aspect-ratio-4\/3 { + padding-top: 75%; +} + +.aspect-ratio-21\/9 { + padding-top: 42.86%; +} + +.admonitionblock { + margin: 2rem 0; +} + +.abstract { + margin: 2rem 0; + width: 80%; + font-style: italic; +} + +.abstract p:last-of-type::before { + content: ' '; + white-space: pre; +} + +.dropdown-overflow-auto { + max-height: 400px; + overflow-y: auto; +} + +.heading-bg { + border-radius: 50%; + width: 18px; + height: 18px; + + &.remove { + @apply border flex items-center justify-center; + + border-color: var(--border-color); + } +} + +.to-heading-button { + @apply px-1 text-lg !important; +} + +/** endregion **/ + +/* region FIXME: override elements (?) */ +h1.title { + margin-bottom: 1.5rem; + color: var(--ls-title-text-color, #222); + font-size: var(--ls-page-title-size, 36px); + font-weight: 500; +} + +.title .page-icon { + margin-right: 12px; +} + +.block-highlight, +.content .selected { + transition: background-color 0.2s cubic-bezier(0, 1, 0, 1); + background-color: var(--ls-block-highlight-color); + padding: -1px; +} + +span.timestamp { + margin: 0 0.25rem; +} + +span.priority { + color: #6b7280; +} + +.form-checkbox:not(:checked):focus { + box-shadow: none; +} + +.form-checkbox:checked:focus { + box-shadow: none; +} + +a.nav-item:hover, +a.star-page:hover { + background-color: #00242d; +} + +button.menu { + border-right: 1px solid; + border-right-color: var(--ls-secondary-background-color, #f0f8ff); + color: var(--ls-link-text-color, #24292e); +} + +.menu-link:hover, +button.pull:hover, +button.menu:focus { + background-color: var(--ls-menu-hover-color, #f4f5f7); +} + +.menu-links-wrapper, .menu-links-outer { + @apply py-2 rounded-md shadow-lg overflow-y-auto; + + max-height: calc(100vh - 100px) !important; + background-color: var(--ls-primary-background-color, #fff); + min-width: 12rem; +} + +.menu-backdrop { + @apply w-full h-full fixed top-0 left-0; + + z-index: var(--ls-z-index-level-1); +} + +.menu-link { + background-color: var(--ls-primary-background-color, #fff); + color: var(--ls-primary-text-color); + user-select: none; +} + +.menu-separator { + @apply my-1; + + opacity: .5; + border-top-width: 1px; + border-color: var(--ls-border-color, #ccc); +} + +a.login { + color: var(--ls-link-text-color, #444); +} + +a.login:hover { + color: var(--ls-link-text-hover-color, #000); +} + +a.tooltip-priority { + display: contents; + position: absolute; + left: 0; +} + +a.tooltip-priority::after { + content: attr(priority); + margin-right: 10px; +} + +a.chosen { + background: var(--ls-a-chosen-bg); +} + +a.warning, +span.warning, div.warning:not(.admonitionblock), p.warning { + background: var(--ls-warning-background-color); + padding: 0.1em 0.4em; + border-radius: var(--ls-border-radius-low); + color: var(--ls-warning-text-color); +} + +.text-warning { + color: var(--ls-warning-text-color); +} + +.bg-warning { + background: var(--ls-warning-background-color); +} + +a.error, +span.error { + background: var(--ls-error-background-color); + padding: 0.1em 0.4em; + border-radius: var(--ls-border-radius-low); + color: var(--ls-error-text-color); +} + +.text-error { + color: var(--ls-error-text-color); +} + +.bg-error { + background: var(--ls-error-background-color); +} + +.text-success { + color: var(--ls-success-text-color); +} + +.bg-success { + background: var(--ls-success-background-color); +} + + +img.small { + display: inline; + width: 20px; + height: 20px; + margin-top: 0; + margin-bottom: 0; +} + +a.tag { + font-size: 0.9em; + text-align: center; + text-decoration: none; + display: inline-block; + cursor: pointer; + color: var(--ls-tag-text-color, #045591); + opacity: var(--ls-tag-text-opacity, 0.8); +} + +a.tag:hover { + opacity: var(--ls-tag-text-hover-opacity, 1); + color: var(--ls-tag-text-hover-color, #045591); +} + +svg.note { + color: var(--ls-primary-text-color, #19407c); +} + +svg.tip { + color: var(--ls-active-primary-color); +} + +/* endregion */ + +/* region FIXME: CodeMirror override (?) */ +.CodeMirror pre.CodeMirror-line, +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + font-size: 14px; +} + +/* endregion */ + +hr { + margin: 2rem 0; + border-color: var(--ls-border-color, #ccc); +} + +.resize { + resize: both; + overflow: hidden; + max-width: -webkit-fill-available; +} + +/* ideas from https://github.com/PiotrSss/logseq-bujo-theme/blob/main/main.css */ + +/*************************************************************** +***************************** TOP ****************************** +***************************************************************/ + +.cp__header-logo, +.fade-link { + opacity: 0.8; + transition: 0.3s; + color: var(--ls-primary-text-color); +} + +a.fade-link:hover { + opacity: 1; +} + +/* import (arrows) icon */ + +#head .refresh svg { + height: 20px; +} + +.svg-small svg { + transform: scale(0.6); + display: inline; +} + +/* < > buttons */ + +a.navigation { + border-radius: 3px; + transition: 0.3s; +} + +/* text mark/highlight */ + +mark { + background: var(--ls-page-mark-bg-color); + color: var(--ls-page-mark-color); + padding: 2px 4px; + border-radius: 3px; +} + +/* page reference */ + +.page-reference { + border-radius: 3px; + padding: 2px 0px; + transition: 0.3s; +} + +.page-reference .bracket { + opacity: 0.3; +} + +/* block references */ +.block-ref .block-ref { + padding: 6px 5px; + border: none; +} + +/* inline code */ +:not(pre) > code { + border-radius: 3px; + font-size: 0.9em; + font-style: normal; + font-family: MonoLisa, 'Fira Code', Monaco, Menlo, Consolas, 'COURIER NEW', + monospace; + letter-spacing: 0; + background-color: var(--ls-page-inline-code-bg-color, #eee); + color: var(--ls-page-inline-code-color); + word-spacing: -0.15em; + text-rendering: optimizeSpeed; +} + +:not(pre):not(mark) > code { + line-height: 1.45; + padding: 3px 5px !important; + border-radius: var(--ls-border-radius-low); + -webkit-border-radius: var(--ls-border-radius-low); +} + +mark > code { + padding: 0; + line-height: inherit !important; + background: #fef3ac !important; + color: #262626 !important; +} + +b > code { + font-weight: bold !important; +} + +i > code { + font-style: italic !important; +} + +a { + transition: 0.3s; +} + +a.tooltip-priority { + transition: none; +} + +.page-reference:hover { + background: var(--ls-secondary-background-color); +} + +.references-blocks .page-reference:hover { + background: var(--ls-tertiary-background-color); +} + +#head .fade-link { + font-weight: 600; + font-size: 13px; +} + +/* excalidraw */ +.Island > div > div > div { + width: 44px; +} + +.excalidraw hr { + margin: 0; +} + +.text-link { + color: var(--ls-primary-text-color); +} + +.katex * { + border-color: var(--ls-primary-text-color); +} + +#help-latex .katex-html { + text-align: right; +} + +a.page-op svg { + transform: scale(0.9); +} + +.search-more { + background: var(--ls-a-chosen-bg); +} + +.keyboard-shortcut > code { + margin: 2px; + background-color: var(--ls-quaternary-background-color); + padding: 2px 4px !important; + border-radius: 6px; + color: var(--ls-secondary-text-color); +} + +html[data-theme='light'] .keyboard-shortcut > code { + box-shadow: inset 0 -1px 0 #433f3855, 0 0 1px 1px #433f3822; +} + +html[data-theme='dark'] .keyboard-shortcut > code { + box-shadow: inset 0 -1px 0 var(--ls-primary-background-color), 0 0 1px 1px rgba(255, 255, 255,.2); +} + +.ui__modal-panel { + border-radius: 8px; +} + +.overflow-y-scroll { + overflow-y: scroll; +} + +.text-ellipsis-wrapper { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.lazy-visibility { + min-width: 1px; + min-height: 1px; +} + +.katex .tag { + overflow-x: clip; +} + +html.is-mobile { + h1.title { + margin-bottom: 10px; + } + + #journals .journal-item:first-child { + margin-top: 5px; + } +} \ No newline at end of file diff --git a/static/css/custom.css b/static/css/custom.css new file mode 100755 index 0000000..e69de29 diff --git a/static/css/datepicker.css b/static/css/datepicker.css new file mode 100755 index 0000000..8ff530c --- /dev/null +++ b/static/css/datepicker.css @@ -0,0 +1,230 @@ +/*---------------------------------------------------------------------------------------- + Stylesheet for re-com.date Date Picker variants inline-picker & dropdown-picker + Day8 variation loosely based on: + Copyright 2013 Dan Grossman ( http://www.dangrossman.info ) + Licensed under the Apache License v2.0 + http://www.apache.org/licenses/LICENSE-2.0 + Built for http://www.improvely.com + http://eternicode.github.io/bootstrap-datepicker + + START OF DATE PICKER SECTION... +----------------------------------------------------------------------------------------*/ +.noselect { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.datepicker.single .calendar { + float: none; +} + +.datepicker .calendar { + display: none; + max-width: 200px; +} + +.datepicker .calendar.single .calendar-date { + border: none; +} + +.datepicker .calendar th, .datepicker .calendar td { + white-space: nowrap; + text-align: center; + min-width: 32px; +} + +.datepicker .calendar-date { + border: 1px solid #ddd; + padding: 4px; + border-radius: 4px; + /* background: #fff; */ +} + +.datepicker .calendar-time { + text-align: center; + margin: 8px auto 0 auto; + line-height: 30px; +} + +.datepicker { + position: absolute; + top: 100px; + left: 20px; + padding: 10px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + line-height: 16px; + border-radius: 4px; + background: #efefef; +} + +.datepicker table { + width: 100%; + margin: 0; + border-collapse: separate; + border-spacing: 0; + background: transparent; + border: none; +} + +.datepicker td, .datepicker th { + text-align: center; + width: 27px; + height: 26px; + max-width: 27px; + max-height: 26px; + min-width: 27px; + min-height: 26px; + padding: 4px; + cursor: default; + white-space: nowrap; + font-weight: normal; +} + +.datepicker td.off { + padding: 4px; + color: #999; +} + +.datepicker td.disabled { + color: #999; +} + +.datepicker th.disabled { + color: #999; +} + +.datepicker td.available:hover, .datepicker th.available:hover { + background: #357ebd; + cursor: pointer; + color: #FFF; + border-radius: 4px; +} + +.datepicker td.in-range { + background: #ebf4f8; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.datepicker td.start-date { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.datepicker td.end-date { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.datepicker td.start-date.end-date { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.datepicker td.active, .datepicker td.active:hover { + background-color: #357ebd; + border-color: #3071a9; + color: #fff; +} + +/* Introduced by Day8 from http://eternicode.github.io/bootstrap-datepicker */ +.datepicker td.today, .datepicker td.today:hover { + background-color: #ffcd70; + border-color: #f59e00; + border-radius: 18px; + color: #fff; +} + +.datepicker th.day-enabled, label.day-enabled { + font-weight: normal; + font-size: 10px; + color: #333; +} + +.datepicker th.selectable { + font-weight: normal; + color: #357ebd; +} + +.datepicker th.day-disabled { + font-weight: normal; + font-size: 10px; + color: #999; +} + +.datepicker td.week, .datepicker th.week { + font-size: 80%; + color: #ccc; +} + +.datepicker th.month { + width: auto; + font-size: 14px; + color: var(--ls-title-text-color); +} + +.dropdown-button { + cursor: pointer; + height: 32px; + font-size: 13px; + font-weight: normal; +} + +.dropdown-button.activator { + width: 40px; + color: #777; + /* background-color: #F7F7F7 */ +} + +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} + +.dark-theme .datepicker { + background: var(--ls-secondary-background-color); +} + +.dark-theme .datepicker th.day-disabled, .dark-theme .datepicker th.disabled, .dark-theme .datepicker td.disabled, .dark-theme .datepicker td.off { + color: #666; +} + +.dark-theme .datepicker th.day-enabled, .dark-theme label.day-enabled { + color: currentColor; +} + +.dark-theme .datepicker td.active, .dark-theme .datepicker td.active:hover { + background-color: var(--ls-block-properties-background-color); + border-color: var(--ls-block-properties-background-color); +} + +.dark-theme .datepicker th.selectable { + color: var(--ls-primary-text-color); +} + +.dark-theme .datepicker td.available:hover, .dark-theme .datepicker th.available:hover { + background: var(--ls-block-properties-background-color); +} + +.datepicker tr:nth-child(odd), .datepicker tr:nth-child(even), .dark-theme .datepicker tr:nth-child(odd), .dark-theme .datepicker tr:nth-child(even) { + background: transparent; +} + +.datepicker th, .datepicker tr, .datepicker td, .dark-theme .datepicker th, .dark-theme .datepicker tr, .dark-theme .datepicker td { + border-bottom: none; +} +/*---------------------------------------------------------------------------------------- + END OF DATE PICKER SECTION... +----------------------------------------------------------------------------------------*/ diff --git a/static/css/excalidraw.min.css b/static/css/excalidraw.min.css new file mode 100755 index 0000000..b957d0f --- /dev/null +++ b/static/css/excalidraw.min.css @@ -0,0 +1,2 @@ +.excalidraw .Dialog{-webkit-user-select:text;user-select:text;cursor:auto}.excalidraw .Dialog__title{display:grid;align-items:center;margin-top:0;grid-template-columns:1fr calc(var(--space-factor)*7);grid-gap:var(--metric);padding:calc(var(--space-factor)*2);text-align:center;font-feature-settings:"smcp";font-variant:small-caps;font-size:1.2em}.excalidraw .Dialog__titleContent{flex:1 1}.excalidraw .Dialog .Modal__close{color:var(--icon-fill-color);margin:0}.excalidraw .Dialog__content{padding:0 16px 16px}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .Dialog{--metric:calc(var(--space-factor)*4);--inset-left:max(var(--metric),var(--sal));--inset-right:max(var(--metric),var(--sar))}.excalidraw .Dialog__title{grid-template-columns:calc(var(--space-factor)*7) 1fr calc(var(--space-factor)*7);position:-webkit-sticky;position:sticky;top:0;padding:calc(var(--space-factor)*2);background:var(--island-bg-color);font-size:1.25em;box-sizing:border-box;border-bottom:1px solid var(--button-gray-2);z-index:1}.excalidraw .Dialog__titleContent{text-align:center}.excalidraw .Dialog .Island{width:100vw;height:100%;box-sizing:border-box;overflow-y:auto;padding-left:max(calc(var(--padding)*var(--space-factor)),var(--sal));padding-right:max(calc(var(--padding)*var(--space-factor)),var(--sar));padding-bottom:max(calc(var(--padding)*var(--space-factor)),var(--sab))}.excalidraw .Dialog .Modal__close{order:-1}}.excalidraw .Island{--padding:0;background-color:var(--island-bg-color);-webkit-backdrop-filter:saturate(100%) blur(10px);backdrop-filter:saturate(100%) blur(10px);box-shadow:var(--shadow-island);border-radius:4px;padding:calc(var(--padding)*var(--space-factor));position:relative;transition:box-shadow .5s ease-in-out}.excalidraw .Island.zen-mode{box-shadow:none}.excalidraw.excalidraw-modal-container{position:absolute;z-index:10}.excalidraw .Modal{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:calc(var(--space-factor)*10)}.excalidraw .Modal__background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background-color:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.excalidraw .Modal__content{z-index:2;width:100%;max-width:var(--max-width);max-height:100%;opacity:0;transform:translateY(10px);animation:Modal__content_fade-in .1s ease-out .05s forwards;position:relative;overflow-y:auto;background:var(--island-bg-color);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--dialog-border-color);box-shadow:0 2px 10px rgba(0,0,0,.25);border-radius:6px}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .Modal__content{max-width:100%;border:0;border-radius:0}}@keyframes Modal__content_fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.excalidraw .Modal__close{width:calc(var(--space-factor)*7);height:calc(var(--space-factor)*7);display:flex;align-items:center;justify-content:center}.excalidraw .Modal__close svg{height:calc(var(--space-factor)*5)}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .Modal{padding:0}.excalidraw .Modal__content{position:absolute;top:0;left:0;right:0;bottom:0}}.excalidraw .ToolIcon{display:inline-flex;position:relative;font-family:Cascadia;cursor:pointer;background-color:var(--button-gray-1);-webkit-tap-highlight-color:transparent}.excalidraw .ToolIcon,.excalidraw .ToolIcon__icon{align-items:center;border-radius:var(--space-factor)}.excalidraw .ToolIcon__icon{width:2.5rem;height:2.5rem;color:var(--icon-fill-color);display:flex;justify-content:center}.excalidraw .ToolIcon__icon svg{position:relative;height:1em;fill:var(--icon-fill-color);color:var(--icon-fill-color)}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__label{color:var(--icon-fill-color);font-family:var(--ui-font);margin:0 .8em;text-overflow:ellipsis}.excalidraw .ToolIcon_size_s .ToolIcon__icon{width:1.4rem;height:1.4rem;font-size:.8em}.excalidraw .excalidraw .ToolIcon_type_button,.excalidraw .Modal .ToolIcon_type_button,.excalidraw .ToolIcon_type_button{padding:0;border:none;margin:0;font-size:inherit}.excalidraw .excalidraw .ToolIcon_type_button:hover,.excalidraw .Modal .ToolIcon_type_button:hover,.excalidraw .ToolIcon_type_button:hover{background-color:var(--button-gray-1)}.excalidraw .excalidraw .ToolIcon_type_button:active,.excalidraw .Modal .ToolIcon_type_button:active,.excalidraw .ToolIcon_type_button:active{background-color:var(--button-gray-2)}.excalidraw .excalidraw .ToolIcon_type_button:focus,.excalidraw .Modal .ToolIcon_type_button:focus,.excalidraw .ToolIcon_type_button:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected,.excalidraw .ToolIcon_type_button.ToolIcon--selected{background-color:var(--button-gray-2)}.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .ToolIcon_type_button.ToolIcon--selected:active{background-color:var(--button-gray-3)}.excalidraw .excalidraw .ToolIcon_type_button--show,.excalidraw .Modal .ToolIcon_type_button--show,.excalidraw .ToolIcon_type_button--show{visibility:visible}.excalidraw .excalidraw .ToolIcon_type_button--hide,.excalidraw .Modal .ToolIcon_type_button--hide,.excalidraw .ToolIcon_type_button--hide{visibility:hidden}.excalidraw .ToolIcon_type_checkbox,.excalidraw .ToolIcon_type_radio{position:absolute;opacity:0;pointer-events:none}.excalidraw .ToolIcon_type_checkbox:not(.ToolIcon_toggle_opaque):checked+.ToolIcon__icon,.excalidraw .ToolIcon_type_radio:not(.ToolIcon_toggle_opaque):checked+.ToolIcon__icon{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_checkbox:focus+.ToolIcon__icon,.excalidraw .ToolIcon_type_radio:focus+.ToolIcon__icon{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon_type_checkbox:active+.ToolIcon__icon,.excalidraw .ToolIcon_type_radio:active+.ToolIcon__icon{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_floating,.excalidraw .ToolIcon_type_floating:active,.excalidraw .ToolIcon_type_floating:hover{background-color:initial}.excalidraw .ToolIcon_type_floating:focus{box-shadow:none}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{width:2rem;height:2em}.excalidraw .ToolIcon.ToolIcon__lock.ToolIcon_type_floating{margin-left:.1rem}.excalidraw .ToolIcon__keybinding{position:absolute;bottom:2px;right:3px;font-size:.5em;color:var(--keybinding-color);font-family:var(--ui-font);-webkit-user-select:none;user-select:none}@media(max-width:425px){.excalidraw .Shape .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .Shape .ToolIcon__icon svg{height:.8em}}@media(max-width:760px){.excalidraw .ToolIcon.ToolIcon__lock{display:inline-block;position:absolute;top:60px;right:-8px;margin-left:0;border-radius:20px 0 0 20px;z-index:1}.excalidraw .ToolIcon.ToolIcon__lock,.excalidraw .ToolIcon.ToolIcon__lock:hover{background-color:var(--button-gray-1)}.excalidraw .ToolIcon.ToolIcon__lock:active{background-color:var(--button-gray-2)}.excalidraw .ToolIcon.ToolIcon__lock .ToolIcon__icon{border-radius:inherit}.excalidraw .ToolIcon.ToolIcon__lock svg{position:static}}.excalidraw .TooltipIcon{width:.9em;height:.9em;margin-left:5px;margin-top:1px}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .TooltipIcon{display:none}}:root[dir=ltr] .excalidraw .unlocked-icon{left:2px}:root[dir=rtl] .excalidraw .unlocked-icon{right:2px}.excalidraw .popover{position:fixed;z-index:10}.excalidraw .color-picker{background:var(--popup-bg-color);border:0 solid hsla(0,0%,100%,.25);box-shadow:0 1px 4px rgba(0,0,0,.25);border-radius:4px;position:absolute}:root[dir=ltr] .excalidraw .color-picker{left:-5.5px}:root[dir=rtl] .excalidraw .color-picker{right:-5.5px}.excalidraw .color-picker-control-container{display:grid;grid-template-columns:auto 1fr;align-items:center}.excalidraw .color-picker-triangle{width:0;height:0;border-left:9px solid transparent;border-bottom:10px solid var(--popup-bg-color);border-right:9px solid transparent;border-top:0 solid transparent;position:absolute;top:-10px}:root[dir=ltr] .excalidraw .color-picker-triangle{left:12px}:root[dir=rtl] .excalidraw .color-picker-triangle{right:12px}.excalidraw .color-picker-triangle-shadow{border-color:transparent transparent rgba(0,0,0,.1);top:-11px}.excalidraw .color-picker-content{padding:.5rem;display:grid;grid-template-columns:repeat(5,auto);grid-gap:.5rem;border-radius:4px}.excalidraw .color-picker-content:focus{outline:none;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .color-picker-content .color-input-container{grid-column:1/span 5}.excalidraw .color-picker-swatch{position:relative;height:1.875rem;width:1.875rem;cursor:pointer;border-radius:4px;margin:0;box-sizing:border-box;border:1px solid #ddd;background-color:currentColor!important;filter:var(--appearance-filter)}.excalidraw .color-picker-swatch:focus{box-shadow:0 0 4px 1px currentColor;border-color:var(--select-highlight-color)}.excalidraw .color-picker-transparent{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);position:absolute;top:0;right:0;bottom:0;left:0}.excalidraw .color-picker-label-swatch,.excalidraw .color-picker-transparent{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==") 0}.excalidraw .color-picker-hash{background:var(--input-border-color);height:1.875rem;width:1.875rem;color:var(--input-label-color);display:flex;align-items:center;justify-content:center;position:relative}:root[dir=ltr] .excalidraw .color-picker-hash{border-radius:4px 0 0 4px}:root[dir=rtl] .excalidraw .color-picker-hash{border-radius:0 4px 4px 0}.excalidraw .color-input-container:focus-within .color-picker-hash{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .color-input-container:focus-within .color-picker-hash:after,.excalidraw .color-input-container:focus-within .color-picker-hash:before{content:"";width:1px;height:100%;position:absolute;top:0}.excalidraw .color-input-container:focus-within .color-picker-hash:before{background:var(--input-border-color)}:root[dir=ltr] .excalidraw .color-input-container:focus-within .color-picker-hash:before{right:-1px}:root[dir=rtl] .excalidraw .color-input-container:focus-within .color-picker-hash:before{left:-1px}.excalidraw .color-input-container:focus-within .color-picker-hash:after{background:var(--input-bg-color)}:root[dir=ltr] .excalidraw .color-input-container:focus-within .color-picker-hash:after{right:-2px}:root[dir=rtl] .excalidraw .color-input-container:focus-within .color-picker-hash:after{left:-2px}.excalidraw .color-input-container{display:flex}.excalidraw .color-picker-input{width:12ch;margin:0;font-size:1rem;background-color:var(--input-bg-color);color:var(--text-primary-color);border:0;outline:none;height:1.75em;box-shadow:var(--input-border-color) 0 0 0 1px inset;float:left;padding:1px;padding-inline-start:.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none}:root[dir=ltr] .excalidraw .color-picker-input{border-radius:0 4px 4px 0}:root[dir=rtl] .excalidraw .color-picker-input{border-radius:4px 0 0 4px}.excalidraw .color-picker-label-swatch{height:1.875rem;width:1.875rem;margin-inline-end:.25rem;border:1px solid #dee2e6;position:relative;overflow:hidden;background-color:initial!important;filter:var(--appearance-filter)}.excalidraw .color-picker-label-swatch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--swatch-color)}.excalidraw .color-picker-keybinding{position:absolute;bottom:2px;font-size:.7em}:root[dir=ltr] .excalidraw .color-picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .color-picker-keybinding{left:2px}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .color-picker-keybinding{display:none}}.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementBackground .color-picker-keybinding{color:#fff}.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementStroke .color-picker-keybinding{color:#d4d4d4}.excalidraw.Appearance_dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding,.excalidraw.Appearance_dark .color-picker-type-elementBackground .color-picker-keybinding{color:#000}.excalidraw .picker-container{display:inline-block;box-sizing:border-box;margin-right:.25rem}.excalidraw .picker{background:var(--popup-bg-color);border:0 solid hsla(0,0%,100%,.25);box-shadow:0 1px 4px rgba(0,0,0,.25);border-radius:4px;position:absolute}.excalidraw .picker-container button,.excalidraw .picker button{position:relative;display:flex;align-items:center;justify-content:center}.excalidraw .picker-container button:focus,.excalidraw .picker button:focus{outline:transparent;background-color:var(--button-gray-2)}.excalidraw .picker-container button:focus svg,.excalidraw .picker button:focus svg{opacity:1}.excalidraw .picker-container button:hover,.excalidraw .picker button:hover{background-color:var(--button-gray-2)}.excalidraw .picker-container button:active,.excalidraw .picker button:active{background-color:var(--button-gray-3)}.excalidraw .picker-container button:disabled,.excalidraw .picker button:disabled{cursor:not-allowed}.excalidraw .picker-container button svg,.excalidraw .picker button svg{margin:0;width:36px;height:18px;opacity:.6;pointer-events:none}.excalidraw .picker button{padding:.25rem .28rem .35rem .25rem}.excalidraw .picker-triangle{width:0;height:0;position:relative;top:-10px;z-index:10}:root[dir=ltr] .excalidraw .picker-triangle{left:12px}:root[dir=rtl] .excalidraw .picker-triangle{right:12px}.excalidraw .picker-triangle:before{content:"";position:absolute;border-color:transparent transparent rgba(0,0,0,.1);border-style:solid;border-width:0 9px 10px;top:-1px}.excalidraw .picker-triangle:after{content:"";position:absolute;border-left:9px solid transparent;border-bottom:10px solid var(--popup-bg-color);border-right:9px solid transparent;border-top:0 solid transparent}.excalidraw .picker-content{padding:.5rem;display:grid;grid-auto-flow:column;grid-gap:.5rem;border-radius:4px}:root[dir=rtl] .excalidraw .picker-content{padding:.4rem}.excalidraw .picker-keybinding{position:absolute;bottom:2px;font-size:.7em;color:var(--keybinding-color)}:root[dir=ltr] .excalidraw .picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .picker-keybinding{left:2px}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .picker-keybinding{display:none}}.excalidraw .picker-type-canvasBackground .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementBackground .picker-keybinding{color:#fff}.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementStroke .picker-keybinding{color:#d4d4d4}.excalidraw.Appearance_dark .picker-swatch[aria-label=transparent] .picker-keybinding,.excalidraw.Appearance_dark .picker-type-elementBackground .picker-keybinding{color:#000}.excalidraw .TextInput{color:var(--text-primary-color);display:inline-block;border:1.5px solid var(--button-gray-1);line-height:1;padding:.75rem;white-space:nowrap;border-radius:var(--space-factor);background-color:var(--input-bg-color)}.excalidraw .TextInput:not(:focus):hover{background-color:var(--input-hover-bg-color)}.excalidraw .TextInput:focus{outline:none;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .Tooltip{position:relative}.excalidraw .Tooltip__label{--arrow-size:4px;visibility:hidden;background:#000;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:10;font-size:13px;line-height:1.5;font-weight:500;left:calc(50% + var(--arrow-size)/2 - 1px);transform:translateX(-50%);word-wrap:break-word}.excalidraw .Tooltip__label:after{content:"";border:var(--arrow-size) solid transparent;position:absolute;left:calc(50% - var(--arrow-size))}.excalidraw .Tooltip__label--above{bottom:calc(100% + var(--arrow-size) + 3px)}.excalidraw .Tooltip__label--above:after{border-top-color:#000;top:100%}.excalidraw .Tooltip__label--below{top:calc(100% + var(--arrow-size) + 3px)}.excalidraw .Tooltip__label--below:after{border-bottom-color:#000;bottom:100%}.excalidraw .Tooltip:hover .Tooltip__label,.excalidraw .Tooltip__label:hover{visibility:visible}.excalidraw .Avatar{width:2.5rem;height:2.5rem;border-radius:1.25rem;display:flex;justify-content:center;align-items:center;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500}.excalidraw .context-menu{position:relative;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,.2);list-style:none;-webkit-user-select:none;user-select:none;margin:-.25rem 0 0 .125rem;padding:.5rem 0;background-color:var(--popup-secondary-bg-color);border:1px solid var(--button-gray-3);cursor:default}.excalidraw .context-menu button{color:var(--popup-text-color)}.excalidraw .context-menu-option{position:relative;width:100%;min-width:9.5rem;margin:0;padding:.25rem 1rem .25rem 1.25rem;text-align:start;border-radius:0;background-color:initial;border:none;white-space:nowrap;display:grid;grid-template-columns:1fr .2fr;align-items:center}.excalidraw .context-menu-option.checkmark:before{position:absolute;left:6px;margin-bottom:1px;content:"✓"}.excalidraw .context-menu-option.dangerous .context-menu-option__label{color:#f03e3e}.excalidraw .context-menu-option .context-menu-option__label{justify-self:start;margin-inline-end:20px}.excalidraw .context-menu-option .context-menu-option__shortcut{justify-self:end;opacity:.6;font-family:inherit;font-size:.7rem}.excalidraw .context-menu-option:hover{color:var(--popup-bg-color);background-color:var(--select-highlight-color)}.excalidraw .context-menu-option:hover.dangerous{background-color:#fa5252}.excalidraw .context-menu-option:hover.dangerous .context-menu-option__label{color:var(--popup-bg-color)}.excalidraw .context-menu-option:focus{z-index:1}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .context-menu-option{display:block}.excalidraw .context-menu-option .context-menu-option__label{margin-inline-end:0}.excalidraw .context-menu-option .context-menu-option__shortcut{display:none}}.excalidraw .context-menu-option-separator{border:none;border-top:1px solid #adb5bd}.excalidraw .Stack{--gap:0;display:grid;grid-gap:calc(var(--space-factor)*var(--gap));gap:calc(var(--space-factor)*var(--gap))}.excalidraw .Stack_vertical{grid-template-columns:auto;grid-auto-flow:row;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content}.excalidraw .Stack_horizontal{grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content}.excalidraw .CollabButton.is-collaborating{background-color:var(--button-special-active-bg-color)}.excalidraw .CollabButton.is-collaborating .ToolIcon__icon svg,.excalidraw .CollabButton.is-collaborating .ToolIcon__label{color:var(--icon-green-fill-color)}.excalidraw .CollabButton-collaborators{min-width:1em;position:absolute;bottom:-5px;padding:3px;border-radius:50%;background-color:#40c057;color:#fff;font-size:.7em;font-family:var(--ui-font)}:root[dir=ltr] .excalidraw .CollabButton-collaborators{right:-5px}:root[dir=rtl] .excalidraw .CollabButton-collaborators{left:-5px}.excalidraw .ExportDialog__preview{--preview-padding:calc(var(--space-factor)*4);background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==") 0;text-align:center;padding:var(--preview-padding);margin-bottom:calc(var(--space-factor)*3)}.excalidraw .ExportDialog__preview canvas{max-width:calc(100% - var(--preview-padding)*2);max-height:25rem}.excalidraw.Appearance_dark .ExportDialog__preview canvas{filter:none}.excalidraw .ExportDialog__actions{width:100%;display:flex;grid-gap:calc(var(--space-factor)*2);align-items:top;justify-content:space-between}.excalidraw .ExportDialog__name{grid-column:project-name;margin:auto}.excalidraw .ExportDialog__name .TextInput{height:calc(1rem - 3px)}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .ExportDialog{display:flex;flex-direction:column}.excalidraw .ExportDialog__actions{flex-direction:column;align-items:center}.excalidraw .ExportDialog__actions>*{margin-bottom:calc(var(--space-factor)*3)}.excalidraw .ExportDialog__preview canvas{max-height:30vh}.excalidraw .ExportDialog__dialog,.excalidraw .ExportDialog__dialog .Island{height:100%;box-sizing:border-box}.excalidraw .ExportDialog__dialog .Island{overflow-y:auto}}.excalidraw .FixedSideContainer{--margin:0.25rem;position:absolute;pointer-events:none}.excalidraw .FixedSideContainer>*{pointer-events:all}.excalidraw .FixedSideContainer_side_top{left:var(--margin);top:var(--margin);right:var(--margin);z-index:2}.excalidraw .FixedSideContainer_side_top.zen-mode{right:42px}.excalidraw .HintViewer{pointer-events:none;box-sizing:border-box;position:absolute;display:flex;justify-content:center;left:0;top:100%;max-width:100%;width:100%;margin-top:6px;text-align:center;color:#868e96;font-size:.8rem}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .HintViewer{position:static;padding-right:2em}}.excalidraw .HintViewer>span{padding:.2rem .4rem;background-color:var(--overlay-bg-color);border-radius:4px}.excalidraw .layer-ui__library{margin:auto;display:flex;align-items:center;justify-content:center}.excalidraw .layer-ui__library .layer-ui__library-header{display:flex;align-items:center;width:100%;margin:2px 0}.excalidraw .layer-ui__library .layer-ui__library-header button{margin:0 2px}.excalidraw .layer-ui__library .layer-ui__library-header a{margin-inline-start:auto;padding-inline-end:18px;white-space:nowrap}.excalidraw .layer-ui__library-message{padding:10px 20px;max-width:200px}.excalidraw .layer-ui__library-items{max-height:50vh;overflow:auto}.excalidraw .layer-ui__wrapper{z-index:var(--zIndex-layerUI)}.excalidraw .layer-ui__wrapper .encrypted-icon{position:relative;margin-inline-start:15px;display:flex;justify-content:center;align-items:center;border-radius:var(--space-factor);color:#2b8a3e}.excalidraw .layer-ui__wrapper .encrypted-icon svg{width:1.2rem;height:1.2rem}.excalidraw .layer-ui__wrapper__github-corner{top:0;position:absolute;width:40px}:root[dir=ltr] .excalidraw .layer-ui__wrapper__github-corner{right:0}:root[dir=rtl] .excalidraw .layer-ui__wrapper__github-corner{left:0}.excalidraw .layer-ui__wrapper__footer{position:absolute;z-index:100;bottom:0;width:190px}:root[dir=ltr] .excalidraw .layer-ui__wrapper__footer{right:0}:root[dir=rtl] .excalidraw .layer-ui__wrapper__footer{left:0}.excalidraw .layer-ui__wrapper .zen-mode-transition{transition:transform .5s ease-in-out}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(-999px)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right,:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(-999px)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.App-menu_bottom--transition-left{transform:translate(-92px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.App-menu_bottom--transition-left{transform:translate(92px)}.excalidraw .layer-ui__wrapper .disable-zen-mode{height:30px;position:absolute;bottom:10px;font-size:10px;padding:10px;font-weight:500;opacity:0;visibility:hidden;transition:visibility 0s linear 0s,opacity .5s}[dir=ltr] .excalidraw .layer-ui__wrapper .disable-zen-mode{right:15px}[dir=rtl] .excalidraw .layer-ui__wrapper .disable-zen-mode{left:15px}.excalidraw .layer-ui__wrapper .disable-zen-mode--visible{opacity:1;visibility:visible;transition:visibility 0s linear .3s,opacity .5s;transition-delay:.8s}.excalidraw .library-unit{align-items:center;border:1px solid var(--button-gray-2);display:flex;justify-content:center;position:relative;width:63px;height:63px}.excalidraw .library-unit__dragger{display:flex;height:100%;width:100%}.excalidraw .library-unit__dragger>svg{filter:var(--appearance-filter);flex-grow:1;max-height:100%;max-width:100%}.excalidraw .library-unit__removeFromLibrary,.excalidraw .library-unit__removeFromLibrary:active,.excalidraw .library-unit__removeFromLibrary:hover{align-items:center;background:none;border:none;color:var(--icon-fill-color);display:flex;justify-content:center;margin:0;padding:0;position:absolute;right:5px;top:5px}.excalidraw .library-unit__removeFromLibrary>svg{height:16px;width:16px}.excalidraw .library-unit__pulse{transform:scale(1);animation:library-unit__pulse-animation 1s ease-in infinite}.excalidraw .library-unit__adder{position:absolute;left:50%;top:50%;width:20px;height:20px;margin-left:-10px;margin-top:-10px;pointer-events:none}.excalidraw .library-unit__active{cursor:pointer}@keyframes library-unit__pulse-animation{0%{transform:scale(.95)}50%{transform:scale(1)}to{transform:scale(.95)}}.excalidraw .UserList{pointer-events:none;padding:var(--space-factor) 40px var(--space-factor) var(--space-factor);display:flex;flex-wrap:wrap;justify-content:flex-end}.excalidraw .UserList>*{pointer-events:all;margin:0 0 var(--space-factor) var(--space-factor)}.excalidraw .UserList_mobile{padding:0;justify-content:normal}.excalidraw .UserList_mobile>*{margin:0 var(--space-factor) var(--space-factor) 0}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .PasteChartDialog .Island{display:flex;flex-direction:column}}.excalidraw .PasteChartDialog .container{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .PasteChartDialog .container{flex-direction:column;justify-content:center}}.excalidraw .PasteChartDialog .ChartPreview{margin:8px;text-align:center;width:192px;height:128px;border-radius:2px;padding:1px;border:1px solid #ced4da;display:flex;align-items:center;justify-content:center;background:transparent}.excalidraw .PasteChartDialog .ChartPreview div{display:inline-block}.excalidraw .PasteChartDialog .ChartPreview svg{max-height:120px;max-width:186px}.excalidraw .PasteChartDialog .ChartPreview:hover{padding:0;border:2px solid #339af0}.excalidraw .HelpDialog h3{border-bottom:1px solid var(--button-gray-2);padding-bottom:4px}.excalidraw .HelpDialog--island{border:1px solid var(--button-gray-2);margin-bottom:16px}.excalidraw .HelpDialog--island-title{margin:0;padding:4px;background-color:var(--button-gray-1);text-align:center}.excalidraw .HelpDialog--shortcut{border-top:1px solid var(--button-gray-2)}.excalidraw .HelpDialog--key{word-break:keep-all;border:1px solid var(--button-gray-2);padding:2px 8px;margin:auto 4px;background-color:var(--button-gray-1);border-radius:2px;font-size:.8em;min-height:26px;box-sizing:border-box;display:flex;align-items:center;font-family:inherit}.excalidraw .HelpDialog--header{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:32px;padding-bottom:16px}.excalidraw .HelpDialog--btn{border:1px solid var(--link-color);padding:8px 32px;border-radius:4px}.excalidraw .HelpDialog--btn:hover{text-decoration:none}.excalidraw .Stats{position:absolute;top:64px;right:12px;font-size:12px;z-index:999}.excalidraw .Stats h3{margin:0 24px 8px 0;white-space:nowrap}.excalidraw .Stats .close{float:right;height:16px;width:16px;cursor:pointer}.excalidraw .Stats .close svg{width:100%;height:100%}.excalidraw .Stats table{width:100%}.excalidraw .Stats table th{border-bottom:1px solid var(--input-border-color);padding:4px}.excalidraw .Stats table tr td:nth-child(2){min-width:24px;text-align:right}:root[dir=rtl] .excalidraw .Stats{left:12px;right:auto}:root[dir=rtl] .excalidraw .Stats h3{margin:0 0 8px 24px}:root[dir=rtl] .excalidraw .Stats .close{float:left}.excalidraw .Toast{animation:fade-in .5s;background-color:var(--button-gray-1);border-radius:4px;bottom:10px;box-sizing:border-box;cursor:default;left:50%;margin-left:-150px;padding:4px 0;position:absolute;text-align:center;width:300px;z-index:999999}.excalidraw .Toast__message{color:var(--popup-text-color);white-space:pre-wrap}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.LoadingMessage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;pointer-events:none}.LoadingMessage span{background-color:var(--button-gray-1);border-radius:5px;padding:.8em 1.2em;color:var(--popup-text-color);font-size:1.3em}.excalidraw{--appearance-filter:none;--button-destructive-bg-color:#ffe3e3;--button-destructive-color:#c92a2a;--button-gray-1:#e9ecef;--button-gray-2:#ced4da;--button-gray-3:#adb5bd;--button-special-active-bg-color:#ebfbee;--dialog-border-color:#868e96;--dropdown-icon:url('data:image/svg+xml;charset=utf-8,');--focus-highlight-color:#a5d8ff;--icon-fill-color:#000;--icon-green-fill-color:#2b8a3e;--input-bg-color:#fff;--input-border-color:#dee2e6;--input-hover-bg-color:#f1f3f5;--input-label-color:#495057;--island-bg-color:hsla(0,0%,100%,0.9);--keybinding-color:#adb5bd;--link-color:#1c7ed6;--overlay-bg-color:hsla(0,0%,100%,0.88);--popup-bg-color:#fff;--popup-secondary-bg-color:#f1f3f5;--popup-text-color:#000;--popup-text-inverted-color:#fff;--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);--sat:env(safe-area-inset-top);--select-highlight-color:#339af0;--shadow-island:0 1px 5px rgba(0,0,0,0.15);--space-factor:0.25rem;--text-primary-color:#343a40}.excalidraw.Appearance_dark{background:#000}.excalidraw.Appearance_dark.Appearance_dark-background-none{background:none}.excalidraw.Appearance_dark{--appearance-filter:invert(93%) hue-rotate(180deg);--button-destructive-bg-color:#5a0000;--button-destructive-color:#ffa8a8;--button-gray-1:#363636;--button-gray-2:#272727;--button-gray-3:#222;--button-special-active-bg-color:#204624;--dialog-border-color:#212529;--dropdown-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='292.4' height='292.4' viewBox='0 0 292 292'%3E%3Cpath fill='%23ced4da' d='M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z'/%3E%3C/svg%3E");--focus-highlight-color:#228be6;--icon-fill-color:#ced4da;--icon-green-fill-color:#69db7c;--input-bg-color:#121212;--input-border-color:#2e2e2e;--input-hover-bg-color:#181818;--input-label-color:#e9ecef;--island-bg-color:#1e1e1e;--keybinding-color:#868e96;--overlay-bg-color:rgba(52,58,64,0.12);--popup-bg-color:#2c2c2c;--popup-secondary-bg-color:#222;--popup-text-color:#ced4da;--popup-text-inverted-color:#2c2c2c;--select-highlight-color:#4dabf7;--shadow-island:0 1px 5px rgba(0,0,0,0.3);--text-primary-color:#ced4da}:root{--zIndex-canvas:1;--zIndex-wysiwyg:2;--zIndex-layerUI:3}.excalidraw{position:relative;overflow:hidden;color:var(--text-primary-color);display:flex;top:0;bottom:0;left:0;right:0}.excalidraw a{font-weight:500;text-decoration:none;color:var(--link-color)}.excalidraw a:hover{text-decoration:underline}.excalidraw canvas{touch-action:none;-webkit-user-select:none;user-select:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;z-index:var(--zIndex-canvas)}.excalidraw.Appearance_dark canvas{filter:var(--appearance-filter)}.excalidraw .FixedSideContainer{padding:var(--sat,0) var(--sar,0) var(--sab,0) var(--sal,0)}.excalidraw .panelRow{display:flex;justify-content:space-between}.excalidraw .panelColumn{display:flex;flex-direction:column}.excalidraw .panelColumn .control-label,.excalidraw .panelColumn h3,.excalidraw .panelColumn legend{margin-top:.333rem;margin-bottom:.333rem;font-size:.75rem;color:var(--text-primary-color);font-weight:700;display:block}.excalidraw .panelColumn .control-label input{display:block;width:100%}.excalidraw .panelColumn .control-label:first-child,.excalidraw .panelColumn h3:first-child,.excalidraw .panelColumn legend:first-child{margin-top:0}.excalidraw .panelColumn legend{padding:0}.excalidraw .panelColumn .iconSelectList{flex-wrap:wrap;position:relative}.excalidraw .panelColumn .buttonList{flex-wrap:wrap}.excalidraw .panelColumn .buttonList label{margin-right:.25rem;font-size:.75rem;display:inline-block}.excalidraw .panelColumn .buttonList input[type=button],.excalidraw .panelColumn .buttonList input[type=radio]{opacity:0;position:absolute;pointer-events:none}.excalidraw .panelColumn .buttonList .iconRow{margin-top:8px}.excalidraw .panelColumn .buttonList .ToolIcon{margin:0;margin-inline-end:8px}.excalidraw .panelColumn .buttonList .ToolIcon:focus{outline:transparent;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .panelColumn .buttonList .ToolIcon:hover{background-color:var(--button-gray-2)}.excalidraw .panelColumn .buttonList .ToolIcon:active{background-color:var(--button-gray-3)}.excalidraw .panelColumn .buttonList .ToolIcon:disabled{cursor:not-allowed}.excalidraw .panelColumn .buttonList .ToolIcon__icon{width:28px;height:28px}.excalidraw .panelColumn fieldset{margin:.333rem 0 0;padding:0;border:none}.excalidraw .divider{width:1px;background-color:#e9ecef;margin:1px}.excalidraw .buttonList label:focus-within,.excalidraw input:focus{outline:transparent;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .buttonList label,.excalidraw button{-webkit-user-select:none;user-select:none;background-color:var(--button-gray-1);border:0;border-radius:4px;margin:.125rem 0;padding:.25rem;white-space:nowrap;cursor:pointer}.excalidraw .buttonList label:focus,.excalidraw button:focus{outline:transparent;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .buttonList label:hover,.excalidraw button:hover{background-color:var(--button-gray-2)}.excalidraw .buttonList label:active,.excalidraw button:active{background-color:var(--button-gray-3)}.excalidraw .buttonList label:disabled,.excalidraw button:disabled{cursor:not-allowed}.excalidraw .active,.excalidraw .active:hover,.excalidraw .buttonList label.active,.excalidraw .buttonList label.active:hover{background-color:var(--button-gray-2)}.excalidraw .active:active,.excalidraw .buttonList label.active:active{background-color:var(--button-gray-3)}.excalidraw .buttonList.buttonListIcon label{display:inline-flex;justify-content:center;align-items:center}.excalidraw .buttonList.buttonListIcon label svg{width:36px;height:18px;opacity:.6}.excalidraw .buttonList.buttonListIcon label.active svg{opacity:1}.excalidraw .App-top-bar{z-index:var(--zIndex-layerUI);display:flex;flex-direction:column;align-items:center}.excalidraw .App-bottom-bar{position:absolute;top:0;bottom:0;left:0;right:0;--bar-padding:calc(var(--space-factor)*4);padding:max(var(--bar-padding),var(--sat,0)) var(--sar,0) var(--sab,0) var(--sal,0);z-index:4;display:flex;align-items:flex-end;pointer-events:none}.excalidraw .App-bottom-bar>.Island{width:100%;max-width:100%;min-width:100%;box-sizing:border-box;max-height:100%;display:flex;flex-direction:column;pointer-events:auto}.excalidraw .App-bottom-bar>.Island .panelColumn{padding:8px 8px 0}.excalidraw .App-toolbar{width:100%;box-sizing:border-box}.excalidraw .App-toolbar-content{display:flex;align-items:center;justify-content:space-between;padding:8px}.excalidraw .App-mobile-menu{width:100%;overflow-x:visible;overflow-y:auto;box-sizing:border-box;margin-bottom:var(--bar-padding)}.excalidraw .App-menu{display:grid;color:var(--icon-fill-color)}.excalidraw .App-menu_top{grid-template-columns:1fr auto 1fr;grid-gap:4px;align-items:flex-start;cursor:default;pointer-events:none!important}.excalidraw .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_top>*{pointer-events:all}.excalidraw .App-menu_top>:first-child{justify-self:flex-start}.excalidraw .App-menu_top>:last-child{justify-self:flex-end}.excalidraw .App-menu_bottom{position:absolute;bottom:0;grid-template-columns:1fr auto 1fr;grid-gap:4px;align-items:flex-start;cursor:default;pointer-events:none!important;z-index:100}:root[dir=ltr] .excalidraw .App-menu_bottom{left:.25rem}:root[dir=rtl] .excalidraw .App-menu_bottom{right:.25rem}.excalidraw .App-menu_bottom--transition-left section{width:185px}.excalidraw .App-menu_bottom section{display:flex}.excalidraw .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_bottom>*{pointer-events:all}.excalidraw .App-menu_bottom>:first-child{justify-self:flex-start}.excalidraw .App-menu_bottom>:last-child{justify-self:flex-end}.excalidraw .App-menu_left{grid-template-rows:1fr auto 1fr;height:100%}.excalidraw .App-menu_right{grid-template-rows:1fr;height:100%}.excalidraw .App-menu__left{overflow-y:auto}.excalidraw .dropdown-select{height:1.5rem;padding:0;padding-inline-start:.5rem;padding-inline-end:1.5rem;color:var(--icon-fill-color);background-color:var(--button-gray-1);border-radius:var(--space-factor);border:1px solid var(--button-gray-2);font-size:.8rem;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--dropdown-icon);background-repeat:no-repeat;background-position:right .7rem top 50%,0 0;background-size:.65em auto,100%}:root[dir=rtl] .excalidraw .dropdown-select{background-position:left .7rem top 50%,0 0}.excalidraw .dropdown-select:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .dropdown-select:active,.excalidraw .dropdown-select:hover{background-color:var(--button-gray-2)}.excalidraw .dropdown-select.dropdown-select--floating{position:absolute;margin:.5em}.excalidraw .dropdown-select__language.dropdown-select--floating{position:absolute;bottom:10px}:root[dir=ltr] .excalidraw .dropdown-select__language.dropdown-select--floating{right:44px}:root[dir=rtl] .excalidraw .dropdown-select__language.dropdown-select--floating{left:44px}.excalidraw .zIndexButton{margin:0;margin-inline-end:8px;padding:5px;display:inline-flex;align-items:center;justify-content:center}.excalidraw .zIndexButton svg{width:18px;height:18px}.excalidraw .scroll-back-to-content{color:var(--popup-text-color);position:absolute;left:50%;bottom:30px;transform:translateX(-50%);padding:10px 20px}.excalidraw .help-icon{position:absolute;cursor:pointer;fill:#868e96;bottom:14px;width:1.5rem}:root[dir=ltr] .excalidraw .help-icon{right:14px}:root[dir=rtl] .excalidraw .help-icon{left:14px}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw aside{display:none}.excalidraw .scroll-back-to-content{bottom:calc(80px + var(--sab, 0));z-index:-1}}:root[dir=rtl] .excalidraw .rtl-mirror{transform:scaleX(-1)}.excalidraw .github-corner{position:absolute;top:0;z-index:2}:root[dir=ltr] .excalidraw .github-corner{right:0}:root[dir=rtl] .excalidraw .github-corner{left:0}.excalidraw .zen-mode-visibility{visibility:visible;opacity:1;height:auto;width:auto;transition:opacity .5s}.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden{visibility:hidden;opacity:0;height:0;width:0;transition:opacity .5s}.excalidraw .disable-pointerEvents{pointer-events:none!important}.excalidraw.excalidraw--view-mode .App-menu{display:flex;justify-content:space-between}@media print{.excalidraw .App-bottom-bar,.excalidraw .FixedSideContainer,.excalidraw .layer-ui__wrapper{display:none}}.ErrorSplash.excalidraw{min-height:100vh;padding:20px 0;overflow:auto;display:flex;align-items:center;justify-content:center;-webkit-user-select:text;user-select:text}.ErrorSplash.excalidraw .ErrorSplash-messageContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background-color:#ffe3e3;border:3px solid #c92a2a}.ErrorSplash.excalidraw .ErrorSplash-paragraph{margin:15px 0;max-width:600px}.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center{text-align:center}.ErrorSplash.excalidraw .bigger,.ErrorSplash.excalidraw .bigger button{font-size:1.1em}.ErrorSplash.excalidraw .smaller,.ErrorSplash.excalidraw .smaller button{font-size:.9em}.ErrorSplash.excalidraw .ErrorSplash-details{display:flex;flex-direction:column;align-items:flex-start}.ErrorSplash.excalidraw .ErrorSplash-details textarea{width:100%;margin:10px 0;font-family:"Cascadia";font-size:.8em}:export{isMobileQuery:(max-width:600px),(max-height:500px) and (max-width:1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .RoomDialog-linkContainer{display:flex;margin:1.5em 0}.excalidraw .RoomDialog-link{color:var(--text-primary-color);min-width:0;flex:1 1 auto;margin-inline-start:1em;display:inline-block;cursor:pointer;border:none;height:2.5rem;line-height:2.5rem;padding:0 .5rem;white-space:nowrap;border-radius:var(--space-factor);background-color:var(--button-gray-1)}.excalidraw .RoomDialog-emoji{font-family:sans-serif}.excalidraw .RoomDialog-usernameContainer{margin:1.5em 0;display:flex;align-items:center;justify-content:center}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .RoomDialog-usernameContainer{flex-direction:column;align-items:stretch}}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .RoomDialog-usernameLabel{font-weight:700}}.excalidraw .RoomDialog-username{background-color:var(--input-bg-color);border-color:var(--input-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;flex:1 1 auto;margin-inline-start:1em;height:2.5rem;font-size:1em;line-height:1.5;padding:0 .5rem}@media(max-height:500px)and (max-width:1000px),(max-width:600px){.excalidraw .RoomDialog-username{margin-top:.5em;margin-inline-start:0}}.excalidraw .RoomDialog-sessionStartButtonContainer{display:flex;justify-content:center}.excalidraw .Modal .RoomDialog-stopSession{background-color:var(--button-destructive-bg-color)}.excalidraw .Modal .RoomDialog-stopSession .ToolIcon__icon svg,.excalidraw .Modal .RoomDialog-stopSession .ToolIcon__label{color:var(--button-destructive-color)} +/*# sourceMappingURL=main.b0bde4ac.chunk.css.map */ \ No newline at end of file diff --git a/static/css/export.css b/static/css/export.css new file mode 100755 index 0000000..e69de29 diff --git a/static/css/fonts.css b/static/css/fonts.css new file mode 100755 index 0000000..d78847d --- /dev/null +++ b/static/css/fonts.css @@ -0,0 +1,13 @@ +/* http://www.eaglefonts.com/fg-virgil-ttf-131249.htm */ +@font-face { + font-family: "Virgil"; + src: url("../fonts/Virgil.woff2"); + font-display: swap; +} + +/* https://github.com/microsoft/cascadia-code */ +@font-face { + font-family: "Cascadia"; + src: url("../fonts/Cascadia.woff2"); + font-display: swap; +} diff --git a/static/css/fonts/tabler-icons.eot b/static/css/fonts/tabler-icons.eot new file mode 100755 index 0000000..1fafbdc Binary files /dev/null and b/static/css/fonts/tabler-icons.eot differ diff --git a/static/css/fonts/tabler-icons.svg b/static/css/fonts/tabler-icons.svg new file mode 100755 index 0000000..05ec961 --- /dev/null +++ b/static/css/fonts/tabler-icons.svg @@ -0,0 +1,8055 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/css/fonts/tabler-icons.ttf b/static/css/fonts/tabler-icons.ttf new file mode 100755 index 0000000..ecef094 Binary files /dev/null and b/static/css/fonts/tabler-icons.ttf differ diff --git a/static/css/fonts/tabler-icons.woff b/static/css/fonts/tabler-icons.woff new file mode 100755 index 0000000..b562902 Binary files /dev/null and b/static/css/fonts/tabler-icons.woff differ diff --git a/static/css/fonts/tabler-icons.woff2 b/static/css/fonts/tabler-icons.woff2 new file mode 100755 index 0000000..632dbff Binary files /dev/null and b/static/css/fonts/tabler-icons.woff2 differ diff --git a/static/css/highlight.css b/static/css/highlight.css new file mode 100755 index 0000000..c9a8ed1 --- /dev/null +++ b/static/css/highlight.css @@ -0,0 +1,92 @@ +/** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282b2e; +} + +.dark-theme .hljs { + background: transparent; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-selector-id { + color: #93c763; +} + +.hljs-number { + color: #ffcd22; +} + +.hljs { + color: #e0e2e4; +} + +.hljs-attribute { + color: #668bb0; +} + +.hljs-code, +.hljs-class .hljs-title, +.hljs-section { + color: white; +} + +.hljs-regexp, +.hljs-link { + color: #d39745; +} + +.hljs-meta { + color: #557182; +} + +.hljs-tag, +.hljs-name, +.hljs-bullet, +.hljs-subst, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8cbbad; +} + +.hljs-string, +.hljs-symbol { + color: #ec7600; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion { + color: #818e96; +} + +.hljs-selector-class { + color: #A082BD +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} diff --git a/static/css/inter.css b/static/css/inter.css new file mode 100755 index 0000000..3788484 --- /dev/null +++ b/static/css/inter.css @@ -0,0 +1,200 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url("../fonts/inter/Inter-Thin.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Thin.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url("../fonts/inter/Inter-ThinItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-ThinItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url("../fonts/inter/Inter-ExtraLight.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-ExtraLight.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url("../fonts/inter/Inter-ExtraLightItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-ExtraLightItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("../fonts/inter/Inter-Light.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Light.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("../fonts/inter/Inter-LightItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-LightItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/inter/Inter-Regular.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Regular.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("../fonts/inter/Inter-Italic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Italic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url("../fonts/inter/Inter-Medium.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Medium.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url("../fonts/inter/Inter-MediumItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-MediumItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("../fonts/inter/Inter-SemiBold.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-SemiBold.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("../fonts/inter/Inter-SemiBoldItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-SemiBoldItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("../fonts/inter/Inter-Bold.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Bold.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("../fonts/inter/Inter-BoldItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-BoldItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + font-display: swap; + src: url("../fonts/inter/Inter-ExtraBold.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-ExtraBold.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 800; + font-display: swap; + src: url("../fonts/inter/Inter-ExtraBoldItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-ExtraBoldItalic.woff?v=3.15") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url("../fonts/inter/Inter-Black.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-Black.woff?v=3.15") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 900; + font-display: swap; + src: url("../fonts/inter/Inter-BlackItalic.woff2?v=3.15") format("woff2"), + url("../fonts/inter/Inter-BlackItalic.woff?v=3.15") format("woff"); +} + +/* ------------------------------------------------------- +Variable font. +Usage: + + html { font-family: 'Inter', sans-serif; } + @supports (font-variation-settings: normal) { + html { font-family: 'Inter var', sans-serif; } + } +*/ +@font-face { + font-family: 'Inter var'; + font-weight: 100 900; + font-display: swap; + font-style: normal; + font-named-instance: 'Regular'; + src: url("../fonts/inter/Inter-roman.var.woff2?v=3.15") format("woff2"); +} +@font-face { + font-family: 'Inter var'; + font-weight: 100 900; + font-display: swap; + font-style: italic; + font-named-instance: 'Italic'; + src: url("../fonts/inter/Inter-italic.var.woff2?v=3.15") format("woff2"); +} + + +/* -------------------------------------------------------------------------- +[EXPERIMENTAL] Multi-axis, single variable font. + +Slant axis is not yet widely supported (as of February 2019) and thus this +multi-axis single variable font is opt-in rather than the default. + +When using this, you will probably need to set font-variation-settings +explicitly, e.g. + + * { font-variation-settings: "slnt" 0deg } + .italic { font-variation-settings: "slnt" 10deg } + +*/ +@font-face { + font-family: 'Inter var experimental'; + font-weight: 100 900; + font-display: swap; + font-style: oblique 0deg 10deg; + src: url("../fonts/inter/Inter.var.woff2?v=3.15") format("woff2"); +} diff --git a/static/css/katex.min.css b/static/css/katex.min.css new file mode 100755 index 0000000..efef961 --- /dev/null +++ b/static/css/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_AMS-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Bold.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Italic.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Math-Italic.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Script-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size1-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size2-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size3-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size4-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.13.18"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/static/css/photoswipe.css b/static/css/photoswipe.css new file mode 100755 index 0000000..6e20807 --- /dev/null +++ b/static/css/photoswipe.css @@ -0,0 +1,441 @@ +/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */ + +.pswp { + --pswp-bg: #000; + --pswp-placeholder-bg: #222; + --pswp-error-text-color: #f7f7f7; + + --pswp-root-z-index: 100000; + + --pswp-preloader-color: rgba(79, 79, 79, 0.4); + --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9); + + /* defined via js: + --pswp-transition-duration: 333ms; */ + + --pswp-icon-color: #fff; + --pswp-icon-color-secondary: #4f4f4f; + --pswp-icon-stroke-color: #4f4f4f; + --pswp-icon-stroke-width: 2px; +} + + +/* + Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions) +*/ + +.pswp { + position: fixed; + z-index: var(--pswp-root-z-index); + display: none; + touch-action: none; + outline: 0; + opacity: 0.003; + contain: layout style size; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/* Prevents focus outline on the root element, + (it may be focused initially) */ +.pswp:focus { + outline: 0; +} + +.pswp * { + box-sizing: border-box; +} + +.pswp img { + max-width: none; +} + +.pswp--open { + display: block; +} + +.pswp, +.pswp__bg { + transform: translateZ(0); + will-change: opacity; +} + +.pswp__bg { + opacity: 0.005; + background: var(--pswp-bg); +} + +.pswp, +.pswp__scroll-wrap { + overflow: hidden; +} + +.pswp, +.pswp__scroll-wrap, +.pswp__bg, +.pswp__container, +.pswp__item, +.pswp__img, +.pswp__zoom-wrap { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.pswp { + position: fixed; +} + +.pswp__img, +.pswp__zoom-wrap { + width: auto; + height: auto; +} + +.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img { + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; +} + +.pswp--click-to-zoom.pswp--zoomed-in .pswp__img { + cursor: move; + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; +} + +.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active { + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; +} + +/* :active to override grabbing cursor */ +.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img, +.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active, +.pswp__img { + cursor: -webkit-zoom-out; + cursor: -moz-zoom-out; + cursor: zoom-out; +} + + +/* Prevent selection and tap highlights */ +.pswp__container, +.pswp__img, +.pswp__button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.pswp__item { + /* z-index for fade transition */ + z-index: 1; + overflow: hidden; +} + +.pswp__hidden { + display: none !important; +} + + +/* + + PhotoSwipe UI + +*/ + +/* + Error message appears when image is not loaded + (JS option errorMsg controls markup) +*/ +.pswp__error-msg { + position: absolute; + top: 50%; + left: 0; + width: 100%; + padding: 0 10px; + margin-top: -0.5em; + font-size: 1em; + line-height: 1; + color: var(--pswp-error-text-color); + text-align: center; +} + +.pswp__error-msg a { + color: var(--pswp-error-text-color); + text-decoration: underline; +} + +/* +class pswp__hide-on-close is applied to elements that +should hide (for example fade out) when PhotoSwipe is closed +and show (for example fade in) when PhotoSwipe is opened + */ +.pswp .pswp__hide-on-close { + opacity: 0.005; + will-change: opacity; + transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1); + z-index: 10; /* always overlap slide content */ + pointer-events: none; /* hidden elements should not be clickable */ +} + +/* class pswp--ui-visible is added when opening or closing transition starts */ +.pswp--ui-visible .pswp__hide-on-close { + opacity: 1; + pointer-events: auto; +} + +/*