GeistHaus
log in · sign up

For Some Value of "Magic"

Part of feedburner.com

"Any sufficiently advanced technology is indistinguishable from magic" -- Arthur C Clarke <br> Musings from the technological frontier

stories
I'm Depressed
Show full content
It's not been a good week. I've been in dispute with my local council for almost four years -  this video is a good summary of the issues. Some time ago the Planning Inspectorate gave a final ruling against me, and I understood that the designer of the structure was going to take further legal action against the Council.
This week he informed me that he simply doesn't have the resources to fund a Judicial Review, apparently the only way the Planning Inspectorate decision could be reversed. The day before that, the Council wrote to inform me that if I don't remove the structure by 6 March I will be subject to legal action involving unlimited fines.
As if all this weren't bad enough, I've been playing around the fringes with LLM technologies, and my latest experimental subject, Claude Code, just pushed code to a remote repository without specifically being told to. Because I spent the morning clearing out the shed (electronics workshop, mechanical workbench, computers, tools, ... and the job's not even half done yet) I responded in what I'd like to feel is an uncharacteristically acerbic way. Oh well, only an LLM's "personality" got a little bruised, and at least my mood has lightened enough to post the resulting dialogue.It looks like my only recourse now is to hire workshop space somewhere, which will incur not only rental and transport costs but also make me spend more time travelling and increase my carbon footprint. All this for a shed that stands 2.5m high next to a 25m house, and which whenever I tell the neighbours what the council require causes them to raise their eyebrows in astonishment. Without exception, nobody has EVER said it is an eyesore, or even the slightest bit objectionable in any way. But the jobsworths in Hastings Planning Department say it has to go, because it contravenes regulations. Now I'm depressed again.
tag:blogger.com,1999:blog-496482.post-8103379825926229774
Extensions
AI-related scams via Google Calendar
dangerexploitonlineprivacysafetyscamsecurity
Show full content
Whose calendar is it, anyway? A cautionary tale

A while ago I noticed an odd "Paypal to BTC" calendar item that I didn't recognise, so I clicked on it and saw this.

"Interesting," I thought, "where on Earth did this come from?" You'll notice that only my identity is listed, as whoever created it has concealed their own identity by withholding the full guest list.

Intrigued, I clicked on the edit button to get a full view, and found this.


I don't know about you, but I very much doubt the fundacjawidzialnedzieki.org domain exists, let alone represents any kind of legitimate organisation. Further investigation revealed several similar entries scattered around my calendar, some containing specific instructions to transfer funds. An AI, however, might not "understand" (I use apostrophes because thinking and understanding are beyond the capabilities of the current chatbots) that this indicates a scam.

Being the cautious techie that I am I have not and do not intend to use automation to take unsupervised actions as a result of unsolicited input from Internet randos. To me, therefore, this represents a nuisance rather than a threat. As you will imagine, I have cleaned up my calendar and closed the loophole that allowed those events on to my calendar—see "Protecting yourself" below.

I can well imagine, however, that less conservative business people will be thrilled to avail themselves of the advantages of technology that helps them to set up appointments and keep on top of regular tasks, including settlement of outstanding accounts. Until their ever-helpful digital robot acts on an instruction injected by a third party in a similar manner to this. Who will be responsible for those losses?

Protecting yourself

It can happen to you. Check that arbitrary senders can't add events to your calendars by opening the calendar, bringing up the settings, then under "Events" make sure that the "Add invitations to my calendar" selector is set to "When I respond to the invitation in email."

This Google support page says it's not a new issue—in  fact the issue is so old the solutions refer to a setting that's no longer available). Here's what my settings page looked like.
Screenshot of fully-documented paged linked below

The process is fully documented in this support page.
Further thoughts
A current search implies it's still an issue.Top four "people also ask" selections from a Google
search for "google calendar unrecognised events:"
Be very careful about automating any processes which could cost you money if they don't do what you expect. Until recently, automation was predictable. Once "AI" enters the picture, predictability becomes problematic. In a carefully designed system, most of the time nothing will go wrong. What you have to do is to limit the downside when it does, as it inevitably will (ironically just like systems with humans in the loop, while totally lacking in empathy or creativity). The more automation the greater the risk.
Understand that vendors don't always provide systems that are secure by default. Google made two mistakes here: the first was allow external users to make entries in your calendar; the second was to allow those who do make such entries to hide their identity. Neither shows much concern or respect for the people who use their products. At least the former can be switched off, so why isn't it switched off by default? I can't imagine in my long use of Google's products I would have ever selected such an option voluntarily.
In the past we have mostly had human adversaries to contend with. Nowadays exploits involving large networks of fictitious identities can be constructed en masse with minimal effort in industrial quantities. We can't rely on luck to avoid the attention of bad actors forever when without effective protection and sensible precautions a business can be ended overnight.

tag:blogger.com,1999:blog-496482.post-3158099261690673572
Extensions
I want to bang some heads together!
python
Show full content

 It's frustrating when useful tools refuse to work together nicely. In the past I've experienced conflicts between black and flake8 that made it impossible to commit via my default commit hooks. Now I'm seeing the same behaviour with black and reorder-python-imports.

In short, almost a year ago now github user maxwell-k reported that black release 24.1.0 had introduced an incompatibility with reorder-python-imports by starting to require a blank line after a module docstring. In the discussion on the bug report the black crew make the reasonable-seeming point that it's black's job to determine the disposition of whitespace, and that reorder-python-imports should do what its name implies and nothing more. This would respect the long-standing Unix tradition that each tool should as far as possible perform a single function.

Unfortunately, when elagil raised the same issue with the reorder-python-imports developers, with a request to make their project usable with black (ably supported by maxwell-k), they received a response which I can only (avoiding the use of expletives) describe as disappointing:

anything is possible. will it happen here: no

In my opinion this uncompromising attitude displays the worst kind of arrogance from a developer, and I frankly fail to see who benefits from this refusal to bend (except perhaps a developer unwilling to work further on a project or set it free). The net consequence from my own point of view is that I'll no longer be using reorder-python-imports, nor recommending it.

The situation remains unchanged. Life's too short to persuade donkeys to move. On the plus side, research into solving this irritation led me to start working with ruff, which provides the functionality of both utilities in a single rather faster tool. It's an ill wind that blows nobody any good. Goodbye, donkeys!

tag:blogger.com,1999:blog-496482.post-3141914447663768938
Extensions
LiveBlog of the Pycon IT 24 Lightning Talks
Show full content
These things move fast. No guarantees! They're doing it "The Italian Way," which apparently involves forfeits.
First, conference announcements. No mic - not a great start. Oh, here we are!
PyCon Portugal is 17 - 19 October 2024. There was a great acronym for Portugal, which I didn't have time to write down.
EuroPython is in Prague and remote, in July. 8-9 Tutorials and workshops, 10-12, talks, 13-14 Sprints.
Alessia Marcolini and Valerio Maggio chaired. They told us why pineapple pizza is such an awful idea. They then introduced the wheel of fortune, and the outcome determined various forfeits that speakers were given to force them to behave in specific ways: Swimming in the Arno, Italian hand gestures, Quack it, and various others, including the pineapple pizza, which cut the speakers' time down to 3 minutes.
Luca, the first speaker, spun the wheel too hard, so it took us a minute to discover he had to talk while swimming. With props - goggles and a snake floatation aid.. His talk was about annotating decorators. He showed an untyped decorator to time functions. Very amusing to see him remove the mypy errors one by one. He then turned it into a timing context manager, which also acted as a decorator. Great talk.
Samuel Colvin talked about Jiter, a JSON parser, drew the quack, and the audience decided to quack on the word JSON. He demonstrated, to much applause, how jiter can parse the outout from ChatGPT continuously, rather than having to wait until the whole thing was received. With about thirty quacks, until he wised up and cut down on his use of the word!
Peter next talked about PyClean, a project he wrote himself, while swimming. (He presented it while swimming, he wrote it some other time). He's worked on it so long he's forgotten what it does, but it's available on PyPi. The package actually cleans up your Python bytecode files from your __pycache__ directories. You might think this was a one-line find command, but it's written in Python, and it works!
Rodrigo became another swimmer, and talked about Elegant Code. His example was a simple GUI-based calculator he found online, so he refactored it before our very eyes. Rodrigo prefers expressions to statements, so he replaced many assignments either by simply using parenthisised walrus expressions, or introducing an auxiliary function. The function then became a single lambda expression. The import statements also became walrus expressions using __import__, and he then introduced the concept of "long-circuititng." By the time he'd finished, he'd conjoined all the expressions into a single expression. Most amusing.
By this point it had become less than clear which forfeit was being executed. The next speaker, whose name I did not catch, does two things every day - stay on the computer and listen to music, so he asked why not combine the two. An audience member chose the song "Unbroken" for an example, but apparently that title was too simple. So we next tried "Never going to give you up." His code then created album wallpaper from the Spotify page, and he challenged everyone to use the Gnome desktop, which is currently its only platform. Good talk!
Miro then talked about various keyboard layous, but he drew the pizza so had to talk in three minutes. He told us we were all using weird keyboard layouts, and then told us all about the right ones in varioius languages I couldn't identify, so while he amused the native audience greatly the humour I got was by looking at all the glyphs overlaid on a single keyboard. He explained compose sequences. Wish I'd got a picture. He closed by suggesting the remapping of the SHIFT LOCK and CTRL keys to make ESCAPE more available. Excellent. 
Rigel, the next speaker again became a swimmer, and we started to suspect the wheel was rigged. Problems with the projector paused him for a while, blaming his Windows computer for the issue, so we watched his slides from a web browser. Rigel is a bad skydiver, but he's an engineering manager who claimed to have no idea what his staff do. He's hiring, and talked about Booth's second rule: the safer skydiving becomes, the more risks skydivers take to keep the fatality rate constant. He demonstrated his "horrible code" to mine Bitcoin or similar crypto currencies, and then how raising the difficulty of the required hash of the transaction required nore steps, and finally demonstrated things ran faster in parallel. Neat.
Giuseppe Biradi is a project and program manager, who tried to persuade us that PMs Are (Not) Evil. Because he loves Python he has become a coder, and got the idea for this talk from his coding colleagues' horrified expressions. He claims that PMs are like the pinball firing pin, which can lead to lots of complex behaviours. Or perhaps like someone who gets grain, mill and various other components to finally produce bread. We shouild all respect each others' rules, and sing Kumbaya round the camp fire. I think.
Minita spoke on imposter syndrome. True story based on personal opinoins, and he isn't used to extemporising. Before the pandemic he didn't speak at conferences, but now he enjoys them a lot. There are five stages of imposter syndrome: denial, anger, bargaining, depression and finally acceptance. He showed us a picture of hime helping a fellow Pythonista, and uses a "Yes, you can" sticker on his wall to maintain confidence.
All in all an entertaining session, and one that brought much of the conference together before we all went off to dinner. Sometimes chaotic and always amusing, lightning talks are always one of the high spots of any PyCon. Thanks to all speakers, and the hosts.
tag:blogger.com,1999:blog-496482.post-524217309359732695
Extensions
Understanding Python Descriptors
assignmentbindingdescriptorpython
Show full content
Understanding Descriptors pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: var(--jp-cell-editor-active-background) } .highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) } .highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */ .highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */ .highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */ .highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */ .highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */ .highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */ .highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */ .highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */ .highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */ .highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */ .highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */ .highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */ .highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */ .highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */ .highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */ .highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */ .highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */ .highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */ .highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */ .highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */ .highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */ .highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */ .highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */ .highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */ .highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */ .highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */ .highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */ .highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */ .highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */ .highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */ .highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */ .highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */ .highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */ .highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */ .highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */ .highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */ .highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */ /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /* * Mozilla scrollbar styling */ /* use standard opaque scrollbars for most nodes */ [data-jp-theme-scrollbars='true'] { scrollbar-color: rgb(var(--jp-scrollbar-thumb-color)) var(--jp-scrollbar-background-color); } /* for code nodes, use a transparent style of scrollbar. These selectors * will match lower in the tree, and so will override the above */ [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar, [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar { scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent; } /* tiny scrollbar */ .jp-scrollbar-tiny { scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent; scrollbar-width: thin; } /* * Webkit scrollbar styling */ /* use standard opaque scrollbars for most nodes */ [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar, [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner { background: var(--jp-scrollbar-background-color); } [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb { background: rgb(var(--jp-scrollbar-thumb-color)); border: var(--jp-scrollbar-thumb-margin) solid transparent; background-clip: content-box; border-radius: var(--jp-scrollbar-thumb-radius); } [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal { border-left: var(--jp-scrollbar-endpad) solid var(--jp-scrollbar-background-color); border-right: var(--jp-scrollbar-endpad) solid var(--jp-scrollbar-background-color); } [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical { border-top: var(--jp-scrollbar-endpad) solid var(--jp-scrollbar-background-color); border-bottom: var(--jp-scrollbar-endpad) solid var(--jp-scrollbar-background-color); } /* for code nodes, use a transparent style of scrollbar */ [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar, [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar, [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar-corner, [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar-corner { background-color: transparent; } [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar-thumb, [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar-thumb { background: rgba(var(--jp-scrollbar-thumb-color), 0.5); border: var(--jp-scrollbar-thumb-margin) solid transparent; background-clip: content-box; border-radius: var(--jp-scrollbar-thumb-radius); } [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal { border-left: var(--jp-scrollbar-endpad) solid transparent; border-right: var(--jp-scrollbar-endpad) solid transparent; } [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical { border-top: var(--jp-scrollbar-endpad) solid transparent; border-bottom: var(--jp-scrollbar-endpad) solid transparent; } /* tiny scrollbar */ .jp-scrollbar-tiny::-webkit-scrollbar, .jp-scrollbar-tiny::-webkit-scrollbar-corner { background-color: transparent; height: 4px; width: 4px; } .jp-scrollbar-tiny::-webkit-scrollbar-thumb { background: rgba(var(--jp-scrollbar-thumb-color), 0.5); } .jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal { border-left: 0px solid transparent; border-right: 0px solid transparent; } .jp-scrollbar-tiny::-webkit-scrollbar-track:vertical { border-top: 0px solid transparent; border-bottom: 0px solid transparent; } /* * Phosphor */ .lm-ScrollBar[data-orientation='horizontal'] { min-height: 16px; max-height: 16px; min-width: 45px; border-top: 1px solid #a0a0a0; } .lm-ScrollBar[data-orientation='vertical'] { min-width: 16px; max-width: 16px; min-height: 45px; border-left: 1px solid #a0a0a0; } .lm-ScrollBar-button { background-color: #f0f0f0; background-position: center center; min-height: 15px; max-height: 15px; min-width: 15px; max-width: 15px; } .lm-ScrollBar-button:hover { background-color: #dadada; } .lm-ScrollBar-button.lm-mod-active { background-color: #cdcdcd; } .lm-ScrollBar-track { background: #f0f0f0; } .lm-ScrollBar-thumb { background: #cdcdcd; } .lm-ScrollBar-thumb:hover { background: #bababa; } .lm-ScrollBar-thumb.lm-mod-active { background: #a0a0a0; } .lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb { height: 100%; min-width: 15px; border-left: 1px solid #a0a0a0; border-right: 1px solid #a0a0a0; } .lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb { width: 100%; min-height: 15px; border-top: 1px solid #a0a0a0; border-bottom: 1px solid #a0a0a0; } .lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-button[data-action='decrement'] { background-image: var(--jp-icon-caret-left); background-size: 17px; } .lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-button[data-action='increment'] { background-image: var(--jp-icon-caret-right); background-size: 17px; } .lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-button[data-action='decrement'] { background-image: var(--jp-icon-caret-up); background-size: 17px; } .lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-button[data-action='increment'] { background-image: var(--jp-icon-caret-down); background-size: 17px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-Widget, /* </DEPRECATED> */ .lm-Widget { box-sizing: border-box; position: relative; overflow: hidden; cursor: default; } /* <DEPRECATED> */ .p-Widget.p-mod-hidden, /* </DEPRECATED> */ .lm-Widget.lm-mod-hidden { display: none !important; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-CommandPalette, /* </DEPRECATED> */ .lm-CommandPalette { display: flex; flex-direction: column; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* <DEPRECATED> */ .p-CommandPalette-search, /* </DEPRECATED> */ .lm-CommandPalette-search { flex: 0 0 auto; } /* <DEPRECATED> */ .p-CommandPalette-content, /* </DEPRECATED> */ .lm-CommandPalette-content { flex: 1 1 auto; margin: 0; padding: 0; min-height: 0; overflow: auto; list-style-type: none; } /* <DEPRECATED> */ .p-CommandPalette-header, /* </DEPRECATED> */ .lm-CommandPalette-header { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* <DEPRECATED> */ .p-CommandPalette-item, /* </DEPRECATED> */ .lm-CommandPalette-item { display: flex; flex-direction: row; } /* <DEPRECATED> */ .p-CommandPalette-itemIcon, /* </DEPRECATED> */ .lm-CommandPalette-itemIcon { flex: 0 0 auto; } /* <DEPRECATED> */ .p-CommandPalette-itemContent, /* </DEPRECATED> */ .lm-CommandPalette-itemContent { flex: 1 1 auto; overflow: hidden; } /* <DEPRECATED> */ .p-CommandPalette-itemShortcut, /* </DEPRECATED> */ .lm-CommandPalette-itemShortcut { flex: 0 0 auto; } /* <DEPRECATED> */ .p-CommandPalette-itemLabel, /* </DEPRECATED> */ .lm-CommandPalette-itemLabel { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .lm-close-icon { border:1px solid transparent; background-color: transparent; position: absolute; z-index:1; right:3%; top: 0; bottom: 0; margin: auto; padding: 7px 0; display: none; vertical-align: middle; outline: 0; cursor: pointer; } .lm-close-icon:after { content: "X"; display: block; width: 15px; height: 15px; text-align: center; color:#000; font-weight: normal; font-size: 12px; cursor: pointer; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-DockPanel, /* </DEPRECATED> */ .lm-DockPanel { z-index: 0; } /* <DEPRECATED> */ .p-DockPanel-widget, /* </DEPRECATED> */ .lm-DockPanel-widget { z-index: 0; } /* <DEPRECATED> */ .p-DockPanel-tabBar, /* </DEPRECATED> */ .lm-DockPanel-tabBar { z-index: 1; } /* <DEPRECATED> */ .p-DockPanel-handle, /* </DEPRECATED> */ .lm-DockPanel-handle { z-index: 2; } /* <DEPRECATED> */ .p-DockPanel-handle.p-mod-hidden, /* </DEPRECATED> */ .lm-DockPanel-handle.lm-mod-hidden { display: none !important; } /* <DEPRECATED> */ .p-DockPanel-handle:after, /* </DEPRECATED> */ .lm-DockPanel-handle:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; } /* <DEPRECATED> */ .p-DockPanel-handle[data-orientation='horizontal'], /* </DEPRECATED> */ .lm-DockPanel-handle[data-orientation='horizontal'] { cursor: ew-resize; } /* <DEPRECATED> */ .p-DockPanel-handle[data-orientation='vertical'], /* </DEPRECATED> */ .lm-DockPanel-handle[data-orientation='vertical'] { cursor: ns-resize; } /* <DEPRECATED> */ .p-DockPanel-handle[data-orientation='horizontal']:after, /* </DEPRECATED> */ .lm-DockPanel-handle[data-orientation='horizontal']:after { left: 50%; min-width: 8px; transform: translateX(-50%); } /* <DEPRECATED> */ .p-DockPanel-handle[data-orientation='vertical']:after, /* </DEPRECATED> */ .lm-DockPanel-handle[data-orientation='vertical']:after { top: 50%; min-height: 8px; transform: translateY(-50%); } /* <DEPRECATED> */ .p-DockPanel-overlay, /* </DEPRECATED> */ .lm-DockPanel-overlay { z-index: 3; box-sizing: border-box; pointer-events: none; } /* <DEPRECATED> */ .p-DockPanel-overlay.p-mod-hidden, /* </DEPRECATED> */ .lm-DockPanel-overlay.lm-mod-hidden { display: none !important; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-Menu, /* </DEPRECATED> */ .lm-Menu { z-index: 10000; position: absolute; white-space: nowrap; overflow-x: hidden; overflow-y: auto; outline: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* <DEPRECATED> */ .p-Menu-content, /* </DEPRECATED> */ .lm-Menu-content { margin: 0; padding: 0; display: table; list-style-type: none; } /* <DEPRECATED> */ .p-Menu-item, /* </DEPRECATED> */ .lm-Menu-item { display: table-row; } /* <DEPRECATED> */ .p-Menu-item.p-mod-hidden, .p-Menu-item.p-mod-collapsed, /* </DEPRECATED> */ .lm-Menu-item.lm-mod-hidden, .lm-Menu-item.lm-mod-collapsed { display: none !important; } /* <DEPRECATED> */ .p-Menu-itemIcon, .p-Menu-itemSubmenuIcon, /* </DEPRECATED> */ .lm-Menu-itemIcon, .lm-Menu-itemSubmenuIcon { display: table-cell; text-align: center; } /* <DEPRECATED> */ .p-Menu-itemLabel, /* </DEPRECATED> */ .lm-Menu-itemLabel { display: table-cell; text-align: left; } /* <DEPRECATED> */ .p-Menu-itemShortcut, /* </DEPRECATED> */ .lm-Menu-itemShortcut { display: table-cell; text-align: right; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-MenuBar, /* </DEPRECATED> */ .lm-MenuBar { outline: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* <DEPRECATED> */ .p-MenuBar-content, /* </DEPRECATED> */ .lm-MenuBar-content { margin: 0; padding: 0; display: flex; flex-direction: row; list-style-type: none; } /* <DEPRECATED> */ .p--MenuBar-item, /* </DEPRECATED> */ .lm-MenuBar-item { box-sizing: border-box; } /* <DEPRECATED> */ .p-MenuBar-itemIcon, .p-MenuBar-itemLabel, /* </DEPRECATED> */ .lm-MenuBar-itemIcon, .lm-MenuBar-itemLabel { display: inline-block; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-ScrollBar, /* </DEPRECATED> */ .lm-ScrollBar { display: flex; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* <DEPRECATED> */ .p-ScrollBar[data-orientation='horizontal'], /* </DEPRECATED> */ .lm-ScrollBar[data-orientation='horizontal'] { flex-direction: row; } /* <DEPRECATED> */ .p-ScrollBar[data-orientation='vertical'], /* </DEPRECATED> */ .lm-ScrollBar[data-orientation='vertical'] { flex-direction: column; } /* <DEPRECATED> */ .p-ScrollBar-button, /* </DEPRECATED> */ .lm-ScrollBar-button { box-sizing: border-box; flex: 0 0 auto; } /* <DEPRECATED> */ .p-ScrollBar-track, /* </DEPRECATED> */ .lm-ScrollBar-track { box-sizing: border-box; position: relative; overflow: hidden; flex: 1 1 auto; } /* <DEPRECATED> */ .p-ScrollBar-thumb, /* </DEPRECATED> */ .lm-ScrollBar-thumb { box-sizing: border-box; position: absolute; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-SplitPanel-child, /* </DEPRECATED> */ .lm-SplitPanel-child { z-index: 0; } /* <DEPRECATED> */ .p-SplitPanel-handle, /* </DEPRECATED> */ .lm-SplitPanel-handle { z-index: 1; } /* <DEPRECATED> */ .p-SplitPanel-handle.p-mod-hidden, /* </DEPRECATED> */ .lm-SplitPanel-handle.lm-mod-hidden { display: none !important; } /* <DEPRECATED> */ .p-SplitPanel-handle:after, /* </DEPRECATED> */ .lm-SplitPanel-handle:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; } /* <DEPRECATED> */ .p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle, /* </DEPRECATED> */ .lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle { cursor: ew-resize; } /* <DEPRECATED> */ .p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle, /* </DEPRECATED> */ .lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle { cursor: ns-resize; } /* <DEPRECATED> */ .p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after, /* </DEPRECATED> */ .lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after { left: 50%; min-width: 8px; transform: translateX(-50%); } /* <DEPRECATED> */ .p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after, /* </DEPRECATED> */ .lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after { top: 50%; min-height: 8px; transform: translateY(-50%); } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-TabBar, /* </DEPRECATED> */ .lm-TabBar { display: flex; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* <DEPRECATED> */ .p-TabBar[data-orientation='horizontal'], /* </DEPRECATED> */ .lm-TabBar[data-orientation='horizontal'] { flex-direction: row; align-items: flex-end; } /* <DEPRECATED> */ .p-TabBar[data-orientation='vertical'], /* </DEPRECATED> */ .lm-TabBar[data-orientation='vertical'] { flex-direction: column; align-items: flex-end; } /* <DEPRECATED> */ .p-TabBar-content, /* </DEPRECATED> */ .lm-TabBar-content { margin: 0; padding: 0; display: flex; flex: 1 1 auto; list-style-type: none; } /* <DEPRECATED> */ .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content, /* </DEPRECATED> */ .lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content { flex-direction: row; } /* <DEPRECATED> */ .p-TabBar[data-orientation='vertical'] > .p-TabBar-content, /* </DEPRECATED> */ .lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content { flex-direction: column; } /* <DEPRECATED> */ .p-TabBar-tab, /* </DEPRECATED> */ .lm-TabBar-tab { display: flex; flex-direction: row; box-sizing: border-box; overflow: hidden; } /* <DEPRECATED> */ .p-TabBar-tabIcon, .p-TabBar-tabCloseIcon, /* </DEPRECATED> */ .lm-TabBar-tabIcon, .lm-TabBar-tabCloseIcon { flex: 0 0 auto; } /* <DEPRECATED> */ .p-TabBar-tabLabel, /* </DEPRECATED> */ .lm-TabBar-tabLabel { flex: 1 1 auto; overflow: hidden; white-space: nowrap; } .lm-TabBar-tabInput { user-select: all; width: 100%; box-sizing : border-box; } /* <DEPRECATED> */ .p-TabBar-tab.p-mod-hidden, /* </DEPRECATED> */ .lm-TabBar-tab.lm-mod-hidden { display: none !important; } .lm-TabBar-addButton.lm-mod-hidden { display: none !important; } /* <DEPRECATED> */ .p-TabBar.p-mod-dragging .p-TabBar-tab, /* </DEPRECATED> */ .lm-TabBar.lm-mod-dragging .lm-TabBar-tab { position: relative; } /* <DEPRECATED> */ .p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab, /* </DEPRECATED> */ .lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab { left: 0; transition: left 150ms ease; } /* <DEPRECATED> */ .p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab, /* </DEPRECATED> */ .lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab { top: 0; transition: top 150ms ease; } /* <DEPRECATED> */ .p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging, /* </DEPRECATED> */ .lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging { transition: none; } .lm-TabBar-tabLabel .lm-TabBar-tabInput { user-select: all; width: 100%; box-sizing : border-box; background: inherit; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ .p-TabPanel-tabBar, /* </DEPRECATED> */ .lm-TabPanel-tabBar { z-index: 1; } /* <DEPRECATED> */ .p-TabPanel-stackedPanel, /* </DEPRECATED> */ .lm-TabPanel-stackedPanel { z-index: 0; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ @charset "UTF-8"; html{ -webkit-box-sizing:border-box; box-sizing:border-box; } *, *::before, *::after{ -webkit-box-sizing:inherit; box-sizing:inherit; } body{ font-size:14px; font-weight:400; letter-spacing:0; line-height:1.28581; text-transform:none; color:#182026; font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; } p{ margin-bottom:10px; margin-top:0; } small{ font-size:12px; } strong{ font-weight:600; } ::-moz-selection{ background:rgba(125, 188, 255, 0.6); } ::selection{ background:rgba(125, 188, 255, 0.6); } .bp3-heading{ color:#182026; font-weight:600; margin:0 0 10px; padding:0; } .bp3-dark .bp3-heading{ color:#f5f8fa; } h1.bp3-heading, .bp3-running-text h1{ font-size:36px; line-height:40px; } h2.bp3-heading, .bp3-running-text h2{ font-size:28px; line-height:32px; } h3.bp3-heading, .bp3-running-text h3{ font-size:22px; line-height:25px; } h4.bp3-heading, .bp3-running-text h4{ font-size:18px; line-height:21px; } h5.bp3-heading, .bp3-running-text h5{ font-size:16px; line-height:19px; } h6.bp3-heading, .bp3-running-text h6{ font-size:14px; line-height:16px; } .bp3-ui-text{ font-size:14px; font-weight:400; letter-spacing:0; line-height:1.28581; text-transform:none; } .bp3-monospace-text{ font-family:monospace; text-transform:none; } .bp3-text-muted{ color:#5c7080; } .bp3-dark .bp3-text-muted{ color:#a7b6c2; } .bp3-text-disabled{ color:rgba(92, 112, 128, 0.6); } .bp3-dark .bp3-text-disabled{ color:rgba(167, 182, 194, 0.6); } .bp3-text-overflow-ellipsis{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; } .bp3-running-text{ font-size:14px; line-height:1.5; } .bp3-running-text h1{ color:#182026; font-weight:600; margin-bottom:20px; margin-top:40px; } .bp3-dark .bp3-running-text h1{ color:#f5f8fa; } .bp3-running-text h2{ color:#182026; font-weight:600; margin-bottom:20px; margin-top:40px; } .bp3-dark .bp3-running-text h2{ color:#f5f8fa; } .bp3-running-text h3{ color:#182026; font-weight:600; margin-bottom:20px; margin-top:40px; } .bp3-dark .bp3-running-text h3{ color:#f5f8fa; } .bp3-running-text h4{ color:#182026; font-weight:600; margin-bottom:20px; margin-top:40px; } .bp3-dark .bp3-running-text h4{ color:#f5f8fa; } .bp3-running-text h5{ color:#182026; font-weight:600; margin-bottom:20px; margin-top:40px; } .bp3-dark .bp3-running-text h5{ color:#f5f8fa; } .bp3-running-text h6{ color:#182026; font-weight:600; margin-bottom:20px; margin-top:40px; } .bp3-dark .bp3-running-text h6{ color:#f5f8fa; } .bp3-running-text hr{ border:none; border-bottom:1px solid rgba(16, 22, 26, 0.15); margin:20px 0; } .bp3-dark .bp3-running-text hr{ border-color:rgba(255, 255, 255, 0.15); } .bp3-running-text p{ margin:0 0 10px; padding:0; } .bp3-text-large{ font-size:16px; } .bp3-text-small{ font-size:12px; } a{ color:#106ba3; text-decoration:none; } a:hover{ color:#106ba3; cursor:pointer; text-decoration:underline; } a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{ color:inherit; } a code, .bp3-dark a code{ color:inherit; } .bp3-dark a, .bp3-dark a:hover{ color:#48aff0; } .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large, .bp3-dark a:hover .bp3-icon, .bp3-dark a:hover .bp3-icon-standard, .bp3-dark a:hover .bp3-icon-large{ color:inherit; } .bp3-running-text code, .bp3-code{ font-family:monospace; text-transform:none; background:rgba(255, 255, 255, 0.7); border-radius:3px; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); color:#5c7080; font-size:smaller; padding:2px 5px; } .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{ background:rgba(16, 22, 26, 0.3); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); color:#a7b6c2; } .bp3-running-text a > code, a > .bp3-code{ color:#137cbd; } .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{ color:inherit; } .bp3-running-text pre, .bp3-code-block{ font-family:monospace; text-transform:none; background:rgba(255, 255, 255, 0.7); border-radius:3px; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); color:#182026; display:block; font-size:13px; line-height:1.4; margin:10px 0; padding:13px 15px 12px; word-break:break-all; word-wrap:break-word; } .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{ background:rgba(16, 22, 26, 0.3); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-running-text pre > code, .bp3-code-block > code{ background:none; -webkit-box-shadow:none; box-shadow:none; color:inherit; font-size:inherit; padding:0; } .bp3-running-text kbd, .bp3-key{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; background:#ffffff; border-radius:3px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); color:#5c7080; display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; font-family:inherit; font-size:12px; height:24px; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; line-height:24px; min-width:24px; padding:3px 6px; vertical-align:middle; } .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{ margin-right:5px; } .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{ background:#394b59; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); color:#a7b6c2; } .bp3-running-text blockquote, .bp3-blockquote{ border-left:solid 4px rgba(167, 182, 194, 0.5); margin:0 0 10px; padding:0 20px; } .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{ border-color:rgba(115, 134, 148, 0.5); } .bp3-running-text ul, .bp3-running-text ol, .bp3-list{ margin:10px 0; padding-left:30px; } .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){ margin-bottom:5px; } .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol, .bp3-running-text ul ul, .bp3-running-text ol ul, .bp3-list ul{ margin-top:5px; } .bp3-list-unstyled{ list-style:none; margin:0; padding:0; } .bp3-list-unstyled li{ padding:0; } .bp3-rtl{ text-align:right; } .bp3-dark{ color:#f5f8fa; } :focus{ outline:rgba(19, 124, 189, 0.6) auto 2px; outline-offset:2px; -moz-outline-radius:6px; } .bp3-focus-disabled :focus{ outline:none !important; } .bp3-focus-disabled :focus ~ .bp3-control-indicator{ outline:none !important; } .bp3-alert{ max-width:400px; padding:20px; } .bp3-alert-body{ display:-webkit-box; display:-ms-flexbox; display:flex; } .bp3-alert-body .bp3-icon{ font-size:40px; margin-right:20px; margin-top:0; } .bp3-alert-contents{ word-break:break-word; } .bp3-alert-footer{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:reverse; -ms-flex-direction:row-reverse; flex-direction:row-reverse; margin-top:10px; } .bp3-alert-footer .bp3-button{ margin-left:10px; } .bp3-breadcrumbs{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; cursor:default; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap; height:30px; list-style:none; margin:0; padding:0; } .bp3-breadcrumbs > li{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; } .bp3-breadcrumbs > li::after{ background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e"); content:""; display:block; height:16px; margin:0 5px; width:16px; } .bp3-breadcrumbs > li:last-of-type::after{ display:none; } .bp3-breadcrumb, .bp3-breadcrumb-current, .bp3-breadcrumbs-collapsed{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; font-size:16px; } .bp3-breadcrumb, .bp3-breadcrumbs-collapsed{ color:#5c7080; } .bp3-breadcrumb:hover{ text-decoration:none; } .bp3-breadcrumb.bp3-disabled{ color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-breadcrumb .bp3-icon{ margin-right:5px; } .bp3-breadcrumb-current{ color:inherit; font-weight:600; } .bp3-breadcrumb-current .bp3-input{ font-size:inherit; font-weight:inherit; vertical-align:baseline; } .bp3-breadcrumbs-collapsed{ background:#ced9e0; border:none; border-radius:3px; cursor:pointer; margin-right:2px; padding:1px 5px; vertical-align:text-bottom; } .bp3-breadcrumbs-collapsed::before{ background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat; content:""; display:block; height:16px; width:16px; } .bp3-breadcrumbs-collapsed:hover{ background:#bfccd6; color:#182026; text-decoration:none; } .bp3-dark .bp3-breadcrumb, .bp3-dark .bp3-breadcrumbs-collapsed{ color:#a7b6c2; } .bp3-dark .bp3-breadcrumbs > li::after{ color:#a7b6c2; } .bp3-dark .bp3-breadcrumb.bp3-disabled{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-breadcrumb-current{ color:#f5f8fa; } .bp3-dark .bp3-breadcrumbs-collapsed{ background:rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-breadcrumbs-collapsed:hover{ background:rgba(16, 22, 26, 0.6); color:#f5f8fa; } .bp3-button{ display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:center; -ms-flex-align:center; align-items:center; border:none; border-radius:3px; cursor:pointer; font-size:14px; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; padding:5px 10px; text-align:left; vertical-align:middle; min-height:30px; min-width:30px; } .bp3-button > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-button > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-button::before, .bp3-button > *{ margin-right:7px; } .bp3-button:empty::before, .bp3-button > :last-child{ margin-right:0; } .bp3-button:empty{ padding:0 !important; } .bp3-button:disabled, .bp3-button.bp3-disabled{ cursor:not-allowed; } .bp3-button.bp3-fill{ display:-webkit-box; display:-ms-flexbox; display:flex; width:100%; } .bp3-button.bp3-align-right, .bp3-align-right .bp3-button{ text-align:right; } .bp3-button.bp3-align-left, .bp3-align-left .bp3-button{ text-align:left; } .bp3-button:not([class*="bp3-intent-"]){ background-color:#f5f8fa; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); color:#182026; } .bp3-button:not([class*="bp3-intent-"]):hover{ background-clip:padding-box; background-color:#ebf1f5; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{ background-color:#d8e1e8; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ background-color:rgba(206, 217, 224, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; outline:none; } .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{ background:rgba(206, 217, 224, 0.7); } .bp3-button.bp3-intent-primary{ background-color:#137cbd; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); color:#ffffff; } .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ color:#ffffff; } .bp3-button.bp3-intent-primary:hover{ background-color:#106ba3; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ background-color:#0e5a8a; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{ background-color:rgba(19, 124, 189, 0.5); background-image:none; border-color:transparent; -webkit-box-shadow:none; box-shadow:none; color:rgba(255, 255, 255, 0.6); } .bp3-button.bp3-intent-success{ background-color:#0f9960; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); color:#ffffff; } .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ color:#ffffff; } .bp3-button.bp3-intent-success:hover{ background-color:#0d8050; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ background-color:#0a6640; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{ background-color:rgba(15, 153, 96, 0.5); background-image:none; border-color:transparent; -webkit-box-shadow:none; box-shadow:none; color:rgba(255, 255, 255, 0.6); } .bp3-button.bp3-intent-warning{ background-color:#d9822b; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); color:#ffffff; } .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ color:#ffffff; } .bp3-button.bp3-intent-warning:hover{ background-color:#bf7326; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ background-color:#a66321; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{ background-color:rgba(217, 130, 43, 0.5); background-image:none; border-color:transparent; -webkit-box-shadow:none; box-shadow:none; color:rgba(255, 255, 255, 0.6); } .bp3-button.bp3-intent-danger{ background-color:#db3737; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); color:#ffffff; } .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ color:#ffffff; } .bp3-button.bp3-intent-danger:hover{ background-color:#c23030; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ background-color:#a82a2a; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{ background-color:rgba(219, 55, 55, 0.5); background-image:none; border-color:transparent; -webkit-box-shadow:none; box-shadow:none; color:rgba(255, 255, 255, 0.6); } .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ stroke:#ffffff; } .bp3-button.bp3-large, .bp3-large .bp3-button{ min-height:40px; min-width:40px; font-size:16px; padding:5px 15px; } .bp3-button.bp3-large::before, .bp3-button.bp3-large > *, .bp3-large .bp3-button::before, .bp3-large .bp3-button > *{ margin-right:10px; } .bp3-button.bp3-large:empty::before, .bp3-button.bp3-large > :last-child, .bp3-large .bp3-button:empty::before, .bp3-large .bp3-button > :last-child{ margin-right:0; } .bp3-button.bp3-small, .bp3-small .bp3-button{ min-height:24px; min-width:24px; padding:0 7px; } .bp3-button.bp3-loading{ position:relative; } .bp3-button.bp3-loading[class*="bp3-icon-"]::before{ visibility:hidden; } .bp3-button.bp3-loading .bp3-button-spinner{ margin:0; position:absolute; } .bp3-button.bp3-loading > :not(.bp3-button-spinner){ visibility:hidden; } .bp3-button[class*="bp3-icon-"]::before{ font-family:"Icons16", sans-serif; font-size:16px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; color:#5c7080; } .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{ color:#5c7080; } .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{ margin-left:7px; } .bp3-button .bp3-icon:first-child:last-child, .bp3-button .bp3-spinner + .bp3-icon:last-child{ margin:0 -7px; } .bp3-dark .bp3-button:not([class*="bp3-intent-"]){ background-color:#394b59; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ color:#f5f8fa; } .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ background-color:#202b33; background-image:none; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ background-color:rgba(57, 75, 89, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{ background:rgba(57, 75, 89, 0.7); } .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{ background:rgba(16, 22, 26, 0.5); stroke:#8a9ba8; } .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{ color:#a7b6c2; } .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{ color:#a7b6c2; } .bp3-dark .bp3-button[class*="bp3-intent-"]{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{ background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(255, 255, 255, 0.3); } .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ stroke:#8a9ba8; } .bp3-button:disabled::before, .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before, .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before, .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{ color:inherit !important; } .bp3-button.bp3-minimal{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-button.bp3-minimal:hover{ background:rgba(167, 182, 194, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; text-decoration:none; } .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{ background:rgba(115, 134, 148, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; } .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{ background:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ background:rgba(115, 134, 148, 0.3); } .bp3-dark .bp3-button.bp3-minimal{ background:none; -webkit-box-shadow:none; box-shadow:none; color:inherit; } .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-button.bp3-minimal:hover{ background:rgba(138, 155, 168, 0.15); } .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ background:rgba(138, 155, 168, 0.3); color:#f5f8fa; } .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{ background:none; color:rgba(167, 182, 194, 0.6); cursor:not-allowed; } .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ background:rgba(138, 155, 168, 0.3); } .bp3-button.bp3-minimal.bp3-intent-primary{ color:#106ba3; } .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#106ba3; } .bp3-button.bp3-minimal.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.15); color:#106ba3; } .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#106ba3; } .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(16, 107, 163, 0.5); } .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ stroke:#106ba3; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{ color:#48aff0; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.2); color:#48aff0; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#48aff0; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(72, 175, 240, 0.5); } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-button.bp3-minimal.bp3-intent-success{ color:#0d8050; } .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#0d8050; } .bp3-button.bp3-minimal.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.15); color:#0d8050; } .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#0d8050; } .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ background:none; color:rgba(13, 128, 80, 0.5); } .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ stroke:#0d8050; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{ color:#3dcc91; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.2); color:#3dcc91; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#3dcc91; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ background:none; color:rgba(61, 204, 145, 0.5); } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-button.bp3-minimal.bp3-intent-warning{ color:#bf7326; } .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#bf7326; } .bp3-button.bp3-minimal.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.15); color:#bf7326; } .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#bf7326; } .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(191, 115, 38, 0.5); } .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ stroke:#bf7326; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{ color:#ffb366; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.2); color:#ffb366; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#ffb366; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(255, 179, 102, 0.5); } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-button.bp3-minimal.bp3-intent-danger{ color:#c23030; } .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#c23030; } .bp3-button.bp3-minimal.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.15); color:#c23030; } .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#c23030; } .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(194, 48, 48, 0.5); } .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ stroke:#c23030; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{ color:#ff7373; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.2); color:#ff7373; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#ff7373; } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(255, 115, 115, 0.5); } .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-button.bp3-outlined{ background:none; -webkit-box-shadow:none; box-shadow:none; border:1px solid rgba(24, 32, 38, 0.2); -webkit-box-sizing:border-box; box-sizing:border-box; } .bp3-button.bp3-outlined:hover{ background:rgba(167, 182, 194, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; text-decoration:none; } .bp3-button.bp3-outlined:active, .bp3-button.bp3-outlined.bp3-active{ background:rgba(115, 134, 148, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; } .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined.bp3-disabled:hover{ background:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{ background:rgba(115, 134, 148, 0.3); } .bp3-dark .bp3-button.bp3-outlined{ background:none; -webkit-box-shadow:none; box-shadow:none; color:inherit; } .bp3-dark .bp3-button.bp3-outlined:hover, .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-button.bp3-outlined:hover{ background:rgba(138, 155, 168, 0.15); } .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{ background:rgba(138, 155, 168, 0.3); color:#f5f8fa; } .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{ background:none; color:rgba(167, 182, 194, 0.6); cursor:not-allowed; } .bp3-dark .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{ background:rgba(138, 155, 168, 0.3); } .bp3-button.bp3-outlined.bp3-intent-primary{ color:#106ba3; } .bp3-button.bp3-outlined.bp3-intent-primary:hover, .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#106ba3; } .bp3-button.bp3-outlined.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.15); color:#106ba3; } .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#106ba3; } .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(16, 107, 163, 0.5); } .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-button.bp3-outlined.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ stroke:#106ba3; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{ color:#48aff0; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.2); color:#48aff0; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#48aff0; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(72, 175, 240, 0.5); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-button.bp3-outlined.bp3-intent-success{ color:#0d8050; } .bp3-button.bp3-outlined.bp3-intent-success:hover, .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#0d8050; } .bp3-button.bp3-outlined.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.15); color:#0d8050; } .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#0d8050; } .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ background:none; color:rgba(13, 128, 80, 0.5); } .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-button.bp3-outlined.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ stroke:#0d8050; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{ color:#3dcc91; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.2); color:#3dcc91; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#3dcc91; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ background:none; color:rgba(61, 204, 145, 0.5); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-button.bp3-outlined.bp3-intent-warning{ color:#bf7326; } .bp3-button.bp3-outlined.bp3-intent-warning:hover, .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#bf7326; } .bp3-button.bp3-outlined.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.15); color:#bf7326; } .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#bf7326; } .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(191, 115, 38, 0.5); } .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-button.bp3-outlined.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ stroke:#bf7326; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{ color:#ffb366; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.2); color:#ffb366; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#ffb366; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(255, 179, 102, 0.5); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-button.bp3-outlined.bp3-intent-danger{ color:#c23030; } .bp3-button.bp3-outlined.bp3-intent-danger:hover, .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#c23030; } .bp3-button.bp3-outlined.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.15); color:#c23030; } .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#c23030; } .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(194, 48, 48, 0.5); } .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-button.bp3-outlined.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ stroke:#c23030; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{ color:#ff7373; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.2); color:#ff7373; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#ff7373; } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(255, 115, 115, 0.5); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled:hover{ border-color:rgba(92, 112, 128, 0.1); } .bp3-dark .bp3-button.bp3-outlined{ border-color:rgba(255, 255, 255, 0.4); } .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{ border-color:rgba(255, 255, 255, 0.2); } .bp3-button.bp3-outlined.bp3-intent-primary{ border-color:rgba(16, 107, 163, 0.6); } .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ border-color:rgba(16, 107, 163, 0.2); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{ border-color:rgba(72, 175, 240, 0.6); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ border-color:rgba(72, 175, 240, 0.2); } .bp3-button.bp3-outlined.bp3-intent-success{ border-color:rgba(13, 128, 80, 0.6); } .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ border-color:rgba(13, 128, 80, 0.2); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{ border-color:rgba(61, 204, 145, 0.6); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ border-color:rgba(61, 204, 145, 0.2); } .bp3-button.bp3-outlined.bp3-intent-warning{ border-color:rgba(191, 115, 38, 0.6); } .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ border-color:rgba(191, 115, 38, 0.2); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{ border-color:rgba(255, 179, 102, 0.6); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ border-color:rgba(255, 179, 102, 0.2); } .bp3-button.bp3-outlined.bp3-intent-danger{ border-color:rgba(194, 48, 48, 0.6); } .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ border-color:rgba(194, 48, 48, 0.2); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{ border-color:rgba(255, 115, 115, 0.6); } .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ border-color:rgba(255, 115, 115, 0.2); } a.bp3-button{ text-align:center; text-decoration:none; -webkit-transition:none; transition:none; } a.bp3-button, a.bp3-button:hover, a.bp3-button:active{ color:#182026; } a.bp3-button.bp3-disabled{ color:rgba(92, 112, 128, 0.6); } .bp3-button-text{ -webkit-box-flex:0; -ms-flex:0 1 auto; flex:0 1 auto; } .bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text, .bp3-button-group.bp3-align-left .bp3-button-text, .bp3-button-group.bp3-align-right .bp3-button-text{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; } .bp3-button-group{ display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; } .bp3-button-group .bp3-button{ -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; position:relative; z-index:4; } .bp3-button-group .bp3-button:focus{ z-index:5; } .bp3-button-group .bp3-button:hover{ z-index:6; } .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{ z-index:7; } .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{ z-index:3; } .bp3-button-group .bp3-button[class*="bp3-intent-"]{ z-index:9; } .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{ z-index:10; } .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{ z-index:11; } .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{ z-index:12; } .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{ z-index:8; } .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button, .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){ border-bottom-left-radius:0; border-top-left-radius:0; } .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ border-bottom-right-radius:0; border-top-right-radius:0; margin-right:-1px; } .bp3-button-group.bp3-minimal .bp3-button{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-button-group.bp3-minimal .bp3-button:hover{ background:rgba(167, 182, 194, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; text-decoration:none; } .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ background:rgba(115, 134, 148, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; } .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ background:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ background:rgba(115, 134, 148, 0.3); } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{ background:none; -webkit-box-shadow:none; box-shadow:none; color:inherit; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{ background:rgba(138, 155, 168, 0.15); } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ background:rgba(138, 155, 168, 0.3); color:#f5f8fa; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ background:none; color:rgba(167, 182, 194, 0.6); cursor:not-allowed; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ background:rgba(138, 155, 168, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ color:#106ba3; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#106ba3; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.15); color:#106ba3; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#106ba3; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(16, 107, 163, 0.5); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ stroke:#106ba3; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ color:#48aff0; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.2); color:#48aff0; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#48aff0; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(72, 175, 240, 0.5); } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ color:#0d8050; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#0d8050; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.15); color:#0d8050; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#0d8050; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ background:none; color:rgba(13, 128, 80, 0.5); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ stroke:#0d8050; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ color:#3dcc91; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.2); color:#3dcc91; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#3dcc91; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ background:none; color:rgba(61, 204, 145, 0.5); } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ color:#bf7326; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#bf7326; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.15); color:#bf7326; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#bf7326; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(191, 115, 38, 0.5); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ stroke:#bf7326; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ color:#ffb366; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.2); color:#ffb366; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#ffb366; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(255, 179, 102, 0.5); } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ color:#c23030; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#c23030; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.15); color:#c23030; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#c23030; } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(194, 48, 48, 0.5); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ stroke:#c23030; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ color:#ff7373; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.2); color:#ff7373; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#ff7373; } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(255, 115, 115, 0.5); } .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-button-group .bp3-popover-wrapper, .bp3-button-group .bp3-popover-target{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; } .bp3-button-group.bp3-fill{ display:-webkit-box; display:-ms-flexbox; display:flex; width:100%; } .bp3-button-group .bp3-button.bp3-fill, .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; } .bp3-button-group.bp3-vertical{ -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; vertical-align:top; } .bp3-button-group.bp3-vertical.bp3-fill{ height:100%; width:unset; } .bp3-button-group.bp3-vertical .bp3-button{ margin-right:0 !important; width:100%; } .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button, .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{ border-radius:3px 3px 0 0; } .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button, .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{ border-radius:0 0 3px 3px; } .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){ margin-bottom:-1px; } .bp3-button-group.bp3-align-left .bp3-button{ text-align:left; } .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ margin-right:1px; } .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button, .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){ margin-bottom:1px; } .bp3-callout{ font-size:14px; line-height:1.5; background-color:rgba(138, 155, 168, 0.15); border-radius:3px; padding:10px 12px 9px; position:relative; width:100%; } .bp3-callout[class*="bp3-icon-"]{ padding-left:40px; } .bp3-callout[class*="bp3-icon-"]::before{ font-family:"Icons20", sans-serif; font-size:20px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; color:#5c7080; left:10px; position:absolute; top:10px; } .bp3-callout.bp3-callout-icon{ padding-left:40px; } .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{ color:#5c7080; left:10px; position:absolute; top:10px; } .bp3-callout .bp3-heading{ line-height:20px; margin-bottom:5px; margin-top:0; } .bp3-callout .bp3-heading:last-child{ margin-bottom:0; } .bp3-dark .bp3-callout{ background-color:rgba(138, 155, 168, 0.2); } .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{ color:#a7b6c2; } .bp3-callout.bp3-intent-primary{ background-color:rgba(19, 124, 189, 0.15); } .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, .bp3-callout.bp3-intent-primary .bp3-heading{ color:#106ba3; } .bp3-dark .bp3-callout.bp3-intent-primary{ background-color:rgba(19, 124, 189, 0.25); } .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{ color:#48aff0; } .bp3-callout.bp3-intent-success{ background-color:rgba(15, 153, 96, 0.15); } .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, .bp3-callout.bp3-intent-success > .bp3-icon:first-child, .bp3-callout.bp3-intent-success .bp3-heading{ color:#0d8050; } .bp3-dark .bp3-callout.bp3-intent-success{ background-color:rgba(15, 153, 96, 0.25); } .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child, .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{ color:#3dcc91; } .bp3-callout.bp3-intent-warning{ background-color:rgba(217, 130, 43, 0.15); } .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, .bp3-callout.bp3-intent-warning .bp3-heading{ color:#bf7326; } .bp3-dark .bp3-callout.bp3-intent-warning{ background-color:rgba(217, 130, 43, 0.25); } .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{ color:#ffb366; } .bp3-callout.bp3-intent-danger{ background-color:rgba(219, 55, 55, 0.15); } .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, .bp3-callout.bp3-intent-danger .bp3-heading{ color:#c23030; } .bp3-dark .bp3-callout.bp3-intent-danger{ background-color:rgba(219, 55, 55, 0.25); } .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{ color:#ff7373; } .bp3-running-text .bp3-callout{ margin:20px 0; } .bp3-card{ background-color:#ffffff; border-radius:3px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); padding:20px; -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-card.bp3-dark, .bp3-dark .bp3-card{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } .bp3-elevation-0{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } .bp3-elevation-0.bp3-dark, .bp3-dark .bp3-elevation-0{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } .bp3-elevation-1{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-elevation-1.bp3-dark, .bp3-dark .bp3-elevation-1{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-elevation-2{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); } .bp3-elevation-2.bp3-dark, .bp3-dark .bp3-elevation-2{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); } .bp3-elevation-3{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } .bp3-elevation-3.bp3-dark, .bp3-dark .bp3-elevation-3{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } .bp3-elevation-4{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); } .bp3-elevation-4.bp3-dark, .bp3-dark .bp3-elevation-4{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } .bp3-card.bp3-interactive:hover{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); cursor:pointer; } .bp3-card.bp3-interactive:hover.bp3-dark, .bp3-dark .bp3-card.bp3-interactive:hover{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } .bp3-card.bp3-interactive:active{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); opacity:0.9; -webkit-transition-duration:0; transition-duration:0; } .bp3-card.bp3-interactive:active.bp3-dark, .bp3-dark .bp3-card.bp3-interactive:active{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-collapse{ height:0; overflow-y:hidden; -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-collapse .bp3-collapse-body{ -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{ display:none; } .bp3-context-menu .bp3-popover-target{ display:block; } .bp3-context-menu-popover-target{ position:fixed; } .bp3-divider{ border-bottom:1px solid rgba(16, 22, 26, 0.15); border-right:1px solid rgba(16, 22, 26, 0.15); margin:5px; } .bp3-dark .bp3-divider{ border-color:rgba(16, 22, 26, 0.4); } .bp3-dialog-container{ opacity:1; -webkit-transform:scale(1); transform:scale(1); -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; min-height:100%; pointer-events:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; width:100%; } .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{ opacity:0; -webkit-transform:scale(0.5); transform:scale(0.5); } .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{ opacity:1; -webkit-transform:scale(1); transform:scale(1); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:opacity, transform; transition-property:opacity, transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{ opacity:1; -webkit-transform:scale(1); transform:scale(1); } .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{ opacity:0; -webkit-transform:scale(0.5); transform:scale(0.5); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:opacity, transform; transition-property:opacity, transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } .bp3-dialog{ background:#ebf1f5; border-radius:6px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; margin:30px 0; padding-bottom:20px; pointer-events:all; -webkit-user-select:text; -moz-user-select:text; -ms-user-select:text; user-select:text; width:500px; } .bp3-dialog:focus{ outline:0; } .bp3-dialog.bp3-dark, .bp3-dark .bp3-dialog{ background:#293742; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dialog-header{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; background:#ffffff; border-radius:6px 6px 0 0; -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; min-height:40px; padding-left:20px; padding-right:5px; z-index:30; } .bp3-dialog-header .bp3-icon-large, .bp3-dialog-header .bp3-icon{ color:#5c7080; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; margin-right:10px; } .bp3-dialog-header .bp3-heading{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; line-height:inherit; margin:0; } .bp3-dialog-header .bp3-heading:last-child{ margin-right:20px; } .bp3-dark .bp3-dialog-header{ background:#30404d; -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-dialog-header .bp3-icon-large, .bp3-dark .bp3-dialog-header .bp3-icon{ color:#a7b6c2; } .bp3-dialog-body{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; line-height:18px; margin:20px; } .bp3-dialog-footer{ -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; margin:0 20px; } .bp3-dialog-footer-actions{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:end; -ms-flex-pack:end; justify-content:flex-end; } .bp3-dialog-footer-actions .bp3-button{ margin-left:10px; } .bp3-multistep-dialog-panels{ display:-webkit-box; display:-ms-flexbox; display:flex; } .bp3-multistep-dialog-left-panel{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:1; -ms-flex:1; flex:1; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; } .bp3-dark .bp3-multistep-dialog-left-panel{ background:#202b33; } .bp3-multistep-dialog-right-panel{ background-color:#f5f8fa; border-left:1px solid rgba(16, 22, 26, 0.15); border-radius:0 0 6px 0; -webkit-box-flex:3; -ms-flex:3; flex:3; min-width:0; } .bp3-dark .bp3-multistep-dialog-right-panel{ background-color:#293742; border-left:1px solid rgba(16, 22, 26, 0.4); } .bp3-multistep-dialog-footer{ background-color:#ffffff; border-radius:0 0 6px 0; border-top:1px solid rgba(16, 22, 26, 0.15); padding:10px; } .bp3-dark .bp3-multistep-dialog-footer{ background:#30404d; border-top:1px solid rgba(16, 22, 26, 0.4); } .bp3-dialog-step-container{ background-color:#f5f8fa; border-bottom:1px solid rgba(16, 22, 26, 0.15); } .bp3-dark .bp3-dialog-step-container{ background:#293742; border-bottom:1px solid rgba(16, 22, 26, 0.4); } .bp3-dialog-step-container.bp3-dialog-step-viewed{ background-color:#ffffff; } .bp3-dark .bp3-dialog-step-container.bp3-dialog-step-viewed{ background:#30404d; } .bp3-dialog-step{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; background-color:#f5f8fa; border-radius:6px; cursor:not-allowed; display:-webkit-box; display:-ms-flexbox; display:flex; margin:4px; padding:6px 14px; } .bp3-dark .bp3-dialog-step{ background:#293742; } .bp3-dialog-step-viewed .bp3-dialog-step{ background-color:#ffffff; cursor:pointer; } .bp3-dark .bp3-dialog-step-viewed .bp3-dialog-step{ background:#30404d; } .bp3-dialog-step:hover{ background-color:#f5f8fa; } .bp3-dark .bp3-dialog-step:hover{ background:#293742; } .bp3-dialog-step-icon{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; background-color:rgba(92, 112, 128, 0.6); border-radius:50%; color:#ffffff; display:-webkit-box; display:-ms-flexbox; display:flex; height:25px; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; width:25px; } .bp3-dark .bp3-dialog-step-icon{ background-color:rgba(167, 182, 194, 0.6); } .bp3-active.bp3-dialog-step-viewed .bp3-dialog-step-icon{ background-color:#2b95d6; } .bp3-dialog-step-viewed .bp3-dialog-step-icon{ background-color:#8a9ba8; } .bp3-dialog-step-title{ color:rgba(92, 112, 128, 0.6); -webkit-box-flex:1; -ms-flex:1; flex:1; padding-left:10px; } .bp3-dark .bp3-dialog-step-title{ color:rgba(167, 182, 194, 0.6); } .bp3-active.bp3-dialog-step-viewed .bp3-dialog-step-title{ color:#2b95d6; } .bp3-dialog-step-viewed:not(.bp3-active) .bp3-dialog-step-title{ color:#182026; } .bp3-dark .bp3-dialog-step-viewed:not(.bp3-active) .bp3-dialog-step-title{ color:#f5f8fa; } .bp3-drawer{ background:#ffffff; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; margin:0; padding:0; } .bp3-drawer:focus{ outline:0; } .bp3-drawer.bp3-position-top{ height:50%; left:0; right:0; top:0; } .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{ -webkit-transform:translateY(-100%); transform:translateY(-100%); } .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{ -webkit-transform:translateY(0); transform:translateY(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-top.bp3-overlay-exit{ -webkit-transform:translateY(0); transform:translateY(0); } .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{ -webkit-transform:translateY(-100%); transform:translateY(-100%); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-bottom{ bottom:0; height:50%; left:0; right:0; } .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{ -webkit-transform:translateY(100%); transform:translateY(100%); } .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{ -webkit-transform:translateY(0); transform:translateY(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{ -webkit-transform:translateY(0); transform:translateY(0); } .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{ -webkit-transform:translateY(100%); transform:translateY(100%); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-left{ bottom:0; left:0; top:0; width:50%; } .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{ -webkit-transform:translateX(-100%); transform:translateX(-100%); } .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{ -webkit-transform:translateX(0); transform:translateX(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-left.bp3-overlay-exit{ -webkit-transform:translateX(0); transform:translateX(0); } .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{ -webkit-transform:translateX(-100%); transform:translateX(-100%); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-right{ bottom:0; right:0; top:0; width:50%; } .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{ -webkit-transform:translateX(100%); transform:translateX(100%); } .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{ -webkit-transform:translateX(0); transform:translateX(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-position-right.bp3-overlay-exit{ -webkit-transform:translateX(0); transform:translateX(0); } .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{ -webkit-transform:translateX(100%); transform:translateX(100%); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical){ bottom:0; right:0; top:0; width:50%; } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{ -webkit-transform:translateX(100%); transform:translateX(100%); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{ -webkit-transform:translateX(0); transform:translateX(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{ -webkit-transform:translateX(0); transform:translateX(0); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{ -webkit-transform:translateX(100%); transform:translateX(100%); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical{ bottom:0; height:50%; left:0; right:0; } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical.bp3-overlay-appear{ -webkit-transform:translateY(100%); transform:translateY(100%); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{ -webkit-transform:translateY(0); transform:translateY(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical.bp3-overlay-exit{ -webkit-transform:translateY(0); transform:translateY(0); } .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{ -webkit-transform:translateY(100%); transform:translateY(100%); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-drawer.bp3-dark, .bp3-dark .bp3-drawer{ background:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-drawer-header{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; border-radius:0; -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; min-height:40px; padding:5px; padding-left:20px; position:relative; } .bp3-drawer-header .bp3-icon-large, .bp3-drawer-header .bp3-icon{ color:#5c7080; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; margin-right:10px; } .bp3-drawer-header .bp3-heading{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; line-height:inherit; margin:0; } .bp3-drawer-header .bp3-heading:last-child{ margin-right:20px; } .bp3-dark .bp3-drawer-header{ -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-drawer-header .bp3-icon-large, .bp3-dark .bp3-drawer-header .bp3-icon{ color:#a7b6c2; } .bp3-drawer-body{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; line-height:18px; overflow:auto; } .bp3-drawer-footer{ -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; padding:10px 20px; position:relative; } .bp3-dark .bp3-drawer-footer{ -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); } .bp3-editable-text{ cursor:text; display:inline-block; max-width:100%; position:relative; vertical-align:top; white-space:nowrap; } .bp3-editable-text::before{ bottom:-3px; left:-3px; position:absolute; right:-3px; top:-3px; border-radius:3px; content:""; -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-editable-text:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); } .bp3-editable-text.bp3-editable-text-editing::before{ background-color:#ffffff; -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-editable-text.bp3-disabled::before{ -webkit-box-shadow:none; box-shadow:none; } .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input, .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ color:#137cbd; } .bp3-editable-text.bp3-intent-primary:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); } .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-editable-text.bp3-intent-success .bp3-editable-text-input, .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ color:#0f9960; } .bp3-editable-text.bp3-intent-success:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); } .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input, .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ color:#d9822b; } .bp3-editable-text.bp3-intent-warning:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); } .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input, .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ color:#db3737; } .bp3-editable-text.bp3-intent-danger:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); } .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-editable-text:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{ background-color:rgba(16, 22, 26, 0.3); -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-editable-text.bp3-disabled::before{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ color:#48aff0; } .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ color:#3dcc91; } .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ color:#ffb366; } .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ color:#ff7373; } .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{ -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); } .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-editable-text-input, .bp3-editable-text-content{ color:inherit; display:inherit; font:inherit; letter-spacing:inherit; max-width:inherit; min-width:inherit; position:relative; resize:none; text-transform:inherit; vertical-align:top; } .bp3-editable-text-input{ background:none; border:none; -webkit-box-shadow:none; box-shadow:none; padding:0; white-space:pre-wrap; width:100%; } .bp3-editable-text-input::-webkit-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-editable-text-input::-moz-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-editable-text-input:-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-editable-text-input::-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-editable-text-input::placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-editable-text-input:focus{ outline:none; } .bp3-editable-text-input::-ms-clear{ display:none; } .bp3-editable-text-content{ overflow:hidden; padding-right:2px; text-overflow:ellipsis; white-space:pre; } .bp3-editable-text-editing > .bp3-editable-text-content{ left:0; position:absolute; visibility:hidden; } .bp3-editable-text-placeholder > .bp3-editable-text-content{ color:rgba(92, 112, 128, 0.6); } .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{ color:rgba(167, 182, 194, 0.6); } .bp3-editable-text.bp3-multiline{ display:block; } .bp3-editable-text.bp3-multiline .bp3-editable-text-content{ overflow:auto; white-space:pre-wrap; word-wrap:break-word; } .bp3-divider{ border-bottom:1px solid rgba(16, 22, 26, 0.15); border-right:1px solid rgba(16, 22, 26, 0.15); margin:5px; } .bp3-dark .bp3-divider{ border-color:rgba(16, 22, 26, 0.4); } .bp3-control-group{ -webkit-transform:translateZ(0); transform:translateZ(0); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; } .bp3-control-group > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-control-group > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-control-group .bp3-button, .bp3-control-group .bp3-html-select, .bp3-control-group .bp3-input, .bp3-control-group .bp3-select{ position:relative; } .bp3-control-group .bp3-input{ border-radius:inherit; z-index:2; } .bp3-control-group .bp3-input:focus{ border-radius:3px; z-index:14; } .bp3-control-group .bp3-input[class*="bp3-intent"]{ z-index:13; } .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{ z-index:15; } .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{ z-index:1; } .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{ z-index:13; } .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{ z-index:15; } .bp3-control-group .bp3-button, .bp3-control-group .bp3-html-select select, .bp3-control-group .bp3-select select{ -webkit-transform:translateZ(0); transform:translateZ(0); border-radius:inherit; z-index:4; } .bp3-control-group .bp3-button:focus, .bp3-control-group .bp3-html-select select:focus, .bp3-control-group .bp3-select select:focus{ z-index:5; } .bp3-control-group .bp3-button:hover, .bp3-control-group .bp3-html-select select:hover, .bp3-control-group .bp3-select select:hover{ z-index:6; } .bp3-control-group .bp3-button:active, .bp3-control-group .bp3-html-select select:active, .bp3-control-group .bp3-select select:active{ z-index:7; } .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled, .bp3-control-group .bp3-html-select select[readonly], .bp3-control-group .bp3-html-select select:disabled, .bp3-control-group .bp3-html-select select.bp3-disabled, .bp3-control-group .bp3-select select[readonly], .bp3-control-group .bp3-select select:disabled, .bp3-control-group .bp3-select select.bp3-disabled{ z-index:3; } .bp3-control-group .bp3-button[class*="bp3-intent"], .bp3-control-group .bp3-html-select select[class*="bp3-intent"], .bp3-control-group .bp3-select select[class*="bp3-intent"]{ z-index:9; } .bp3-control-group .bp3-button[class*="bp3-intent"]:focus, .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus, .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{ z-index:10; } .bp3-control-group .bp3-button[class*="bp3-intent"]:hover, .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover, .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{ z-index:11; } .bp3-control-group .bp3-button[class*="bp3-intent"]:active, .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active, .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{ z-index:12; } .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled, .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly], .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled, .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly], .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{ z-index:8; } .bp3-control-group .bp3-input-group > .bp3-icon, .bp3-control-group .bp3-input-group > .bp3-button, .bp3-control-group .bp3-input-group > .bp3-input-left-container, .bp3-control-group .bp3-input-group > .bp3-input-action{ z-index:16; } .bp3-control-group .bp3-select::after, .bp3-control-group .bp3-html-select::after, .bp3-control-group .bp3-select > .bp3-icon, .bp3-control-group .bp3-html-select > .bp3-icon{ z-index:17; } .bp3-control-group .bp3-select:focus-within{ z-index:5; } .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){ margin-right:-1px; } .bp3-control-group:not(.bp3-vertical) > .bp3-divider:not(:first-child){ margin-left:6px; } .bp3-dark .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){ margin-right:0; } .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{ margin-left:1px; } .bp3-control-group .bp3-popover-wrapper, .bp3-control-group .bp3-popover-target{ border-radius:inherit; } .bp3-control-group > :first-child{ border-radius:3px 0 0 3px; } .bp3-control-group > :last-child{ border-radius:0 3px 3px 0; margin-right:0; } .bp3-control-group > :only-child{ border-radius:3px; margin-right:0; } .bp3-control-group .bp3-input-group .bp3-button{ border-radius:3px; } .bp3-control-group .bp3-numeric-input:not(:first-child) .bp3-input-group{ border-bottom-left-radius:0; border-top-left-radius:0; } .bp3-control-group.bp3-fill{ width:100%; } .bp3-control-group > .bp3-fill{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; } .bp3-control-group.bp3-fill > *:not(.bp3-fixed){ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; } .bp3-control-group.bp3-vertical{ -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; } .bp3-control-group.bp3-vertical > *{ margin-top:-1px; } .bp3-control-group.bp3-vertical > :first-child{ border-radius:3px 3px 0 0; margin-top:0; } .bp3-control-group.bp3-vertical > :last-child{ border-radius:0 0 3px 3px; } .bp3-control{ cursor:pointer; display:block; margin-bottom:10px; position:relative; text-transform:none; } .bp3-control input:checked ~ .bp3-control-indicator{ background-color:#137cbd; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); color:#ffffff; } .bp3-control:hover input:checked ~ .bp3-control-indicator{ background-color:#106ba3; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ background:#0e5a8a; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-control input:disabled:checked ~ .bp3-control-indicator{ background:rgba(19, 124, 189, 0.5); -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{ background-color:#106ba3; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ background-color:#0e5a8a; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{ background:rgba(14, 90, 138, 0.5); -webkit-box-shadow:none; box-shadow:none; } .bp3-control:not(.bp3-align-right){ padding-left:26px; } .bp3-control:not(.bp3-align-right) .bp3-control-indicator{ margin-left:-26px; } .bp3-control.bp3-align-right{ padding-right:26px; } .bp3-control.bp3-align-right .bp3-control-indicator{ margin-right:-26px; } .bp3-control.bp3-disabled{ color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-control.bp3-inline{ display:inline-block; margin-right:20px; } .bp3-control input{ left:0; opacity:0; position:absolute; top:0; z-index:-1; } .bp3-control .bp3-control-indicator{ background-clip:padding-box; background-color:#f5f8fa; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); border:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); cursor:pointer; display:inline-block; font-size:16px; height:1em; margin-right:10px; margin-top:-3px; position:relative; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; vertical-align:middle; width:1em; } .bp3-control .bp3-control-indicator::before{ content:""; display:block; height:1em; width:1em; } .bp3-control:hover .bp3-control-indicator{ background-color:#ebf1f5; } .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ background:#d8e1e8; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-control input:disabled ~ .bp3-control-indicator{ background:rgba(206, 217, 224, 0.5); -webkit-box-shadow:none; box-shadow:none; cursor:not-allowed; } .bp3-control input:focus ~ .bp3-control-indicator{ outline:rgba(19, 124, 189, 0.6) auto 2px; outline-offset:2px; -moz-outline-radius:6px; } .bp3-control.bp3-align-right .bp3-control-indicator{ float:right; margin-left:10px; margin-top:1px; } .bp3-control.bp3-large{ font-size:16px; } .bp3-control.bp3-large:not(.bp3-align-right){ padding-left:30px; } .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ margin-left:-30px; } .bp3-control.bp3-large.bp3-align-right{ padding-right:30px; } .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ margin-right:-30px; } .bp3-control.bp3-large .bp3-control-indicator{ font-size:20px; } .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ margin-top:0; } .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ background-color:#137cbd; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); color:#ffffff; } .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ background-color:#106ba3; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ background:#0e5a8a; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ background:rgba(19, 124, 189, 0.5); -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ background-color:#106ba3; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ background-color:#0e5a8a; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ background:rgba(14, 90, 138, 0.5); -webkit-box-shadow:none; box-shadow:none; } .bp3-control.bp3-checkbox .bp3-control-indicator{ border-radius:3px; } .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{ background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='white'/%3e%3c/svg%3e"); } .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{ background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); } .bp3-control.bp3-radio .bp3-control-indicator{ border-radius:50%; } .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{ background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); } .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{ opacity:0.5; } .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{ -moz-outline-radius:16px; } .bp3-control.bp3-switch input ~ .bp3-control-indicator{ background:rgba(167, 182, 194, 0.5); } .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ background:rgba(115, 134, 148, 0.5); } .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ background:rgba(92, 112, 128, 0.5); } .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ background:rgba(206, 217, 224, 0.5); } .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ background:rgba(255, 255, 255, 0.8); } .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ background:#137cbd; } .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ background:#106ba3; } .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ background:#0e5a8a; } .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ background:rgba(19, 124, 189, 0.5); } .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ background:rgba(255, 255, 255, 0.8); } .bp3-control.bp3-switch:not(.bp3-align-right){ padding-left:38px; } .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{ margin-left:-38px; } .bp3-control.bp3-switch.bp3-align-right{ padding-right:38px; } .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{ margin-right:-38px; } .bp3-control.bp3-switch .bp3-control-indicator{ border:none; border-radius:1.75em; -webkit-box-shadow:none !important; box-shadow:none !important; min-width:1.75em; -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); width:auto; } .bp3-control.bp3-switch .bp3-control-indicator::before{ background:#ffffff; border-radius:50%; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); height:calc(1em - 4px); left:0; margin:2px; position:absolute; -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); width:calc(1em - 4px); } .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ left:calc(100% - 1em); } .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){ padding-left:45px; } .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ margin-left:-45px; } .bp3-control.bp3-switch.bp3-large.bp3-align-right{ padding-right:45px; } .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{ margin-right:-45px; } .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{ background:rgba(16, 22, 26, 0.5); } .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ background:rgba(16, 22, 26, 0.7); } .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ background:rgba(16, 22, 26, 0.9); } .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ background:rgba(57, 75, 89, 0.5); } .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ background:rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ background:#137cbd; } .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ background:#106ba3; } .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ background:#0e5a8a; } .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ background:rgba(14, 90, 138, 0.5); } .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ background:rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{ background:#394b59; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-control.bp3-switch .bp3-switch-inner-text{ font-size:0.7em; text-align:center; } .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{ line-height:0; margin-left:0.5em; margin-right:1.2em; visibility:hidden; } .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{ line-height:1em; margin-left:1.2em; margin-right:0.5em; visibility:visible; } .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{ line-height:1em; visibility:visible; } .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{ line-height:0; visibility:hidden; } .bp3-dark .bp3-control{ color:#f5f8fa; } .bp3-dark .bp3-control.bp3-disabled{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-control .bp3-control-indicator{ background-color:#394b59; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-control:hover .bp3-control-indicator{ background-color:#30404d; } .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ background:#202b33; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{ background:rgba(57, 75, 89, 0.5); -webkit-box-shadow:none; box-shadow:none; cursor:not-allowed; } .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ color:rgba(167, 182, 194, 0.6); } .bp3-file-input{ cursor:pointer; display:inline-block; height:30px; position:relative; } .bp3-file-input input{ margin:0; min-width:200px; opacity:0; } .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ background:rgba(206, 217, 224, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; resize:none; } .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ background-color:rgba(206, 217, 224, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; outline:none; } .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover, .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{ background:rgba(206, 217, 224, 0.7); } .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ background:rgba(57, 75, 89, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ background-color:rgba(57, 75, 89, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{ background:rgba(57, 75, 89, 0.7); } .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ color:#182026; } .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ color:#f5f8fa; } .bp3-file-input.bp3-fill{ width:100%; } .bp3-file-input.bp3-large, .bp3-large .bp3-file-input{ height:40px; } .bp3-file-input .bp3-file-upload-input-custom-text::after{ content:attr(bp3-button-text); } .bp3-file-upload-input{ -webkit-appearance:none; -moz-appearance:none; appearance:none; background:#ffffff; border:none; border-radius:3px; -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); color:#182026; font-size:14px; font-weight:400; height:30px; line-height:30px; outline:none; padding:0 10px; -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); vertical-align:middle; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; color:rgba(92, 112, 128, 0.6); left:0; padding-right:80px; position:absolute; right:0; top:0; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } .bp3-file-upload-input::-webkit-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-file-upload-input::-moz-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-file-upload-input:-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-file-upload-input::-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-file-upload-input::placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{ border-radius:30px; -webkit-box-sizing:border-box; box-sizing:border-box; padding-left:10px; } .bp3-file-upload-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{ background:rgba(206, 217, 224, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; resize:none; } .bp3-file-upload-input::after{ background-color:#f5f8fa; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); color:#182026; min-height:24px; min-width:24px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; border-radius:3px; content:"Browse"; line-height:24px; margin:3px; position:absolute; right:0; text-align:center; top:0; width:70px; } .bp3-file-upload-input::after:hover{ background-clip:padding-box; background-color:#ebf1f5; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{ background-color:#d8e1e8; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{ background-color:rgba(206, 217, 224, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; outline:none; } .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{ background:rgba(206, 217, 224, 0.7); } .bp3-file-upload-input:hover::after{ background-clip:padding-box; background-color:#ebf1f5; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } .bp3-file-upload-input:active::after{ background-color:#d8e1e8; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-large .bp3-file-upload-input{ font-size:16px; height:40px; line-height:40px; padding-right:95px; } .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{ padding:0 15px; } .bp3-large .bp3-file-upload-input::after{ min-height:30px; min-width:30px; line-height:30px; margin:5px; width:85px; } .bp3-dark .bp3-file-upload-input{ background:rgba(16, 22, 26, 0.3); -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input::-moz-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input::placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input:focus{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-file-upload-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{ background:rgba(57, 75, 89, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input::after{ background-color:#394b59; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ color:#f5f8fa; } .bp3-dark .bp3-file-upload-input::after:hover{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ background-color:#202b33; background-image:none; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{ background-color:rgba(57, 75, 89, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{ background:rgba(57, 75, 89, 0.7); } .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{ background:rgba(16, 22, 26, 0.5); stroke:#8a9ba8; } .bp3-dark .bp3-file-upload-input:hover::after{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-file-upload-input:active::after{ background-color:#202b33; background-image:none; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-file-upload-input::after{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } .bp3-form-group{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; margin:0 0 15px; } .bp3-form-group label.bp3-label{ margin-bottom:5px; } .bp3-form-group .bp3-control{ margin-top:7px; } .bp3-form-group .bp3-form-helper-text{ color:#5c7080; font-size:12px; margin-top:5px; } .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ color:#106ba3; } .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ color:#0d8050; } .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ color:#bf7326; } .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ color:#c23030; } .bp3-form-group.bp3-inline{ -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; } .bp3-form-group.bp3-inline.bp3-large label.bp3-label{ line-height:40px; margin:0 10px 0 0; } .bp3-form-group.bp3-inline label.bp3-label{ line-height:30px; margin:0 10px 0 0; } .bp3-form-group.bp3-disabled .bp3-label, .bp3-form-group.bp3-disabled .bp3-text-muted, .bp3-form-group.bp3-disabled .bp3-form-helper-text{ color:rgba(92, 112, 128, 0.6) !important; } .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ color:#48aff0; } .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ color:#3dcc91; } .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ color:#ffb366; } .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ color:#ff7373; } .bp3-dark .bp3-form-group .bp3-form-helper-text{ color:#a7b6c2; } .bp3-dark .bp3-form-group.bp3-disabled .bp3-label, .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted, .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{ color:rgba(167, 182, 194, 0.6) !important; } .bp3-input-group{ display:block; position:relative; } .bp3-input-group .bp3-input{ position:relative; width:100%; } .bp3-input-group .bp3-input:not(:first-child){ padding-left:30px; } .bp3-input-group .bp3-input:not(:last-child){ padding-right:30px; } .bp3-input-group .bp3-input-action, .bp3-input-group > .bp3-input-left-container, .bp3-input-group > .bp3-button, .bp3-input-group > .bp3-icon{ position:absolute; top:0; } .bp3-input-group .bp3-input-action:first-child, .bp3-input-group > .bp3-input-left-container:first-child, .bp3-input-group > .bp3-button:first-child, .bp3-input-group > .bp3-icon:first-child{ left:0; } .bp3-input-group .bp3-input-action:last-child, .bp3-input-group > .bp3-input-left-container:last-child, .bp3-input-group > .bp3-button:last-child, .bp3-input-group > .bp3-icon:last-child{ right:0; } .bp3-input-group .bp3-button{ min-height:24px; min-width:24px; margin:3px; padding:0 7px; } .bp3-input-group .bp3-button:empty{ padding:0; } .bp3-input-group > .bp3-input-left-container, .bp3-input-group > .bp3-icon{ z-index:1; } .bp3-input-group > .bp3-input-left-container > .bp3-icon, .bp3-input-group > .bp3-icon{ color:#5c7080; } .bp3-input-group > .bp3-input-left-container > .bp3-icon:empty, .bp3-input-group > .bp3-icon:empty{ font-family:"Icons16", sans-serif; font-size:16px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; } .bp3-input-group > .bp3-input-left-container > .bp3-icon, .bp3-input-group > .bp3-icon, .bp3-input-group .bp3-input-action > .bp3-spinner{ margin:7px; } .bp3-input-group .bp3-tag{ margin:5px; } .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ color:#5c7080; } .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ color:#a7b6c2; } .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{ color:#5c7080; } .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{ color:rgba(92, 112, 128, 0.6) !important; } .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{ color:rgba(92, 112, 128, 0.6) !important; } .bp3-input-group.bp3-disabled{ cursor:not-allowed; } .bp3-input-group.bp3-disabled .bp3-icon{ color:rgba(92, 112, 128, 0.6); } .bp3-input-group.bp3-large .bp3-button{ min-height:30px; min-width:30px; margin:5px; } .bp3-input-group.bp3-large > .bp3-input-left-container > .bp3-icon, .bp3-input-group.bp3-large > .bp3-icon, .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{ margin:12px; } .bp3-input-group.bp3-large .bp3-input{ font-size:16px; height:40px; line-height:40px; } .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{ padding:0 15px; } .bp3-input-group.bp3-large .bp3-input:not(:first-child){ padding-left:40px; } .bp3-input-group.bp3-large .bp3-input:not(:last-child){ padding-right:40px; } .bp3-input-group.bp3-small .bp3-button{ min-height:20px; min-width:20px; margin:2px; } .bp3-input-group.bp3-small .bp3-tag{ min-height:20px; min-width:20px; margin:2px; } .bp3-input-group.bp3-small > .bp3-input-left-container > .bp3-icon, .bp3-input-group.bp3-small > .bp3-icon, .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{ margin:4px; } .bp3-input-group.bp3-small .bp3-input{ font-size:12px; height:24px; line-height:24px; padding-left:8px; padding-right:8px; } .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{ padding:0 12px; } .bp3-input-group.bp3-small .bp3-input:not(:first-child){ padding-left:24px; } .bp3-input-group.bp3-small .bp3-input:not(:last-child){ padding-right:24px; } .bp3-input-group.bp3-fill{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; width:100%; } .bp3-input-group.bp3-round .bp3-button, .bp3-input-group.bp3-round .bp3-input, .bp3-input-group.bp3-round .bp3-tag{ border-radius:30px; } .bp3-dark .bp3-input-group .bp3-icon{ color:#a7b6c2; } .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{ color:rgba(167, 182, 194, 0.6); } .bp3-input-group.bp3-intent-primary .bp3-input{ -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-primary .bp3-input:focus{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #137cbd; box-shadow:inset 0 0 0 1px #137cbd; } .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input-group.bp3-intent-primary > .bp3-icon{ color:#106ba3; } .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{ color:#48aff0; } .bp3-input-group.bp3-intent-success .bp3-input{ -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-success .bp3-input:focus{ -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-success .bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #0f9960; box-shadow:inset 0 0 0 1px #0f9960; } .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input-group.bp3-intent-success > .bp3-icon{ color:#0d8050; } .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{ color:#3dcc91; } .bp3-input-group.bp3-intent-warning .bp3-input{ -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-warning .bp3-input:focus{ -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #d9822b; box-shadow:inset 0 0 0 1px #d9822b; } .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input-group.bp3-intent-warning > .bp3-icon{ color:#bf7326; } .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{ color:#ffb366; } .bp3-input-group.bp3-intent-danger .bp3-input{ -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-danger .bp3-input:focus{ -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #db3737; box-shadow:inset 0 0 0 1px #db3737; } .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input-group.bp3-intent-danger > .bp3-icon{ color:#c23030; } .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{ color:#ff7373; } .bp3-input{ -webkit-appearance:none; -moz-appearance:none; appearance:none; background:#ffffff; border:none; border-radius:3px; -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); color:#182026; font-size:14px; font-weight:400; height:30px; line-height:30px; outline:none; padding:0 10px; -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); vertical-align:middle; } .bp3-input::-webkit-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input::-moz-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input:-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input::-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input::placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input:focus, .bp3-input.bp3-active{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input[type="search"], .bp3-input.bp3-round{ border-radius:30px; -webkit-box-sizing:border-box; box-sizing:border-box; padding-left:10px; } .bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } .bp3-input:disabled, .bp3-input.bp3-disabled{ background:rgba(206, 217, 224, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; resize:none; } .bp3-input.bp3-large{ font-size:16px; height:40px; line-height:40px; } .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{ padding:0 15px; } .bp3-input.bp3-small{ font-size:12px; height:24px; line-height:24px; padding-left:8px; padding-right:8px; } .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{ padding:0 12px; } .bp3-input.bp3-fill{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; width:100%; } .bp3-dark .bp3-input{ background:rgba(16, 22, 26, 0.3); -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dark .bp3-input::-webkit-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-input::-moz-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-input:-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-input::-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-input::placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-input:focus{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{ background:rgba(57, 75, 89, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-input.bp3-intent-primary{ -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-primary:focus{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-primary[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #137cbd; box-shadow:inset 0 0 0 1px #137cbd; } .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-input.bp3-intent-primary{ -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-primary:focus{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-primary[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #137cbd; box-shadow:inset 0 0 0 1px #137cbd; } .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input.bp3-intent-success{ -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-success:focus{ -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-success[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #0f9960; box-shadow:inset 0 0 0 1px #0f9960; } .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-input.bp3-intent-success{ -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-success:focus{ -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-success[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #0f9960; box-shadow:inset 0 0 0 1px #0f9960; } .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input.bp3-intent-warning{ -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-warning:focus{ -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-warning[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #d9822b; box-shadow:inset 0 0 0 1px #d9822b; } .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-input.bp3-intent-warning{ -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-warning:focus{ -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-warning[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #d9822b; box-shadow:inset 0 0 0 1px #d9822b; } .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input.bp3-intent-danger{ -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-danger:focus{ -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-input.bp3-intent-danger[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #db3737; box-shadow:inset 0 0 0 1px #db3737; } .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-input.bp3-intent-danger{ -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-danger:focus{ -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-input.bp3-intent-danger[readonly]{ -webkit-box-shadow:inset 0 0 0 1px #db3737; box-shadow:inset 0 0 0 1px #db3737; } .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{ -webkit-box-shadow:none; box-shadow:none; } .bp3-input::-ms-clear{ display:none; } textarea.bp3-input{ max-width:100%; padding:10px; } textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{ height:auto; line-height:inherit; } textarea.bp3-input.bp3-small{ padding:8px; } .bp3-dark textarea.bp3-input{ background:rgba(16, 22, 26, 0.3); -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dark textarea.bp3-input::-webkit-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark textarea.bp3-input::-moz-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark textarea.bp3-input:-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark textarea.bp3-input::-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark textarea.bp3-input::placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark textarea.bp3-input:focus{ -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark textarea.bp3-input[readonly]{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{ background:rgba(57, 75, 89, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } label.bp3-label{ display:block; margin-bottom:15px; margin-top:0; } label.bp3-label .bp3-html-select, label.bp3-label .bp3-input, label.bp3-label .bp3-select, label.bp3-label .bp3-slider, label.bp3-label .bp3-popover-wrapper{ display:block; margin-top:5px; text-transform:none; } label.bp3-label .bp3-button-group{ margin-top:5px; } label.bp3-label .bp3-select select, label.bp3-label .bp3-html-select select{ font-weight:400; vertical-align:top; width:100%; } label.bp3-label.bp3-disabled, label.bp3-label.bp3-disabled .bp3-text-muted{ color:rgba(92, 112, 128, 0.6); } label.bp3-label.bp3-inline{ line-height:30px; } label.bp3-label.bp3-inline .bp3-html-select, label.bp3-label.bp3-inline .bp3-input, label.bp3-label.bp3-inline .bp3-input-group, label.bp3-label.bp3-inline .bp3-select, label.bp3-label.bp3-inline .bp3-popover-wrapper{ display:inline-block; margin:0 0 0 5px; vertical-align:top; } label.bp3-label.bp3-inline .bp3-button-group{ margin:0 0 0 5px; } label.bp3-label.bp3-inline .bp3-input-group .bp3-input{ margin-left:0; } label.bp3-label.bp3-inline.bp3-large{ line-height:40px; } label.bp3-label:not(.bp3-inline) .bp3-popover-target{ display:block; } .bp3-dark label.bp3-label{ color:#f5f8fa; } .bp3-dark label.bp3-label.bp3-disabled, .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{ color:rgba(167, 182, 194, 0.6); } .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{ -webkit-box-flex:1; -ms-flex:1 1 14px; flex:1 1 14px; min-height:0; padding:0; width:30px; } .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{ border-radius:0 3px 0 0; } .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{ border-radius:0 0 3px 0; } .bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{ border-radius:3px 0 0 0; } .bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{ border-radius:0 0 0 3px; } .bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{ width:40px; } form{ display:block; } .bp3-html-select select, .bp3-select select{ display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:center; -ms-flex-align:center; align-items:center; border:none; border-radius:3px; cursor:pointer; font-size:14px; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; padding:5px 10px; text-align:left; vertical-align:middle; background-color:#f5f8fa; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); color:#182026; -moz-appearance:none; -webkit-appearance:none; border-radius:3px; height:30px; padding:0 25px 0 10px; width:100%; } .bp3-html-select select > *, .bp3-select select > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-html-select select::before, .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{ margin-right:7px; } .bp3-html-select select:empty::before, .bp3-select select:empty::before, .bp3-html-select select > :last-child, .bp3-select select > :last-child{ margin-right:0; } .bp3-html-select select:hover, .bp3-select select:hover{ background-clip:padding-box; background-color:#ebf1f5; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } .bp3-html-select select:active, .bp3-select select:active, .bp3-html-select select.bp3-active, .bp3-select select.bp3-active{ background-color:#d8e1e8; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-html-select select:disabled, .bp3-select select:disabled, .bp3-html-select select.bp3-disabled, .bp3-select select.bp3-disabled{ background-color:rgba(206, 217, 224, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; outline:none; } .bp3-html-select select:disabled.bp3-active, .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover, .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active, .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover, .bp3-select select.bp3-disabled.bp3-active:hover{ background:rgba(206, 217, 224, 0.7); } .bp3-html-select.bp3-minimal select, .bp3-select.bp3-minimal select{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-html-select.bp3-minimal select:hover, .bp3-select.bp3-minimal select:hover{ background:rgba(167, 182, 194, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; text-decoration:none; } .bp3-html-select.bp3-minimal select:active, .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal select.bp3-active{ background:rgba(115, 134, 148, 0.3); -webkit-box-shadow:none; box-shadow:none; color:#182026; } .bp3-html-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal select.bp3-disabled:hover{ background:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{ background:rgba(115, 134, 148, 0.3); } .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select, .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{ background:none; -webkit-box-shadow:none; box-shadow:none; color:inherit; } .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{ background:rgba(138, 155, 168, 0.15); } .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ background:rgba(138, 155, 168, 0.3); color:#f5f8fa; } .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover, .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{ background:none; color:rgba(167, 182, 194, 0.6); cursor:not-allowed; } .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{ background:rgba(138, 155, 168, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal select.bp3-intent-primary{ color:#106ba3; } .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#106ba3; } .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal select.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.15); color:#106ba3; } .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#106ba3; } .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(16, 107, 163, 0.5); } .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ stroke:#106ba3; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{ color:#48aff0; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{ background:rgba(19, 124, 189, 0.2); color:#48aff0; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{ background:rgba(19, 124, 189, 0.3); color:#48aff0; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{ background:none; color:rgba(72, 175, 240, 0.5); } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{ background:rgba(19, 124, 189, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal select.bp3-intent-success{ color:#0d8050; } .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#0d8050; } .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal select.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.15); color:#0d8050; } .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#0d8050; } .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{ background:none; color:rgba(13, 128, 80, 0.5); } .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ stroke:#0d8050; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{ color:#3dcc91; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{ background:rgba(15, 153, 96, 0.2); color:#3dcc91; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{ background:rgba(15, 153, 96, 0.3); color:#3dcc91; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{ background:none; color:rgba(61, 204, 145, 0.5); } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{ background:rgba(15, 153, 96, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal select.bp3-intent-warning{ color:#bf7326; } .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#bf7326; } .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal select.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.15); color:#bf7326; } .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#bf7326; } .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(191, 115, 38, 0.5); } .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ stroke:#bf7326; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{ color:#ffb366; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{ background:rgba(217, 130, 43, 0.2); color:#ffb366; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{ background:rgba(217, 130, 43, 0.3); color:#ffb366; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{ background:none; color:rgba(255, 179, 102, 0.5); } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{ background:rgba(217, 130, 43, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal select.bp3-intent-danger{ color:#c23030; } .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ background:none; -webkit-box-shadow:none; box-shadow:none; color:#c23030; } .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal select.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.15); color:#c23030; } .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#c23030; } .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(194, 48, 48, 0.5); } .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ stroke:#c23030; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{ color:#ff7373; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{ background:rgba(219, 55, 55, 0.2); color:#ff7373; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{ background:rgba(219, 55, 55, 0.3); color:#ff7373; } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{ background:none; color:rgba(255, 115, 115, 0.5); } .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{ background:rgba(219, 55, 55, 0.3); } .bp3-html-select.bp3-large select, .bp3-select.bp3-large select{ font-size:16px; height:40px; padding-right:35px; } .bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{ background-color:#394b59; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ color:#f5f8fa; } .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ background-color:#202b33; background-image:none; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{ background-color:rgba(57, 75, 89, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{ background:rgba(57, 75, 89, 0.7); } .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{ background:rgba(16, 22, 26, 0.5); stroke:#8a9ba8; } .bp3-html-select select:disabled, .bp3-select select:disabled{ background-color:rgba(206, 217, 224, 0.5); -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-html-select .bp3-icon, .bp3-select .bp3-icon, .bp3-select::after{ color:#5c7080; pointer-events:none; position:absolute; right:7px; top:7px; } .bp3-html-select .bp3-disabled.bp3-icon, .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{ color:rgba(92, 112, 128, 0.6); } .bp3-html-select, .bp3-select{ display:inline-block; letter-spacing:normal; position:relative; vertical-align:middle; } .bp3-html-select select::-ms-expand, .bp3-select select::-ms-expand{ display:none; } .bp3-html-select .bp3-icon, .bp3-select .bp3-icon{ color:#5c7080; } .bp3-html-select .bp3-icon:hover, .bp3-select .bp3-icon:hover{ color:#182026; } .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark .bp3-select .bp3-icon{ color:#a7b6c2; } .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark .bp3-select .bp3-icon:hover{ color:#f5f8fa; } .bp3-html-select.bp3-large::after, .bp3-html-select.bp3-large .bp3-icon, .bp3-select.bp3-large::after, .bp3-select.bp3-large .bp3-icon{ right:12px; top:12px; } .bp3-html-select.bp3-fill, .bp3-html-select.bp3-fill select, .bp3-select.bp3-fill, .bp3-select.bp3-fill select{ width:100%; } .bp3-dark .bp3-html-select option, .bp3-dark .bp3-select option{ background-color:#30404d; color:#f5f8fa; } .bp3-dark .bp3-html-select option:disabled, .bp3-dark .bp3-select option:disabled{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-html-select::after, .bp3-dark .bp3-select::after{ color:#a7b6c2; } .bp3-select::after{ font-family:"Icons16", sans-serif; font-size:16px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; content:""; } .bp3-running-text table, table.bp3-html-table{ border-spacing:0; font-size:14px; } .bp3-running-text table th, table.bp3-html-table th, .bp3-running-text table td, table.bp3-html-table td{ padding:11px; text-align:left; vertical-align:top; } .bp3-running-text table th, table.bp3-html-table th{ color:#182026; font-weight:600; } .bp3-running-text table td, table.bp3-html-table td{ color:#182026; } .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th, .bp3-running-text table tbody tr:first-child td, table.bp3-html-table tbody tr:first-child td, .bp3-running-text table tfoot tr:first-child th, table.bp3-html-table tfoot tr:first-child th, .bp3-running-text table tfoot tr:first-child td, table.bp3-html-table tfoot tr:first-child td{ -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{ color:#f5f8fa; } .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{ color:#f5f8fa; } .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th, .bp3-dark .bp3-running-text table tbody tr:first-child td, .bp3-running-text .bp3-dark table tbody tr:first-child td, .bp3-dark table.bp3-html-table tbody tr:first-child td, .bp3-dark .bp3-running-text table tfoot tr:first-child th, .bp3-running-text .bp3-dark table tfoot tr:first-child th, .bp3-dark table.bp3-html-table tfoot tr:first-child th, .bp3-dark .bp3-running-text table tfoot tr:first-child td, .bp3-running-text .bp3-dark table tfoot tr:first-child td, .bp3-dark table.bp3-html-table tfoot tr:first-child td{ -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } table.bp3-html-table.bp3-html-table-condensed th, table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th, table.bp3-html-table.bp3-small td{ padding-bottom:6px; padding-top:6px; } table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ background:rgba(191, 204, 214, 0.15); } table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } table.bp3-html-table.bp3-html-table-bordered tbody tr td, table.bp3-html-table.bp3-html-table-bordered tfoot tr td{ -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child), table.bp3-html-table.bp3-html-table-bordered tfoot tr td:not(:first-child){ -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); } table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ -webkit-box-shadow:none; box-shadow:none; } table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){ -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } table.bp3-html-table.bp3-interactive tbody tr:hover td{ background-color:rgba(191, 204, 214, 0.3); cursor:pointer; } table.bp3-html-table.bp3-interactive tbody tr:active td{ background-color:rgba(191, 204, 214, 0.4); } .bp3-dark table.bp3-html-table{ } .bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ background:rgba(92, 112, 128, 0.15); } .bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td, .bp3-dark table.bp3-html-table.bp3-html-table-bordered tfoot tr td{ -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child), .bp3-dark table.bp3-html-table.bp3-html-table-bordered tfoot tr td:not(:first-child){ -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); } .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{ background-color:rgba(92, 112, 128, 0.3); cursor:pointer; } .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{ background-color:rgba(92, 112, 128, 0.4); } .bp3-key-combo{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:center; -ms-flex-align:center; align-items:center; } .bp3-key-combo > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-key-combo > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-key-combo::before, .bp3-key-combo > *{ margin-right:5px; } .bp3-key-combo:empty::before, .bp3-key-combo > :last-child{ margin-right:0; } .bp3-hotkey-dialog{ padding-bottom:0; top:40px; } .bp3-hotkey-dialog .bp3-dialog-body{ margin:0; padding:0; } .bp3-hotkey-dialog .bp3-hotkey-label{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; } .bp3-hotkey-column{ margin:auto; max-height:80vh; overflow-y:auto; padding:30px; } .bp3-hotkey-column .bp3-heading{ margin-bottom:20px; } .bp3-hotkey-column .bp3-heading:not(:first-child){ margin-top:40px; } .bp3-hotkey{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between; margin-left:0; margin-right:0; } .bp3-hotkey:not(:last-child){ margin-bottom:10px; } .bp3-icon{ display:inline-block; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; vertical-align:text-bottom; } .bp3-icon:not(:empty)::before{ content:"" !important; content:unset !important; } .bp3-icon > svg{ display:block; } .bp3-icon > svg:not([fill]){ fill:currentColor; } .bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{ color:#106ba3; } .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{ color:#48aff0; } .bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{ color:#0d8050; } .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{ color:#3dcc91; } .bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{ color:#bf7326; } .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{ color:#ffb366; } .bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{ color:#c23030; } .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{ color:#ff7373; } span.bp3-icon-standard{ font-family:"Icons16", sans-serif; font-size:16px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; display:inline-block; } span.bp3-icon-large{ font-family:"Icons20", sans-serif; font-size:20px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; display:inline-block; } span.bp3-icon:empty{ font-family:"Icons20"; font-size:inherit; font-style:normal; font-weight:400; line-height:1; } span.bp3-icon:empty::before{ -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; } .bp3-icon-add::before{ content:""; } .bp3-icon-add-column-left::before{ content:""; } .bp3-icon-add-column-right::before{ content:""; } .bp3-icon-add-row-bottom::before{ content:""; } .bp3-icon-add-row-top::before{ content:""; } .bp3-icon-add-to-artifact::before{ content:""; } .bp3-icon-add-to-folder::before{ content:""; } .bp3-icon-airplane::before{ content:""; } .bp3-icon-align-center::before{ content:""; } .bp3-icon-align-justify::before{ content:""; } .bp3-icon-align-left::before{ content:""; } .bp3-icon-align-right::before{ content:""; } .bp3-icon-alignment-bottom::before{ content:""; } .bp3-icon-alignment-horizontal-center::before{ content:""; } .bp3-icon-alignment-left::before{ content:""; } .bp3-icon-alignment-right::before{ content:""; } .bp3-icon-alignment-top::before{ content:""; } .bp3-icon-alignment-vertical-center::before{ content:""; } .bp3-icon-annotation::before{ content:""; } .bp3-icon-application::before{ content:""; } .bp3-icon-applications::before{ content:""; } .bp3-icon-archive::before{ content:""; } .bp3-icon-arrow-bottom-left::before{ content:"↙"; } .bp3-icon-arrow-bottom-right::before{ content:"↘"; } .bp3-icon-arrow-down::before{ content:"↓"; } .bp3-icon-arrow-left::before{ content:"←"; } .bp3-icon-arrow-right::before{ content:"→"; } .bp3-icon-arrow-top-left::before{ content:"↖"; } .bp3-icon-arrow-top-right::before{ content:"↗"; } .bp3-icon-arrow-up::before{ content:"↑"; } .bp3-icon-arrows-horizontal::before{ content:"↔"; } .bp3-icon-arrows-vertical::before{ content:"↕"; } .bp3-icon-asterisk::before{ content:"*"; } .bp3-icon-automatic-updates::before{ content:""; } .bp3-icon-badge::before{ content:""; } .bp3-icon-ban-circle::before{ content:""; } .bp3-icon-bank-account::before{ content:""; } .bp3-icon-barcode::before{ content:""; } .bp3-icon-blank::before{ content:""; } .bp3-icon-blocked-person::before{ content:""; } .bp3-icon-bold::before{ content:""; } .bp3-icon-book::before{ content:""; } .bp3-icon-bookmark::before{ content:""; } .bp3-icon-box::before{ content:""; } .bp3-icon-briefcase::before{ content:""; } .bp3-icon-bring-data::before{ content:""; } .bp3-icon-build::before{ content:""; } .bp3-icon-calculator::before{ content:""; } .bp3-icon-calendar::before{ content:""; } .bp3-icon-camera::before{ content:""; } .bp3-icon-caret-down::before{ content:"⌄"; } .bp3-icon-caret-left::before{ content:"〈"; } .bp3-icon-caret-right::before{ content:"〉"; } .bp3-icon-caret-up::before{ content:"⌃"; } .bp3-icon-cell-tower::before{ content:""; } .bp3-icon-changes::before{ content:""; } .bp3-icon-chart::before{ content:""; } .bp3-icon-chat::before{ content:""; } .bp3-icon-chevron-backward::before{ content:""; } .bp3-icon-chevron-down::before{ content:""; } .bp3-icon-chevron-forward::before{ content:""; } .bp3-icon-chevron-left::before{ content:""; } .bp3-icon-chevron-right::before{ content:""; } .bp3-icon-chevron-up::before{ content:""; } .bp3-icon-circle::before{ content:""; } .bp3-icon-circle-arrow-down::before{ content:""; } .bp3-icon-circle-arrow-left::before{ content:""; } .bp3-icon-circle-arrow-right::before{ content:""; } .bp3-icon-circle-arrow-up::before{ content:""; } .bp3-icon-citation::before{ content:""; } .bp3-icon-clean::before{ content:""; } .bp3-icon-clipboard::before{ content:""; } .bp3-icon-cloud::before{ content:"☁"; } .bp3-icon-cloud-download::before{ content:""; } .bp3-icon-cloud-upload::before{ content:""; } .bp3-icon-code::before{ content:""; } .bp3-icon-code-block::before{ content:""; } .bp3-icon-cog::before{ content:""; } .bp3-icon-collapse-all::before{ content:""; } .bp3-icon-column-layout::before{ content:""; } .bp3-icon-comment::before{ content:""; } .bp3-icon-comparison::before{ content:""; } .bp3-icon-compass::before{ content:""; } .bp3-icon-compressed::before{ content:""; } .bp3-icon-confirm::before{ content:""; } .bp3-icon-console::before{ content:""; } .bp3-icon-contrast::before{ content:""; } .bp3-icon-control::before{ content:""; } .bp3-icon-credit-card::before{ content:""; } .bp3-icon-cross::before{ content:"✗"; } .bp3-icon-crown::before{ content:""; } .bp3-icon-cube::before{ content:""; } .bp3-icon-cube-add::before{ content:""; } .bp3-icon-cube-remove::before{ content:""; } .bp3-icon-curved-range-chart::before{ content:""; } .bp3-icon-cut::before{ content:""; } .bp3-icon-dashboard::before{ content:""; } .bp3-icon-data-lineage::before{ content:""; } .bp3-icon-database::before{ content:""; } .bp3-icon-delete::before{ content:""; } .bp3-icon-delta::before{ content:"Δ"; } .bp3-icon-derive-column::before{ content:""; } .bp3-icon-desktop::before{ content:""; } .bp3-icon-diagnosis::before{ content:""; } .bp3-icon-diagram-tree::before{ content:""; } .bp3-icon-direction-left::before{ content:""; } .bp3-icon-direction-right::before{ content:""; } .bp3-icon-disable::before{ content:""; } .bp3-icon-document::before{ content:""; } .bp3-icon-document-open::before{ content:""; } .bp3-icon-document-share::before{ content:""; } .bp3-icon-dollar::before{ content:"$"; } .bp3-icon-dot::before{ content:"•"; } .bp3-icon-double-caret-horizontal::before{ content:""; } .bp3-icon-double-caret-vertical::before{ content:""; } .bp3-icon-double-chevron-down::before{ content:""; } .bp3-icon-double-chevron-left::before{ content:""; } .bp3-icon-double-chevron-right::before{ content:""; } .bp3-icon-double-chevron-up::before{ content:""; } .bp3-icon-doughnut-chart::before{ content:""; } .bp3-icon-download::before{ content:""; } .bp3-icon-drag-handle-horizontal::before{ content:""; } .bp3-icon-drag-handle-vertical::before{ content:""; } .bp3-icon-draw::before{ content:""; } .bp3-icon-drive-time::before{ content:""; } .bp3-icon-duplicate::before{ content:""; } .bp3-icon-edit::before{ content:"✎"; } .bp3-icon-eject::before{ content:"⏏"; } .bp3-icon-endorsed::before{ content:""; } .bp3-icon-envelope::before{ content:"✉"; } .bp3-icon-equals::before{ content:""; } .bp3-icon-eraser::before{ content:""; } .bp3-icon-error::before{ content:""; } .bp3-icon-euro::before{ content:"€"; } .bp3-icon-exchange::before{ content:""; } .bp3-icon-exclude-row::before{ content:""; } .bp3-icon-expand-all::before{ content:""; } .bp3-icon-export::before{ content:""; } .bp3-icon-eye-off::before{ content:""; } .bp3-icon-eye-on::before{ content:""; } .bp3-icon-eye-open::before{ content:""; } .bp3-icon-fast-backward::before{ content:""; } .bp3-icon-fast-forward::before{ content:""; } .bp3-icon-feed::before{ content:""; } .bp3-icon-feed-subscribed::before{ content:""; } .bp3-icon-film::before{ content:""; } .bp3-icon-filter::before{ content:""; } .bp3-icon-filter-keep::before{ content:""; } .bp3-icon-filter-list::before{ content:""; } .bp3-icon-filter-open::before{ content:""; } .bp3-icon-filter-remove::before{ content:""; } .bp3-icon-flag::before{ content:"⚑"; } .bp3-icon-flame::before{ content:""; } .bp3-icon-flash::before{ content:""; } .bp3-icon-floppy-disk::before{ content:""; } .bp3-icon-flow-branch::before{ content:""; } .bp3-icon-flow-end::before{ content:""; } .bp3-icon-flow-linear::before{ content:""; } .bp3-icon-flow-review::before{ content:""; } .bp3-icon-flow-review-branch::before{ content:""; } .bp3-icon-flows::before{ content:""; } .bp3-icon-folder-close::before{ content:""; } .bp3-icon-folder-new::before{ content:""; } .bp3-icon-folder-open::before{ content:""; } .bp3-icon-folder-shared::before{ content:""; } .bp3-icon-folder-shared-open::before{ content:""; } .bp3-icon-follower::before{ content:""; } .bp3-icon-following::before{ content:""; } .bp3-icon-font::before{ content:""; } .bp3-icon-fork::before{ content:""; } .bp3-icon-form::before{ content:""; } .bp3-icon-full-circle::before{ content:""; } .bp3-icon-full-stacked-chart::before{ content:""; } .bp3-icon-fullscreen::before{ content:""; } .bp3-icon-function::before{ content:""; } .bp3-icon-gantt-chart::before{ content:""; } .bp3-icon-geolocation::before{ content:""; } .bp3-icon-geosearch::before{ content:""; } .bp3-icon-git-branch::before{ content:""; } .bp3-icon-git-commit::before{ content:""; } .bp3-icon-git-merge::before{ content:""; } .bp3-icon-git-new-branch::before{ content:""; } .bp3-icon-git-pull::before{ content:""; } .bp3-icon-git-push::before{ content:""; } .bp3-icon-git-repo::before{ content:""; } .bp3-icon-glass::before{ content:""; } .bp3-icon-globe::before{ content:""; } .bp3-icon-globe-network::before{ content:""; } .bp3-icon-graph::before{ content:""; } .bp3-icon-graph-remove::before{ content:""; } .bp3-icon-greater-than::before{ content:""; } .bp3-icon-greater-than-or-equal-to::before{ content:""; } .bp3-icon-grid::before{ content:""; } .bp3-icon-grid-view::before{ content:""; } .bp3-icon-group-objects::before{ content:""; } .bp3-icon-grouped-bar-chart::before{ content:""; } .bp3-icon-hand::before{ content:""; } .bp3-icon-hand-down::before{ content:""; } .bp3-icon-hand-left::before{ content:""; } .bp3-icon-hand-right::before{ content:""; } .bp3-icon-hand-up::before{ content:""; } .bp3-icon-header::before{ content:""; } .bp3-icon-header-one::before{ content:""; } .bp3-icon-header-two::before{ content:""; } .bp3-icon-headset::before{ content:""; } .bp3-icon-heart::before{ content:"♥"; } .bp3-icon-heart-broken::before{ content:""; } .bp3-icon-heat-grid::before{ content:""; } .bp3-icon-heatmap::before{ content:""; } .bp3-icon-help::before{ content:"?"; } .bp3-icon-helper-management::before{ content:""; } .bp3-icon-highlight::before{ content:""; } .bp3-icon-history::before{ content:""; } .bp3-icon-home::before{ content:"⌂"; } .bp3-icon-horizontal-bar-chart::before{ content:""; } .bp3-icon-horizontal-bar-chart-asc::before{ content:""; } .bp3-icon-horizontal-bar-chart-desc::before{ content:""; } .bp3-icon-horizontal-distribution::before{ content:""; } .bp3-icon-id-number::before{ content:""; } .bp3-icon-image-rotate-left::before{ content:""; } .bp3-icon-image-rotate-right::before{ content:""; } .bp3-icon-import::before{ content:""; } .bp3-icon-inbox::before{ content:""; } .bp3-icon-inbox-filtered::before{ content:""; } .bp3-icon-inbox-geo::before{ content:""; } .bp3-icon-inbox-search::before{ content:""; } .bp3-icon-inbox-update::before{ content:""; } .bp3-icon-info-sign::before{ content:"ℹ"; } .bp3-icon-inheritance::before{ content:""; } .bp3-icon-inner-join::before{ content:""; } .bp3-icon-insert::before{ content:""; } .bp3-icon-intersection::before{ content:""; } .bp3-icon-ip-address::before{ content:""; } .bp3-icon-issue::before{ content:""; } .bp3-icon-issue-closed::before{ content:""; } .bp3-icon-issue-new::before{ content:""; } .bp3-icon-italic::before{ content:""; } .bp3-icon-join-table::before{ content:""; } .bp3-icon-key::before{ content:""; } .bp3-icon-key-backspace::before{ content:""; } .bp3-icon-key-command::before{ content:""; } .bp3-icon-key-control::before{ content:""; } .bp3-icon-key-delete::before{ content:""; } .bp3-icon-key-enter::before{ content:""; } .bp3-icon-key-escape::before{ content:""; } .bp3-icon-key-option::before{ content:""; } .bp3-icon-key-shift::before{ content:""; } .bp3-icon-key-tab::before{ content:""; } .bp3-icon-known-vehicle::before{ content:""; } .bp3-icon-lab-test::before{ content:""; } .bp3-icon-label::before{ content:""; } .bp3-icon-layer::before{ content:""; } .bp3-icon-layers::before{ content:""; } .bp3-icon-layout::before{ content:""; } .bp3-icon-layout-auto::before{ content:""; } .bp3-icon-layout-balloon::before{ content:""; } .bp3-icon-layout-circle::before{ content:""; } .bp3-icon-layout-grid::before{ content:""; } .bp3-icon-layout-group-by::before{ content:""; } .bp3-icon-layout-hierarchy::before{ content:""; } .bp3-icon-layout-linear::before{ content:""; } .bp3-icon-layout-skew-grid::before{ content:""; } .bp3-icon-layout-sorted-clusters::before{ content:""; } .bp3-icon-learning::before{ content:""; } .bp3-icon-left-join::before{ content:""; } .bp3-icon-less-than::before{ content:""; } .bp3-icon-less-than-or-equal-to::before{ content:""; } .bp3-icon-lifesaver::before{ content:""; } .bp3-icon-lightbulb::before{ content:""; } .bp3-icon-link::before{ content:""; } .bp3-icon-list::before{ content:"☰"; } .bp3-icon-list-columns::before{ content:""; } .bp3-icon-list-detail-view::before{ content:""; } .bp3-icon-locate::before{ content:""; } .bp3-icon-lock::before{ content:""; } .bp3-icon-log-in::before{ content:""; } .bp3-icon-log-out::before{ content:""; } .bp3-icon-manual::before{ content:""; } .bp3-icon-manually-entered-data::before{ content:""; } .bp3-icon-map::before{ content:""; } .bp3-icon-map-create::before{ content:""; } .bp3-icon-map-marker::before{ content:""; } .bp3-icon-maximize::before{ content:""; } .bp3-icon-media::before{ content:""; } .bp3-icon-menu::before{ content:""; } .bp3-icon-menu-closed::before{ content:""; } .bp3-icon-menu-open::before{ content:""; } .bp3-icon-merge-columns::before{ content:""; } .bp3-icon-merge-links::before{ content:""; } .bp3-icon-minimize::before{ content:""; } .bp3-icon-minus::before{ content:"−"; } .bp3-icon-mobile-phone::before{ content:""; } .bp3-icon-mobile-video::before{ content:""; } .bp3-icon-moon::before{ content:""; } .bp3-icon-more::before{ content:""; } .bp3-icon-mountain::before{ content:""; } .bp3-icon-move::before{ content:""; } .bp3-icon-mugshot::before{ content:""; } .bp3-icon-multi-select::before{ content:""; } .bp3-icon-music::before{ content:""; } .bp3-icon-new-drawing::before{ content:""; } .bp3-icon-new-grid-item::before{ content:""; } .bp3-icon-new-layer::before{ content:""; } .bp3-icon-new-layers::before{ content:""; } .bp3-icon-new-link::before{ content:""; } .bp3-icon-new-object::before{ content:""; } .bp3-icon-new-person::before{ content:""; } .bp3-icon-new-prescription::before{ content:""; } .bp3-icon-new-text-box::before{ content:""; } .bp3-icon-ninja::before{ content:""; } .bp3-icon-not-equal-to::before{ content:""; } .bp3-icon-notifications::before{ content:""; } .bp3-icon-notifications-updated::before{ content:""; } .bp3-icon-numbered-list::before{ content:""; } .bp3-icon-numerical::before{ content:""; } .bp3-icon-office::before{ content:""; } .bp3-icon-offline::before{ content:""; } .bp3-icon-oil-field::before{ content:""; } .bp3-icon-one-column::before{ content:""; } .bp3-icon-outdated::before{ content:""; } .bp3-icon-page-layout::before{ content:""; } .bp3-icon-panel-stats::before{ content:""; } .bp3-icon-panel-table::before{ content:""; } .bp3-icon-paperclip::before{ content:""; } .bp3-icon-paragraph::before{ content:""; } .bp3-icon-path::before{ content:""; } .bp3-icon-path-search::before{ content:""; } .bp3-icon-pause::before{ content:""; } .bp3-icon-people::before{ content:""; } .bp3-icon-percentage::before{ content:""; } .bp3-icon-person::before{ content:""; } .bp3-icon-phone::before{ content:"☎"; } .bp3-icon-pie-chart::before{ content:""; } .bp3-icon-pin::before{ content:""; } .bp3-icon-pivot::before{ content:""; } .bp3-icon-pivot-table::before{ content:""; } .bp3-icon-play::before{ content:""; } .bp3-icon-plus::before{ content:"+"; } .bp3-icon-polygon-filter::before{ content:""; } .bp3-icon-power::before{ content:""; } .bp3-icon-predictive-analysis::before{ content:""; } .bp3-icon-prescription::before{ content:""; } .bp3-icon-presentation::before{ content:""; } .bp3-icon-print::before{ content:"⎙"; } .bp3-icon-projects::before{ content:""; } .bp3-icon-properties::before{ content:""; } .bp3-icon-property::before{ content:""; } .bp3-icon-publish-function::before{ content:""; } .bp3-icon-pulse::before{ content:""; } .bp3-icon-random::before{ content:""; } .bp3-icon-record::before{ content:""; } .bp3-icon-redo::before{ content:""; } .bp3-icon-refresh::before{ content:""; } .bp3-icon-regression-chart::before{ content:""; } .bp3-icon-remove::before{ content:""; } .bp3-icon-remove-column::before{ content:""; } .bp3-icon-remove-column-left::before{ content:""; } .bp3-icon-remove-column-right::before{ content:""; } .bp3-icon-remove-row-bottom::before{ content:""; } .bp3-icon-remove-row-top::before{ content:""; } .bp3-icon-repeat::before{ content:""; } .bp3-icon-reset::before{ content:""; } .bp3-icon-resolve::before{ content:""; } .bp3-icon-rig::before{ content:""; } .bp3-icon-right-join::before{ content:""; } .bp3-icon-ring::before{ content:""; } .bp3-icon-rotate-document::before{ content:""; } .bp3-icon-rotate-page::before{ content:""; } .bp3-icon-satellite::before{ content:""; } .bp3-icon-saved::before{ content:""; } .bp3-icon-scatter-plot::before{ content:""; } .bp3-icon-search::before{ content:""; } .bp3-icon-search-around::before{ content:""; } .bp3-icon-search-template::before{ content:""; } .bp3-icon-search-text::before{ content:""; } .bp3-icon-segmented-control::before{ content:""; } .bp3-icon-select::before{ content:""; } .bp3-icon-selection::before{ content:"⦿"; } .bp3-icon-send-to::before{ content:""; } .bp3-icon-send-to-graph::before{ content:""; } .bp3-icon-send-to-map::before{ content:""; } .bp3-icon-series-add::before{ content:""; } .bp3-icon-series-configuration::before{ content:""; } .bp3-icon-series-derived::before{ content:""; } .bp3-icon-series-filtered::before{ content:""; } .bp3-icon-series-search::before{ content:""; } .bp3-icon-settings::before{ content:""; } .bp3-icon-share::before{ content:""; } .bp3-icon-shield::before{ content:""; } .bp3-icon-shop::before{ content:""; } .bp3-icon-shopping-cart::before{ content:""; } .bp3-icon-signal-search::before{ content:""; } .bp3-icon-sim-card::before{ content:""; } .bp3-icon-slash::before{ content:""; } .bp3-icon-small-cross::before{ content:""; } .bp3-icon-small-minus::before{ content:""; } .bp3-icon-small-plus::before{ content:""; } .bp3-icon-small-tick::before{ content:""; } .bp3-icon-snowflake::before{ content:""; } .bp3-icon-social-media::before{ content:""; } .bp3-icon-sort::before{ content:""; } .bp3-icon-sort-alphabetical::before{ content:""; } .bp3-icon-sort-alphabetical-desc::before{ content:""; } .bp3-icon-sort-asc::before{ content:""; } .bp3-icon-sort-desc::before{ content:""; } .bp3-icon-sort-numerical::before{ content:""; } .bp3-icon-sort-numerical-desc::before{ content:""; } .bp3-icon-split-columns::before{ content:""; } .bp3-icon-square::before{ content:""; } .bp3-icon-stacked-chart::before{ content:""; } .bp3-icon-star::before{ content:"★"; } .bp3-icon-star-empty::before{ content:"☆"; } .bp3-icon-step-backward::before{ content:""; } .bp3-icon-step-chart::before{ content:""; } .bp3-icon-step-forward::before{ content:""; } .bp3-icon-stop::before{ content:""; } .bp3-icon-stopwatch::before{ content:""; } .bp3-icon-strikethrough::before{ content:""; } .bp3-icon-style::before{ content:""; } .bp3-icon-swap-horizontal::before{ content:""; } .bp3-icon-swap-vertical::before{ content:""; } .bp3-icon-symbol-circle::before{ content:""; } .bp3-icon-symbol-cross::before{ content:""; } .bp3-icon-symbol-diamond::before{ content:""; } .bp3-icon-symbol-square::before{ content:""; } .bp3-icon-symbol-triangle-down::before{ content:""; } .bp3-icon-symbol-triangle-up::before{ content:""; } .bp3-icon-tag::before{ content:""; } .bp3-icon-take-action::before{ content:""; } .bp3-icon-taxi::before{ content:""; } .bp3-icon-text-highlight::before{ content:""; } .bp3-icon-th::before{ content:""; } .bp3-icon-th-derived::before{ content:""; } .bp3-icon-th-disconnect::before{ content:""; } .bp3-icon-th-filtered::before{ content:""; } .bp3-icon-th-list::before{ content:""; } .bp3-icon-thumbs-down::before{ content:""; } .bp3-icon-thumbs-up::before{ content:""; } .bp3-icon-tick::before{ content:"✓"; } .bp3-icon-tick-circle::before{ content:""; } .bp3-icon-time::before{ content:"⏲"; } .bp3-icon-timeline-area-chart::before{ content:""; } .bp3-icon-timeline-bar-chart::before{ content:""; } .bp3-icon-timeline-events::before{ content:""; } .bp3-icon-timeline-line-chart::before{ content:""; } .bp3-icon-tint::before{ content:""; } .bp3-icon-torch::before{ content:""; } .bp3-icon-tractor::before{ content:""; } .bp3-icon-train::before{ content:""; } .bp3-icon-translate::before{ content:""; } .bp3-icon-trash::before{ content:""; } .bp3-icon-tree::before{ content:""; } .bp3-icon-trending-down::before{ content:""; } .bp3-icon-trending-up::before{ content:""; } .bp3-icon-truck::before{ content:""; } .bp3-icon-two-columns::before{ content:""; } .bp3-icon-unarchive::before{ content:""; } .bp3-icon-underline::before{ content:"⎁"; } .bp3-icon-undo::before{ content:"⎌"; } .bp3-icon-ungroup-objects::before{ content:""; } .bp3-icon-unknown-vehicle::before{ content:""; } .bp3-icon-unlock::before{ content:""; } .bp3-icon-unpin::before{ content:""; } .bp3-icon-unresolve::before{ content:""; } .bp3-icon-updated::before{ content:""; } .bp3-icon-upload::before{ content:""; } .bp3-icon-user::before{ content:""; } .bp3-icon-variable::before{ content:""; } .bp3-icon-vertical-bar-chart-asc::before{ content:""; } .bp3-icon-vertical-bar-chart-desc::before{ content:""; } .bp3-icon-vertical-distribution::before{ content:""; } .bp3-icon-video::before{ content:""; } .bp3-icon-volume-down::before{ content:""; } .bp3-icon-volume-off::before{ content:""; } .bp3-icon-volume-up::before{ content:""; } .bp3-icon-walk::before{ content:""; } .bp3-icon-warning-sign::before{ content:""; } .bp3-icon-waterfall-chart::before{ content:""; } .bp3-icon-widget::before{ content:""; } .bp3-icon-widget-button::before{ content:""; } .bp3-icon-widget-footer::before{ content:""; } .bp3-icon-widget-header::before{ content:""; } .bp3-icon-wrench::before{ content:""; } .bp3-icon-zoom-in::before{ content:""; } .bp3-icon-zoom-out::before{ content:""; } .bp3-icon-zoom-to-fit::before{ content:""; } .bp3-submenu > .bp3-popover-wrapper{ display:block; } .bp3-submenu .bp3-popover-target{ display:block; } .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ } .bp3-submenu.bp3-popover{ -webkit-box-shadow:none; box-shadow:none; padding:0 5px; } .bp3-submenu.bp3-popover > .bp3-popover-content{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{ -webkit-box-shadow:none; box-shadow:none; } .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } .bp3-menu{ background:#ffffff; border-radius:3px; color:#182026; list-style:none; margin:0; min-width:180px; padding:5px; text-align:left; } .bp3-menu-divider{ border-top:1px solid rgba(16, 22, 26, 0.15); display:block; margin:5px; } .bp3-dark .bp3-menu-divider{ border-top-color:rgba(255, 255, 255, 0.15); } .bp3-menu-item{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; border-radius:2px; color:inherit; line-height:20px; padding:5px 7px; text-decoration:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } .bp3-menu-item > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-menu-item > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-menu-item::before, .bp3-menu-item > *{ margin-right:7px; } .bp3-menu-item:empty::before, .bp3-menu-item > :last-child{ margin-right:0; } .bp3-menu-item > .bp3-fill{ word-break:break-word; } .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ background-color:rgba(167, 182, 194, 0.3); cursor:pointer; text-decoration:none; } .bp3-menu-item.bp3-disabled{ background-color:inherit; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-dark .bp3-menu-item{ color:inherit; } .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ background-color:rgba(138, 155, 168, 0.15); color:inherit; } .bp3-dark .bp3-menu-item.bp3-disabled{ background-color:inherit; color:rgba(167, 182, 194, 0.6); } .bp3-menu-item.bp3-intent-primary{ color:#106ba3; } .bp3-menu-item.bp3-intent-primary .bp3-icon{ color:inherit; } .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after, .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ color:#106ba3; } .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{ background-color:#137cbd; } .bp3-menu-item.bp3-intent-primary:active{ background-color:#106ba3; } .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after, .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after, .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-menu-item.bp3-intent-success{ color:#0d8050; } .bp3-menu-item.bp3-intent-success .bp3-icon{ color:inherit; } .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after, .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ color:#0d8050; } .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{ background-color:#0f9960; } .bp3-menu-item.bp3-intent-success:active{ background-color:#0d8050; } .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after, .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after, .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-menu-item.bp3-intent-warning{ color:#bf7326; } .bp3-menu-item.bp3-intent-warning .bp3-icon{ color:inherit; } .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after, .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ color:#bf7326; } .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{ background-color:#d9822b; } .bp3-menu-item.bp3-intent-warning:active{ background-color:#bf7326; } .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after, .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after, .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-menu-item.bp3-intent-danger{ color:#c23030; } .bp3-menu-item.bp3-intent-danger .bp3-icon{ color:inherit; } .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after, .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ color:#c23030; } .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{ background-color:#db3737; } .bp3-menu-item.bp3-intent-danger:active{ background-color:#c23030; } .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after, .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after, .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-menu-item::before{ font-family:"Icons16", sans-serif; font-size:16px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; margin-right:7px; } .bp3-menu-item::before, .bp3-menu-item > .bp3-icon{ color:#5c7080; margin-top:2px; } .bp3-menu-item .bp3-menu-item-label{ color:#5c7080; } .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ color:inherit; } .bp3-menu-item.bp3-active, .bp3-menu-item:active{ background-color:rgba(115, 134, 148, 0.3); } .bp3-menu-item.bp3-disabled{ background-color:inherit !important; color:rgba(92, 112, 128, 0.6) !important; cursor:not-allowed !important; outline:none !important; } .bp3-menu-item.bp3-disabled::before, .bp3-menu-item.bp3-disabled > .bp3-icon, .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ color:rgba(92, 112, 128, 0.6) !important; } .bp3-large .bp3-menu-item{ font-size:16px; line-height:22px; padding:9px 7px; } .bp3-large .bp3-menu-item .bp3-icon{ margin-top:3px; } .bp3-large .bp3-menu-item::before{ font-family:"Icons20", sans-serif; font-size:20px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; margin-right:10px; margin-top:1px; } button.bp3-menu-item{ background:none; border:none; text-align:left; width:100%; } .bp3-menu-header{ border-top:1px solid rgba(16, 22, 26, 0.15); display:block; margin:5px; cursor:default; padding-left:2px; } .bp3-dark .bp3-menu-header{ border-top-color:rgba(255, 255, 255, 0.15); } .bp3-menu-header:first-of-type{ border-top:none; } .bp3-menu-header > h6{ color:#182026; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; line-height:17px; margin:0; padding:10px 7px 0 1px; } .bp3-dark .bp3-menu-header > h6{ color:#f5f8fa; } .bp3-menu-header:first-of-type > h6{ padding-top:0; } .bp3-large .bp3-menu-header > h6{ font-size:18px; padding-bottom:5px; padding-top:15px; } .bp3-large .bp3-menu-header:first-of-type > h6{ padding-top:0; } .bp3-dark .bp3-menu{ background:#30404d; color:#f5f8fa; } .bp3-dark .bp3-menu-item{ } .bp3-dark .bp3-menu-item.bp3-intent-primary{ color:#48aff0; } .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{ color:inherit; } .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after, .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ color:#48aff0; } .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{ background-color:#137cbd; } .bp3-dark .bp3-menu-item.bp3-intent-primary:active{ background-color:#106ba3; } .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after, .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-dark .bp3-menu-item.bp3-intent-success{ color:#3dcc91; } .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{ color:inherit; } .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after, .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ color:#3dcc91; } .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{ background-color:#0f9960; } .bp3-dark .bp3-menu-item.bp3-intent-success:active{ background-color:#0d8050; } .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after, .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-dark .bp3-menu-item.bp3-intent-warning{ color:#ffb366; } .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{ color:inherit; } .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after, .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ color:#ffb366; } .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{ background-color:#d9822b; } .bp3-dark .bp3-menu-item.bp3-intent-warning:active{ background-color:#bf7326; } .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after, .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-dark .bp3-menu-item.bp3-intent-danger{ color:#ff7373; } .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{ color:inherit; } .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after, .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ color:#ff7373; } .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{ background-color:#db3737; } .bp3-dark .bp3-menu-item.bp3-intent-danger:active{ background-color:#c23030; } .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after, .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ color:#ffffff; } .bp3-dark .bp3-menu-item::before, .bp3-dark .bp3-menu-item > .bp3-icon{ color:#a7b6c2; } .bp3-dark .bp3-menu-item .bp3-menu-item-label{ color:#a7b6c2; } .bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{ background-color:rgba(138, 155, 168, 0.3); } .bp3-dark .bp3-menu-item.bp3-disabled{ color:rgba(167, 182, 194, 0.6) !important; } .bp3-dark .bp3-menu-item.bp3-disabled::before, .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon, .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ color:rgba(167, 182, 194, 0.6) !important; } .bp3-dark .bp3-menu-divider, .bp3-dark .bp3-menu-header{ border-color:rgba(255, 255, 255, 0.15); } .bp3-dark .bp3-menu-header > h6{ color:#f5f8fa; } .bp3-label .bp3-menu{ margin-top:5px; } .bp3-navbar{ background-color:#ffffff; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); height:50px; padding:0 15px; position:relative; width:100%; z-index:10; } .bp3-navbar.bp3-dark, .bp3-dark .bp3-navbar{ background-color:#394b59; } .bp3-navbar.bp3-dark{ -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-navbar{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-navbar.bp3-fixed-top{ left:0; position:fixed; right:0; top:0; } .bp3-navbar-heading{ font-size:16px; margin-right:15px; } .bp3-navbar-group{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; height:50px; } .bp3-navbar-group.bp3-align-left{ float:left; } .bp3-navbar-group.bp3-align-right{ float:right; } .bp3-navbar-divider{ border-left:1px solid rgba(16, 22, 26, 0.15); height:20px; margin:0 10px; } .bp3-dark .bp3-navbar-divider{ border-left-color:rgba(255, 255, 255, 0.15); } .bp3-non-ideal-state{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; -webkit-box-align:center; -ms-flex-align:center; align-items:center; height:100%; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; text-align:center; width:100%; } .bp3-non-ideal-state > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-non-ideal-state > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-non-ideal-state::before, .bp3-non-ideal-state > *{ margin-bottom:20px; } .bp3-non-ideal-state:empty::before, .bp3-non-ideal-state > :last-child{ margin-bottom:0; } .bp3-non-ideal-state > *{ max-width:400px; } .bp3-non-ideal-state-visual{ color:rgba(92, 112, 128, 0.6); font-size:60px; } .bp3-dark .bp3-non-ideal-state-visual{ color:rgba(167, 182, 194, 0.6); } .bp3-overflow-list{ display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:nowrap; flex-wrap:nowrap; min-width:0; } .bp3-overflow-list-spacer{ -ms-flex-negative:1; flex-shrink:1; width:1px; } body.bp3-overlay-open{ overflow:hidden; } .bp3-overlay{ bottom:0; left:0; position:static; right:0; top:0; z-index:20; } .bp3-overlay:not(.bp3-overlay-open){ pointer-events:none; } .bp3-overlay.bp3-overlay-container{ overflow:hidden; position:fixed; } .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{ position:absolute; } .bp3-overlay.bp3-overlay-scroll-container{ overflow:auto; position:fixed; } .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{ position:absolute; } .bp3-overlay.bp3-overlay-inline{ display:inline; overflow:visible; } .bp3-overlay-content{ position:fixed; z-index:20; } .bp3-overlay-inline .bp3-overlay-content, .bp3-overlay-scroll-container .bp3-overlay-content{ position:absolute; } .bp3-overlay-backdrop{ bottom:0; left:0; position:fixed; right:0; top:0; opacity:1; background-color:rgba(16, 22, 26, 0.7); overflow:auto; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; z-index:20; } .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{ opacity:0; } .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{ opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:opacity; transition-property:opacity; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-overlay-backdrop.bp3-overlay-exit{ opacity:1; } .bp3-overlay-backdrop.bp3-overlay-exit-active{ opacity:0; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:opacity; transition-property:opacity; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-overlay-backdrop:focus{ outline:none; } .bp3-overlay-inline .bp3-overlay-backdrop{ position:absolute; } .bp3-panel-stack{ overflow:hidden; position:relative; } .bp3-panel-stack-header{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); box-shadow:0 1px rgba(16, 22, 26, 0.15); display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-negative:0; flex-shrink:0; height:30px; z-index:1; } .bp3-dark .bp3-panel-stack-header{ -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); box-shadow:0 1px rgba(255, 255, 255, 0.15); } .bp3-panel-stack-header > span{ -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:1; -ms-flex:1; flex:1; } .bp3-panel-stack-header .bp3-heading{ margin:0 5px; } .bp3-button.bp3-panel-stack-header-back{ margin-left:5px; padding-left:0; white-space:nowrap; } .bp3-button.bp3-panel-stack-header-back .bp3-icon{ margin:0 2px; } .bp3-panel-stack-view{ bottom:0; left:0; position:absolute; right:0; top:0; background-color:#ffffff; border-right:1px solid rgba(16, 22, 26, 0.15); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; margin-right:-1px; overflow-y:auto; z-index:1; } .bp3-dark .bp3-panel-stack-view{ background-color:#30404d; } .bp3-panel-stack-view:nth-last-child(n + 4){ display:none; } .bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{ -webkit-transform:translateX(100%); transform:translateX(100%); opacity:0; } .bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack-push .bp3-panel-stack-exit{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; } .bp3-panel-stack-push .bp3-panel-stack-exit-active{ -webkit-transform:translateX(-50%); transform:translateX(-50%); opacity:0; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{ -webkit-transform:translateX(-50%); transform:translateX(-50%); opacity:0; } .bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack-pop .bp3-panel-stack-exit{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; } .bp3-panel-stack-pop .bp3-panel-stack-exit-active{ -webkit-transform:translateX(100%); transform:translateX(100%); opacity:0; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack2{ overflow:hidden; position:relative; } .bp3-panel-stack2-header{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); box-shadow:0 1px rgba(16, 22, 26, 0.15); display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-negative:0; flex-shrink:0; height:30px; z-index:1; } .bp3-dark .bp3-panel-stack2-header{ -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); box-shadow:0 1px rgba(255, 255, 255, 0.15); } .bp3-panel-stack2-header > span{ -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:1; -ms-flex:1; flex:1; } .bp3-panel-stack2-header .bp3-heading{ margin:0 5px; } .bp3-button.bp3-panel-stack2-header-back{ margin-left:5px; padding-left:0; white-space:nowrap; } .bp3-button.bp3-panel-stack2-header-back .bp3-icon{ margin:0 2px; } .bp3-panel-stack2-view{ bottom:0; left:0; position:absolute; right:0; top:0; background-color:#ffffff; border-right:1px solid rgba(16, 22, 26, 0.15); display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; margin-right:-1px; overflow-y:auto; z-index:1; } .bp3-dark .bp3-panel-stack2-view{ background-color:#30404d; } .bp3-panel-stack2-view:nth-last-child(n + 4){ display:none; } .bp3-panel-stack2-push .bp3-panel-stack2-enter, .bp3-panel-stack2-push .bp3-panel-stack2-appear{ -webkit-transform:translateX(100%); transform:translateX(100%); opacity:0; } .bp3-panel-stack2-push .bp3-panel-stack2-enter-active, .bp3-panel-stack2-push .bp3-panel-stack2-appear-active{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack2-push .bp3-panel-stack2-exit{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; } .bp3-panel-stack2-push .bp3-panel-stack2-exit-active{ -webkit-transform:translateX(-50%); transform:translateX(-50%); opacity:0; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack2-pop .bp3-panel-stack2-enter, .bp3-panel-stack2-pop .bp3-panel-stack2-appear{ -webkit-transform:translateX(-50%); transform:translateX(-50%); opacity:0; } .bp3-panel-stack2-pop .bp3-panel-stack2-enter-active, .bp3-panel-stack2-pop .bp3-panel-stack2-appear-active{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-panel-stack2-pop .bp3-panel-stack2-exit{ -webkit-transform:translate(0%); transform:translate(0%); opacity:1; } .bp3-panel-stack2-pop .bp3-panel-stack2-exit-active{ -webkit-transform:translateX(100%); transform:translateX(100%); opacity:0; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:400ms; transition-duration:400ms; -webkit-transition-property:opacity, -webkit-transform; transition-property:opacity, -webkit-transform; transition-property:transform, opacity; transition-property:transform, opacity, -webkit-transform; -webkit-transition-timing-function:ease; transition-timing-function:ease; } .bp3-popover{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); -webkit-transform:scale(1); transform:scale(1); border-radius:3px; display:inline-block; z-index:20; } .bp3-popover .bp3-popover-arrow{ height:30px; position:absolute; width:30px; } .bp3-popover .bp3-popover-arrow::before{ height:20px; margin:5px; width:20px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{ margin-bottom:17px; margin-top:-17px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ bottom:-11px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{ -webkit-transform:rotate(-90deg); transform:rotate(-90deg); } .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{ margin-left:17px; } .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ left:-11px; } .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{ -webkit-transform:rotate(0); transform:rotate(0); } .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{ margin-top:17px; } .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ top:-11px; } .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{ -webkit-transform:rotate(90deg); transform:rotate(90deg); } .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{ margin-left:-17px; margin-right:17px; } .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ right:-11px; } .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{ -webkit-transform:rotate(180deg); transform:rotate(180deg); } .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{ top:50%; -webkit-transform:translateY(-50%); transform:translateY(-50%); } .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{ right:50%; -webkit-transform:translateX(50%); transform:translateX(50%); } .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ top:-0.3934px; } .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ right:-0.3934px; } .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ left:-0.3934px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ bottom:-0.3934px; } .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{ -webkit-transform-origin:top left; transform-origin:top left; } .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{ -webkit-transform-origin:top center; transform-origin:top center; } .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{ -webkit-transform-origin:top right; transform-origin:top right; } .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{ -webkit-transform-origin:center left; transform-origin:center left; } .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{ -webkit-transform-origin:center center; transform-origin:center center; } .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{ -webkit-transform-origin:center right; transform-origin:center right; } .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{ -webkit-transform-origin:bottom left; transform-origin:bottom left; } .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{ -webkit-transform-origin:bottom center; transform-origin:bottom center; } .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{ -webkit-transform-origin:bottom right; transform-origin:bottom right; } .bp3-popover .bp3-popover-content{ background:#ffffff; color:inherit; } .bp3-popover .bp3-popover-arrow::before{ -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } .bp3-popover .bp3-popover-arrow-border{ fill:#10161a; fill-opacity:0.1; } .bp3-popover .bp3-popover-arrow-fill{ fill:#ffffff; } .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{ -webkit-transform:scale(0.3); transform:scale(0.3); } .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{ -webkit-transform:scale(1); transform:scale(1); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } .bp3-popover-exit > .bp3-popover{ -webkit-transform:scale(1); transform:scale(1); } .bp3-popover-exit-active > .bp3-popover{ -webkit-transform:scale(0.3); transform:scale(0.3); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } .bp3-popover .bp3-popover-content{ border-radius:3px; position:relative; } .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{ max-width:350px; padding:20px; } .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{ width:350px; } .bp3-popover.bp3-minimal{ margin:0 !important; } .bp3-popover.bp3-minimal .bp3-popover-arrow{ display:none; } .bp3-popover.bp3-minimal.bp3-popover{ -webkit-transform:scale(1); transform:scale(1); } .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{ -webkit-transform:scale(1); transform:scale(1); } .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{ -webkit-transform:scale(1); transform:scale(1); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{ -webkit-transform:scale(1); transform:scale(1); } .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{ -webkit-transform:scale(1); transform:scale(1); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-popover.bp3-dark, .bp3-dark .bp3-popover{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } .bp3-popover.bp3-dark .bp3-popover-content, .bp3-dark .bp3-popover .bp3-popover-content{ background:#30404d; color:inherit; } .bp3-popover.bp3-dark .bp3-popover-arrow::before, .bp3-dark .bp3-popover .bp3-popover-arrow::before{ -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } .bp3-popover.bp3-dark .bp3-popover-arrow-border, .bp3-dark .bp3-popover .bp3-popover-arrow-border{ fill:#10161a; fill-opacity:0.2; } .bp3-popover.bp3-dark .bp3-popover-arrow-fill, .bp3-dark .bp3-popover .bp3-popover-arrow-fill{ fill:#30404d; } .bp3-popover-arrow::before{ border-radius:2px; content:""; display:block; position:absolute; -webkit-transform:rotate(45deg); transform:rotate(45deg); } .bp3-tether-pinned .bp3-popover-arrow{ display:none; } .bp3-popover-backdrop{ background:rgba(255, 255, 255, 0); } .bp3-transition-container{ opacity:1; display:-webkit-box; display:-ms-flexbox; display:flex; z-index:20; } .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{ opacity:0; } .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{ opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:opacity; transition-property:opacity; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-transition-container.bp3-popover-exit{ opacity:1; } .bp3-transition-container.bp3-popover-exit-active{ opacity:0; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:opacity; transition-property:opacity; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-transition-container:focus{ outline:none; } .bp3-transition-container.bp3-popover-leave .bp3-popover-content{ pointer-events:none; } .bp3-transition-container[data-x-out-of-boundaries]{ display:none; } span.bp3-popover-target{ display:inline-block; } .bp3-popover-wrapper.bp3-fill{ width:100%; } .bp3-portal{ left:0; position:absolute; right:0; top:0; } @-webkit-keyframes linear-progress-bar-stripes{ from{ background-position:0 0; } to{ background-position:30px 0; } } @keyframes linear-progress-bar-stripes{ from{ background-position:0 0; } to{ background-position:30px 0; } } .bp3-progress-bar{ background:rgba(92, 112, 128, 0.2); border-radius:40px; display:block; height:8px; overflow:hidden; position:relative; width:100%; } .bp3-progress-bar .bp3-progress-meter{ background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); background-color:rgba(92, 112, 128, 0.8); background-size:30px 30px; border-radius:40px; height:100%; position:absolute; -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); width:100%; } .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{ animation:linear-progress-bar-stripes 300ms linear infinite reverse; } .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{ background-image:none; } .bp3-dark .bp3-progress-bar{ background:rgba(16, 22, 26, 0.5); } .bp3-dark .bp3-progress-bar .bp3-progress-meter{ background-color:#8a9ba8; } .bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{ background-color:#137cbd; } .bp3-progress-bar.bp3-intent-success .bp3-progress-meter{ background-color:#0f9960; } .bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{ background-color:#d9822b; } .bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{ background-color:#db3737; } @-webkit-keyframes skeleton-glow{ from{ background:rgba(206, 217, 224, 0.2); border-color:rgba(206, 217, 224, 0.2); } to{ background:rgba(92, 112, 128, 0.2); border-color:rgba(92, 112, 128, 0.2); } } @keyframes skeleton-glow{ from{ background:rgba(206, 217, 224, 0.2); border-color:rgba(206, 217, 224, 0.2); } to{ background:rgba(92, 112, 128, 0.2); border-color:rgba(92, 112, 128, 0.2); } } .bp3-skeleton{ -webkit-animation:1000ms linear infinite alternate skeleton-glow; animation:1000ms linear infinite alternate skeleton-glow; background:rgba(206, 217, 224, 0.2); background-clip:padding-box !important; border-color:rgba(206, 217, 224, 0.2) !important; border-radius:2px; -webkit-box-shadow:none !important; box-shadow:none !important; color:transparent !important; cursor:default; pointer-events:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } .bp3-skeleton::before, .bp3-skeleton::after, .bp3-skeleton *{ visibility:hidden !important; } .bp3-slider{ height:40px; min-width:150px; width:100%; cursor:default; outline:none; position:relative; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } .bp3-slider:hover{ cursor:pointer; } .bp3-slider:active{ cursor:-webkit-grabbing; cursor:grabbing; } .bp3-slider.bp3-disabled{ cursor:not-allowed; opacity:0.5; } .bp3-slider.bp3-slider-unlabeled{ height:16px; } .bp3-slider-track, .bp3-slider-progress{ height:6px; left:0; right:0; top:5px; position:absolute; } .bp3-slider-track{ border-radius:3px; overflow:hidden; } .bp3-slider-progress{ background:rgba(92, 112, 128, 0.2); } .bp3-dark .bp3-slider-progress{ background:rgba(16, 22, 26, 0.5); } .bp3-slider-progress.bp3-intent-primary{ background-color:#137cbd; } .bp3-slider-progress.bp3-intent-success{ background-color:#0f9960; } .bp3-slider-progress.bp3-intent-warning{ background-color:#d9822b; } .bp3-slider-progress.bp3-intent-danger{ background-color:#db3737; } .bp3-slider-handle{ background-color:#f5f8fa; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); color:#182026; border-radius:3px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); cursor:pointer; height:16px; left:0; position:absolute; top:0; width:16px; } .bp3-slider-handle:hover{ background-clip:padding-box; background-color:#ebf1f5; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{ background-color:#d8e1e8; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{ background-color:rgba(206, 217, 224, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; outline:none; } .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{ background:rgba(206, 217, 224, 0.7); } .bp3-slider-handle:focus{ z-index:1; } .bp3-slider-handle:hover{ background-clip:padding-box; background-color:#ebf1f5; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); cursor:-webkit-grab; cursor:grab; z-index:2; } .bp3-slider-handle.bp3-active{ background-color:#d8e1e8; background-image:none; -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); cursor:-webkit-grabbing; cursor:grabbing; } .bp3-disabled .bp3-slider-handle{ background:#bfccd6; -webkit-box-shadow:none; box-shadow:none; pointer-events:none; } .bp3-dark .bp3-slider-handle{ background-color:#394b59; background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); color:#f5f8fa; } .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ color:#f5f8fa; } .bp3-dark .bp3-slider-handle:hover{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ background-color:#202b33; background-image:none; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{ background-color:rgba(57, 75, 89, 0.5); background-image:none; -webkit-box-shadow:none; box-shadow:none; color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{ background:rgba(57, 75, 89, 0.7); } .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{ background:rgba(16, 22, 26, 0.5); stroke:#8a9ba8; } .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{ background-color:#394b59; } .bp3-dark .bp3-slider-handle.bp3-active{ background-color:#293742; } .bp3-dark .bp3-disabled .bp3-slider-handle{ background:#5c7080; border-color:#5c7080; -webkit-box-shadow:none; box-shadow:none; } .bp3-slider-handle .bp3-slider-label{ background:#394b59; border-radius:3px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); color:#f5f8fa; margin-left:8px; } .bp3-dark .bp3-slider-handle .bp3-slider-label{ background:#e1e8ed; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); color:#394b59; } .bp3-disabled .bp3-slider-handle .bp3-slider-label{ -webkit-box-shadow:none; box-shadow:none; } .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{ width:8px; } .bp3-slider-handle.bp3-start{ border-bottom-right-radius:0; border-top-right-radius:0; } .bp3-slider-handle.bp3-end{ border-bottom-left-radius:0; border-top-left-radius:0; margin-left:8px; } .bp3-slider-handle.bp3-end .bp3-slider-label{ margin-left:0; } .bp3-slider-label{ -webkit-transform:translate(-50%, 20px); transform:translate(-50%, 20px); display:inline-block; font-size:12px; line-height:1; padding:2px 5px; position:absolute; vertical-align:top; } .bp3-slider.bp3-vertical{ height:150px; min-width:40px; width:40px; } .bp3-slider.bp3-vertical .bp3-slider-track, .bp3-slider.bp3-vertical .bp3-slider-progress{ bottom:0; height:auto; left:5px; top:0; width:6px; } .bp3-slider.bp3-vertical .bp3-slider-progress{ top:auto; } .bp3-slider.bp3-vertical .bp3-slider-label{ -webkit-transform:translate(20px, 50%); transform:translate(20px, 50%); } .bp3-slider.bp3-vertical .bp3-slider-handle{ top:auto; } .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{ margin-left:0; margin-top:-8px; } .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ height:8px; margin-left:0; width:16px; } .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ border-bottom-right-radius:3px; border-top-left-radius:0; } .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{ -webkit-transform:translate(20px); transform:translate(20px); } .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{ border-bottom-left-radius:0; border-bottom-right-radius:0; border-top-left-radius:3px; margin-bottom:8px; } @-webkit-keyframes pt-spinner-animation{ from{ -webkit-transform:rotate(0deg); transform:rotate(0deg); } to{ -webkit-transform:rotate(360deg); transform:rotate(360deg); } } @keyframes pt-spinner-animation{ from{ -webkit-transform:rotate(0deg); transform:rotate(0deg); } to{ -webkit-transform:rotate(360deg); transform:rotate(360deg); } } .bp3-spinner{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; overflow:visible; vertical-align:middle; } .bp3-spinner svg{ display:block; } .bp3-spinner path{ fill-opacity:0; } .bp3-spinner .bp3-spinner-head{ stroke:rgba(92, 112, 128, 0.8); stroke-linecap:round; -webkit-transform-origin:center; transform-origin:center; -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-spinner .bp3-spinner-track{ stroke:rgba(92, 112, 128, 0.2); } .bp3-spinner-animation{ -webkit-animation:pt-spinner-animation 500ms linear infinite; animation:pt-spinner-animation 500ms linear infinite; } .bp3-no-spin > .bp3-spinner-animation{ -webkit-animation:none; animation:none; } .bp3-dark .bp3-spinner .bp3-spinner-head{ stroke:#8a9ba8; } .bp3-dark .bp3-spinner .bp3-spinner-track{ stroke:rgba(16, 22, 26, 0.5); } .bp3-spinner.bp3-intent-primary .bp3-spinner-head{ stroke:#137cbd; } .bp3-spinner.bp3-intent-success .bp3-spinner-head{ stroke:#0f9960; } .bp3-spinner.bp3-intent-warning .bp3-spinner-head{ stroke:#d9822b; } .bp3-spinner.bp3-intent-danger .bp3-spinner-head{ stroke:#db3737; } .bp3-tabs.bp3-vertical{ display:-webkit-box; display:-ms-flexbox; display:flex; } .bp3-tabs.bp3-vertical > .bp3-tab-list{ -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; } .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{ border-radius:3px; padding:0 10px; width:100%; } .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{ background-color:rgba(19, 124, 189, 0.2); -webkit-box-shadow:none; box-shadow:none; } .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{ background-color:rgba(19, 124, 189, 0.2); border-radius:3px; bottom:0; height:auto; left:0; right:0; top:0; } .bp3-tabs.bp3-vertical > .bp3-tab-panel{ margin-top:0; padding-left:20px; } .bp3-tab-list{ -webkit-box-align:end; -ms-flex-align:end; align-items:flex-end; border:none; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; list-style:none; margin:0; padding:0; position:relative; } .bp3-tab-list > *:not(:last-child){ margin-right:20px; } .bp3-tab{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; color:#182026; cursor:pointer; -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; font-size:14px; line-height:30px; max-width:100%; position:relative; vertical-align:top; } .bp3-tab a{ color:inherit; display:block; text-decoration:none; } .bp3-tab-indicator-wrapper ~ .bp3-tab{ background-color:transparent !important; -webkit-box-shadow:none !important; box-shadow:none !important; } .bp3-tab[aria-disabled="true"]{ color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-tab[aria-selected="true"]{ border-radius:0; -webkit-box-shadow:inset 0 -3px 0 #106ba3; box-shadow:inset 0 -3px 0 #106ba3; } .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{ color:#106ba3; } .bp3-tab:focus{ -moz-outline-radius:0; } .bp3-large > .bp3-tab{ font-size:16px; line-height:40px; } .bp3-tab-panel{ margin-top:20px; } .bp3-tab-panel[aria-hidden="true"]{ display:none; } .bp3-tab-indicator-wrapper{ left:0; pointer-events:none; position:absolute; top:0; -webkit-transform:translateX(0), translateY(0); transform:translateX(0), translateY(0); -webkit-transition:height, width, -webkit-transform; transition:height, width, -webkit-transform; transition:height, transform, width; transition:height, transform, width, -webkit-transform; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-tab-indicator-wrapper .bp3-tab-indicator{ background-color:#106ba3; bottom:0; height:3px; left:0; position:absolute; right:0; } .bp3-tab-indicator-wrapper.bp3-no-animation{ -webkit-transition:none; transition:none; } .bp3-dark .bp3-tab{ color:#f5f8fa; } .bp3-dark .bp3-tab[aria-disabled="true"]{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-tab[aria-selected="true"]{ -webkit-box-shadow:inset 0 -3px 0 #48aff0; box-shadow:inset 0 -3px 0 #48aff0; } .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{ color:#48aff0; } .bp3-dark .bp3-tab-indicator{ background-color:#48aff0; } .bp3-flex-expander{ -webkit-box-flex:1; -ms-flex:1 1; flex:1 1; } .bp3-tag{ display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:center; -ms-flex-align:center; align-items:center; background-color:#5c7080; border:none; border-radius:3px; -webkit-box-shadow:none; box-shadow:none; color:#f5f8fa; font-size:12px; line-height:16px; max-width:100%; min-height:20px; min-width:20px; padding:2px 6px; position:relative; } .bp3-tag.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-interactive:hover{ background-color:rgba(92, 112, 128, 0.85); } .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{ background-color:rgba(92, 112, 128, 0.7); } .bp3-tag > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-tag > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-tag::before, .bp3-tag > *{ margin-right:4px; } .bp3-tag:empty::before, .bp3-tag > :last-child{ margin-right:0; } .bp3-tag:focus{ outline:rgba(19, 124, 189, 0.6) auto 2px; outline-offset:0; -moz-outline-radius:6px; } .bp3-tag.bp3-round{ border-radius:30px; padding-left:8px; padding-right:8px; } .bp3-dark .bp3-tag{ background-color:#bfccd6; color:#182026; } .bp3-dark .bp3-tag.bp3-interactive{ cursor:pointer; } .bp3-dark .bp3-tag.bp3-interactive:hover{ background-color:rgba(191, 204, 214, 0.85); } .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{ background-color:rgba(191, 204, 214, 0.7); } .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{ fill:currentColor; } .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{ fill:#ffffff; } .bp3-tag.bp3-large, .bp3-large .bp3-tag{ font-size:14px; line-height:20px; min-height:30px; min-width:30px; padding:5px 10px; } .bp3-tag.bp3-large::before, .bp3-tag.bp3-large > *, .bp3-large .bp3-tag::before, .bp3-large .bp3-tag > *{ margin-right:7px; } .bp3-tag.bp3-large:empty::before, .bp3-tag.bp3-large > :last-child, .bp3-large .bp3-tag:empty::before, .bp3-large .bp3-tag > :last-child{ margin-right:0; } .bp3-tag.bp3-large.bp3-round, .bp3-large .bp3-tag.bp3-round{ padding-left:12px; padding-right:12px; } .bp3-tag.bp3-intent-primary{ background:#137cbd; color:#ffffff; } .bp3-tag.bp3-intent-primary.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-intent-primary.bp3-interactive:hover{ background-color:rgba(19, 124, 189, 0.85); } .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{ background-color:rgba(19, 124, 189, 0.7); } .bp3-tag.bp3-intent-success{ background:#0f9960; color:#ffffff; } .bp3-tag.bp3-intent-success.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-intent-success.bp3-interactive:hover{ background-color:rgba(15, 153, 96, 0.85); } .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{ background-color:rgba(15, 153, 96, 0.7); } .bp3-tag.bp3-intent-warning{ background:#d9822b; color:#ffffff; } .bp3-tag.bp3-intent-warning.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-intent-warning.bp3-interactive:hover{ background-color:rgba(217, 130, 43, 0.85); } .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{ background-color:rgba(217, 130, 43, 0.7); } .bp3-tag.bp3-intent-danger{ background:#db3737; color:#ffffff; } .bp3-tag.bp3-intent-danger.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-intent-danger.bp3-interactive:hover{ background-color:rgba(219, 55, 55, 0.85); } .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{ background-color:rgba(219, 55, 55, 0.7); } .bp3-tag.bp3-fill{ display:-webkit-box; display:-ms-flexbox; display:flex; width:100%; } .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{ fill:#5c7080; } .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ background-color:rgba(138, 155, 168, 0.2); color:#182026; } .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ background-color:rgba(92, 112, 128, 0.3); } .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ background-color:rgba(92, 112, 128, 0.4); } .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ color:#f5f8fa; } .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ cursor:pointer; } .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ background-color:rgba(191, 204, 214, 0.3); } .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ background-color:rgba(191, 204, 214, 0.4); } .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{ fill:#a7b6c2; } .bp3-tag.bp3-minimal.bp3-intent-primary{ background-color:rgba(19, 124, 189, 0.15); color:#106ba3; } .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ background-color:rgba(19, 124, 189, 0.25); } .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ background-color:rgba(19, 124, 189, 0.35); } .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{ fill:#137cbd; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{ background-color:rgba(19, 124, 189, 0.25); color:#48aff0; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ cursor:pointer; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ background-color:rgba(19, 124, 189, 0.35); } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ background-color:rgba(19, 124, 189, 0.45); } .bp3-tag.bp3-minimal.bp3-intent-success{ background-color:rgba(15, 153, 96, 0.15); color:#0d8050; } .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ background-color:rgba(15, 153, 96, 0.25); } .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ background-color:rgba(15, 153, 96, 0.35); } .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{ fill:#0f9960; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{ background-color:rgba(15, 153, 96, 0.25); color:#3dcc91; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ cursor:pointer; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ background-color:rgba(15, 153, 96, 0.35); } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ background-color:rgba(15, 153, 96, 0.45); } .bp3-tag.bp3-minimal.bp3-intent-warning{ background-color:rgba(217, 130, 43, 0.15); color:#bf7326; } .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ background-color:rgba(217, 130, 43, 0.25); } .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ background-color:rgba(217, 130, 43, 0.35); } .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{ fill:#d9822b; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{ background-color:rgba(217, 130, 43, 0.25); color:#ffb366; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ cursor:pointer; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ background-color:rgba(217, 130, 43, 0.35); } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ background-color:rgba(217, 130, 43, 0.45); } .bp3-tag.bp3-minimal.bp3-intent-danger{ background-color:rgba(219, 55, 55, 0.15); color:#c23030; } .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ cursor:pointer; } .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ background-color:rgba(219, 55, 55, 0.25); } .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ background-color:rgba(219, 55, 55, 0.35); } .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{ fill:#db3737; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{ background-color:rgba(219, 55, 55, 0.25); color:#ff7373; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ cursor:pointer; } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ background-color:rgba(219, 55, 55, 0.35); } .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ background-color:rgba(219, 55, 55, 0.45); } .bp3-tag-remove{ background:none; border:none; color:inherit; cursor:pointer; display:-webkit-box; display:-ms-flexbox; display:flex; margin-bottom:-2px; margin-right:-6px !important; margin-top:-2px; opacity:0.5; padding:2px; padding-left:0; } .bp3-tag-remove:hover{ background:none; opacity:0.8; text-decoration:none; } .bp3-tag-remove:active{ opacity:1; } .bp3-tag-remove:empty::before{ font-family:"Icons16", sans-serif; font-size:16px; font-style:normal; font-weight:400; line-height:1; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; content:""; } .bp3-large .bp3-tag-remove{ margin-right:-10px !important; padding:0 5px 0 0; } .bp3-large .bp3-tag-remove:empty::before{ font-family:"Icons20", sans-serif; font-size:20px; font-style:normal; font-weight:400; line-height:1; } .bp3-tag-input{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; cursor:text; height:auto; line-height:inherit; min-height:30px; padding-left:5px; padding-right:0; } .bp3-tag-input > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-tag-input > .bp3-tag-input-values{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-tag-input .bp3-tag-input-icon{ color:#5c7080; margin-left:2px; margin-right:7px; margin-top:7px; } .bp3-tag-input .bp3-tag-input-values{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -ms-flex-item-align:stretch; align-self:stretch; -ms-flex-wrap:wrap; flex-wrap:wrap; margin-right:7px; margin-top:5px; min-width:0; } .bp3-tag-input .bp3-tag-input-values > *{ -webkit-box-flex:0; -ms-flex-positive:0; flex-grow:0; -ms-flex-negative:0; flex-shrink:0; } .bp3-tag-input .bp3-tag-input-values > .bp3-fill{ -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex-negative:1; flex-shrink:1; } .bp3-tag-input .bp3-tag-input-values::before, .bp3-tag-input .bp3-tag-input-values > *{ margin-right:5px; } .bp3-tag-input .bp3-tag-input-values:empty::before, .bp3-tag-input .bp3-tag-input-values > :last-child{ margin-right:0; } .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{ padding-left:5px; } .bp3-tag-input .bp3-tag-input-values > *{ margin-bottom:5px; } .bp3-tag-input .bp3-tag{ overflow-wrap:break-word; } .bp3-tag-input .bp3-tag.bp3-active{ outline:rgba(19, 124, 189, 0.6) auto 2px; outline-offset:0; -moz-outline-radius:6px; } .bp3-tag-input .bp3-input-ghost{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; line-height:20px; width:80px; } .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{ cursor:not-allowed; } .bp3-tag-input .bp3-button, .bp3-tag-input .bp3-spinner{ margin:3px; margin-left:0; } .bp3-tag-input .bp3-button{ min-height:24px; min-width:24px; padding:0 7px; } .bp3-tag-input.bp3-large{ height:auto; min-height:40px; } .bp3-tag-input.bp3-large::before, .bp3-tag-input.bp3-large > *{ margin-right:10px; } .bp3-tag-input.bp3-large:empty::before, .bp3-tag-input.bp3-large > :last-child{ margin-right:0; } .bp3-tag-input.bp3-large .bp3-tag-input-icon{ margin-left:5px; margin-top:10px; } .bp3-tag-input.bp3-large .bp3-input-ghost{ line-height:30px; } .bp3-tag-input.bp3-large .bp3-button{ min-height:30px; min-width:30px; padding:5px 10px; margin:5px; margin-left:0; } .bp3-tag-input.bp3-large .bp3-spinner{ margin:8px; margin-left:0; } .bp3-tag-input.bp3-active{ background-color:#ffffff; -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-tag-input.bp3-active.bp3-intent-primary{ -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-tag-input.bp3-active.bp3-intent-success{ -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-tag-input.bp3-active.bp3-intent-warning{ -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-tag-input.bp3-active.bp3-intent-danger{ -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{ color:#a7b6c2; } .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{ color:#f5f8fa; } .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{ color:rgba(167, 182, 194, 0.6); } .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{ background-color:rgba(16, 22, 26, 0.3); -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{ -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{ -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{ -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{ -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } .bp3-input-ghost{ background:none; border:none; -webkit-box-shadow:none; box-shadow:none; padding:0; } .bp3-input-ghost::-webkit-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input-ghost::-moz-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input-ghost:-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input-ghost::-ms-input-placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input-ghost::placeholder{ color:rgba(92, 112, 128, 0.6); opacity:1; } .bp3-input-ghost:focus{ outline:none !important; } .bp3-toast{ -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; background-color:#ffffff; border-radius:3px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); display:-webkit-box; display:-ms-flexbox; display:flex; margin:20px 0 0; max-width:500px; min-width:300px; pointer-events:all; position:relative !important; } .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{ -webkit-transform:translateY(-40px); transform:translateY(-40px); } .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{ -webkit-transform:translateY(0); transform:translateY(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{ -webkit-transform:translateY(-40px); transform:translateY(-40px); } .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{ -webkit-transform:translateY(0); transform:translateY(0); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } .bp3-toast.bp3-toast-exit{ opacity:1; -webkit-filter:blur(0); filter:blur(0); } .bp3-toast.bp3-toast-exit-active{ opacity:0; -webkit-filter:blur(10px); filter:blur(10px); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:300ms; transition-duration:300ms; -webkit-transition-property:opacity, -webkit-filter; transition-property:opacity, -webkit-filter; transition-property:opacity, filter; transition-property:opacity, filter, -webkit-filter; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-toast.bp3-toast-exit ~ .bp3-toast{ -webkit-transform:translateY(0); transform:translateY(0); } .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{ -webkit-transform:translateY(-40px); transform:translateY(-40px); -webkit-transition-delay:50ms; transition-delay:50ms; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-toast .bp3-button-group{ -webkit-box-flex:0; -ms-flex:0 0 auto; flex:0 0 auto; padding:5px; padding-left:0; } .bp3-toast > .bp3-icon{ color:#5c7080; margin:12px; margin-right:0; } .bp3-toast.bp3-dark, .bp3-dark .bp3-toast{ background-color:#394b59; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } .bp3-toast.bp3-dark > .bp3-icon, .bp3-dark .bp3-toast > .bp3-icon{ color:#a7b6c2; } .bp3-toast[class*="bp3-intent-"] a{ color:rgba(255, 255, 255, 0.7); } .bp3-toast[class*="bp3-intent-"] a:hover{ color:#ffffff; } .bp3-toast[class*="bp3-intent-"] > .bp3-icon{ color:#ffffff; } .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before, .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ color:rgba(255, 255, 255, 0.7) !important; } .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{ outline-color:rgba(255, 255, 255, 0.5); } .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{ background-color:rgba(255, 255, 255, 0.15) !important; color:#ffffff !important; } .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ background-color:rgba(255, 255, 255, 0.3) !important; color:#ffffff !important; } .bp3-toast[class*="bp3-intent-"] .bp3-button::after{ background:rgba(255, 255, 255, 0.3) !important; } .bp3-toast.bp3-intent-primary{ background-color:#137cbd; color:#ffffff; } .bp3-toast.bp3-intent-success{ background-color:#0f9960; color:#ffffff; } .bp3-toast.bp3-intent-warning{ background-color:#d9822b; color:#ffffff; } .bp3-toast.bp3-intent-danger{ background-color:#db3737; color:#ffffff; } .bp3-toast-message{ -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; padding:11px; word-break:break-word; } .bp3-toast-container{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box !important; display:-ms-flexbox !important; display:flex !important; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; left:0; overflow:hidden; padding:0 20px 20px; pointer-events:none; right:0; z-index:40; } .bp3-toast-container.bp3-toast-container-in-portal{ position:fixed; } .bp3-toast-container.bp3-toast-container-inline{ position:absolute; } .bp3-toast-container.bp3-toast-container-top{ top:0; } .bp3-toast-container.bp3-toast-container-bottom{ bottom:0; -webkit-box-orient:vertical; -webkit-box-direction:reverse; -ms-flex-direction:column-reverse; flex-direction:column-reverse; top:auto; } .bp3-toast-container.bp3-toast-container-left{ -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; } .bp3-toast-container.bp3-toast-container-right{ -webkit-box-align:end; -ms-flex-align:end; align-items:flex-end; } .bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active), .bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active), .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-exit-active ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{ -webkit-transform:translateY(60px); transform:translateY(60px); } .bp3-tooltip{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); -webkit-transform:scale(1); transform:scale(1); } .bp3-tooltip .bp3-popover-arrow{ height:22px; position:absolute; width:22px; } .bp3-tooltip .bp3-popover-arrow::before{ height:14px; margin:4px; width:14px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{ margin-bottom:11px; margin-top:-11px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ bottom:-8px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{ -webkit-transform:rotate(-90deg); transform:rotate(-90deg); } .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{ margin-left:11px; } .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ left:-8px; } .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{ -webkit-transform:rotate(0); transform:rotate(0); } .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{ margin-top:11px; } .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ top:-8px; } .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{ -webkit-transform:rotate(90deg); transform:rotate(90deg); } .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{ margin-left:-11px; margin-right:11px; } .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ right:-8px; } .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{ -webkit-transform:rotate(180deg); transform:rotate(180deg); } .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{ top:50%; -webkit-transform:translateY(-50%); transform:translateY(-50%); } .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{ right:50%; -webkit-transform:translateX(50%); transform:translateX(50%); } .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ top:-0.22183px; } .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ right:-0.22183px; } .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ left:-0.22183px; } .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ bottom:-0.22183px; } .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{ -webkit-transform-origin:top left; transform-origin:top left; } .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{ -webkit-transform-origin:top center; transform-origin:top center; } .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{ -webkit-transform-origin:top right; transform-origin:top right; } .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{ -webkit-transform-origin:center left; transform-origin:center left; } .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{ -webkit-transform-origin:center center; transform-origin:center center; } .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{ -webkit-transform-origin:center right; transform-origin:center right; } .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{ -webkit-transform-origin:bottom left; transform-origin:bottom left; } .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{ -webkit-transform-origin:bottom center; transform-origin:bottom center; } .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{ -webkit-transform-origin:bottom right; transform-origin:bottom right; } .bp3-tooltip .bp3-popover-content{ background:#394b59; color:#f5f8fa; } .bp3-tooltip .bp3-popover-arrow::before{ -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } .bp3-tooltip .bp3-popover-arrow-border{ fill:#10161a; fill-opacity:0.1; } .bp3-tooltip .bp3-popover-arrow-fill{ fill:#394b59; } .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{ -webkit-transform:scale(0.8); transform:scale(0.8); } .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{ -webkit-transform:scale(1); transform:scale(1); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-popover-exit > .bp3-tooltip{ -webkit-transform:scale(1); transform:scale(1); } .bp3-popover-exit-active > .bp3-tooltip{ -webkit-transform:scale(0.8); transform:scale(0.8); -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:100ms; transition-duration:100ms; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform, -webkit-transform; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-tooltip .bp3-popover-content{ padding:10px 12px; } .bp3-tooltip.bp3-dark, .bp3-dark .bp3-tooltip{ -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } .bp3-tooltip.bp3-dark .bp3-popover-content, .bp3-dark .bp3-tooltip .bp3-popover-content{ background:#e1e8ed; color:#394b59; } .bp3-tooltip.bp3-dark .bp3-popover-arrow::before, .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{ -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } .bp3-tooltip.bp3-dark .bp3-popover-arrow-border, .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{ fill:#10161a; fill-opacity:0.2; } .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill, .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{ fill:#e1e8ed; } .bp3-tooltip.bp3-intent-primary .bp3-popover-content{ background:#137cbd; color:#ffffff; } .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{ fill:#137cbd; } .bp3-tooltip.bp3-intent-success .bp3-popover-content{ background:#0f9960; color:#ffffff; } .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{ fill:#0f9960; } .bp3-tooltip.bp3-intent-warning .bp3-popover-content{ background:#d9822b; color:#ffffff; } .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{ fill:#d9822b; } .bp3-tooltip.bp3-intent-danger .bp3-popover-content{ background:#db3737; color:#ffffff; } .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{ fill:#db3737; } .bp3-tooltip-indicator{ border-bottom:dotted 1px; cursor:help; } .bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{ color:#5c7080; } .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{ color:#137cbd; } .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{ color:#0f9960; } .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{ color:#d9822b; } .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{ color:#db3737; } .bp3-tree-node-list{ list-style:none; margin:0; padding-left:0; } .bp3-tree-root{ background-color:transparent; cursor:default; padding-left:0; position:relative; } .bp3-tree-node-content-0{ padding-left:0px; } .bp3-tree-node-content-1{ padding-left:23px; } .bp3-tree-node-content-2{ padding-left:46px; } .bp3-tree-node-content-3{ padding-left:69px; } .bp3-tree-node-content-4{ padding-left:92px; } .bp3-tree-node-content-5{ padding-left:115px; } .bp3-tree-node-content-6{ padding-left:138px; } .bp3-tree-node-content-7{ padding-left:161px; } .bp3-tree-node-content-8{ padding-left:184px; } .bp3-tree-node-content-9{ padding-left:207px; } .bp3-tree-node-content-10{ padding-left:230px; } .bp3-tree-node-content-11{ padding-left:253px; } .bp3-tree-node-content-12{ padding-left:276px; } .bp3-tree-node-content-13{ padding-left:299px; } .bp3-tree-node-content-14{ padding-left:322px; } .bp3-tree-node-content-15{ padding-left:345px; } .bp3-tree-node-content-16{ padding-left:368px; } .bp3-tree-node-content-17{ padding-left:391px; } .bp3-tree-node-content-18{ padding-left:414px; } .bp3-tree-node-content-19{ padding-left:437px; } .bp3-tree-node-content-20{ padding-left:460px; } .bp3-tree-node-content{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; height:30px; padding-right:5px; width:100%; } .bp3-tree-node-content:hover{ background-color:rgba(191, 204, 214, 0.4); } .bp3-tree-node-caret, .bp3-tree-node-caret-none{ min-width:30px; } .bp3-tree-node-caret{ color:#5c7080; cursor:pointer; padding:7px; -webkit-transform:rotate(0deg); transform:rotate(0deg); -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-tree-node-caret:hover{ color:#182026; } .bp3-dark .bp3-tree-node-caret{ color:#a7b6c2; } .bp3-dark .bp3-tree-node-caret:hover{ color:#f5f8fa; } .bp3-tree-node-caret.bp3-tree-node-caret-open{ -webkit-transform:rotate(90deg); transform:rotate(90deg); } .bp3-tree-node-caret.bp3-icon-standard::before{ content:""; } .bp3-tree-node-icon{ margin-right:7px; position:relative; } .bp3-tree-node-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; -webkit-box-flex:1; -ms-flex:1 1 auto; flex:1 1 auto; position:relative; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } .bp3-tree-node-label span{ display:inline; } .bp3-tree-node-secondary-label{ padding:0 5px; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } .bp3-tree-node-secondary-label .bp3-popover-wrapper, .bp3-tree-node-secondary-label .bp3-popover-target{ -webkit-box-align:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-ms-flexbox; display:flex; } .bp3-tree-node.bp3-disabled .bp3-tree-node-content{ background-color:inherit; color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-tree-node.bp3-disabled .bp3-tree-node-caret, .bp3-tree-node.bp3-disabled .bp3-tree-node-icon{ color:rgba(92, 112, 128, 0.6); cursor:not-allowed; } .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ background-color:#137cbd; } .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{ color:#ffffff; } .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{ color:rgba(255, 255, 255, 0.7); } .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{ color:#ffffff; } .bp3-dark .bp3-tree-node-content:hover{ background-color:rgba(92, 112, 128, 0.3); } .bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{ color:#a7b6c2; } .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{ color:#137cbd; } .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{ color:#0f9960; } .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{ color:#d9822b; } .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{ color:#db3737; } .bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ background-color:#137cbd; } .bp3-omnibar{ -webkit-filter:blur(0); filter:blur(0); opacity:1; background-color:#ffffff; border-radius:3px; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); left:calc(50% - 250px); top:20vh; width:500px; z-index:21; } .bp3-omnibar.bp3-overlay-enter, .bp3-omnibar.bp3-overlay-appear{ -webkit-filter:blur(20px); filter:blur(20px); opacity:0.2; } .bp3-omnibar.bp3-overlay-enter-active, .bp3-omnibar.bp3-overlay-appear-active{ -webkit-filter:blur(0); filter:blur(0); opacity:1; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:opacity, -webkit-filter; transition-property:opacity, -webkit-filter; transition-property:filter, opacity; transition-property:filter, opacity, -webkit-filter; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-omnibar.bp3-overlay-exit{ -webkit-filter:blur(0); filter:blur(0); opacity:1; } .bp3-omnibar.bp3-overlay-exit-active{ -webkit-filter:blur(20px); filter:blur(20px); opacity:0.2; -webkit-transition-delay:0; transition-delay:0; -webkit-transition-duration:200ms; transition-duration:200ms; -webkit-transition-property:opacity, -webkit-filter; transition-property:opacity, -webkit-filter; transition-property:filter, opacity; transition-property:filter, opacity, -webkit-filter; -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } .bp3-omnibar .bp3-input{ background-color:transparent; border-radius:0; } .bp3-omnibar .bp3-input, .bp3-omnibar .bp3-input:focus{ -webkit-box-shadow:none; box-shadow:none; } .bp3-omnibar .bp3-menu{ background-color:transparent; border-radius:0; -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); max-height:calc(60vh - 40px); overflow:auto; } .bp3-omnibar .bp3-menu:empty{ display:none; } .bp3-dark .bp3-omnibar, .bp3-omnibar.bp3-dark{ background-color:#30404d; -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } .bp3-omnibar-overlay .bp3-overlay-backdrop{ background-color:rgba(16, 22, 26, 0.2); } .bp3-select-popover .bp3-popover-content{ padding:5px; } .bp3-select-popover .bp3-input-group{ margin-bottom:0; } .bp3-select-popover .bp3-menu{ max-height:300px; max-width:400px; overflow:auto; padding:0; } .bp3-select-popover .bp3-menu:not(:first-child){ padding-top:5px; } .bp3-multi-select{ min-width:150px; } .bp3-multi-select-popover .bp3-menu{ max-height:300px; max-width:400px; overflow:auto; } .bp3-select-popover .bp3-popover-content{ padding:5px; } .bp3-select-popover .bp3-input-group{ margin-bottom:0; } .bp3-select-popover .bp3-menu{ max-height:300px; max-width:400px; overflow:auto; padding:0; } .bp3-select-popover .bp3-menu:not(:first-child){ padding-top:5px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */ /** * (DEPRECATED) Support for consuming icons as CSS background images */ /* Icons urls */ :root { --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K); --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=); --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==); --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1pY29uLWJyYW5kMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTEwNSAxMjcuM2g0MHYxMi44aC00MHpNNTEuMSA3N0w3NCA5OS45bC0yMy4zIDIzLjMgMTAuNSAxMC41IDIzLjMtMjMuM0w5NSA5OS45IDg0LjUgODkuNCA2MS42IDY2LjV6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==); --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=); --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==); --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=); --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K); --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNGOUE4MjUiPgogICAgPHBhdGggZD0iTTIwLjIgMTEuOGMtMS42IDAtMS43LjUtMS43IDEgMCAuNC4xLjkuMSAxLjMuMS41LjEuOS4xIDEuMyAwIDEuNy0xLjQgMi4zLTMuNSAyLjNoLS45di0xLjloLjVjMS4xIDAgMS40IDAgMS40LS44IDAtLjMgMC0uNi0uMS0xIDAtLjQtLjEtLjgtLjEtMS4yIDAtMS4zIDAtMS44IDEuMy0yLTEuMy0uMi0xLjMtLjctMS4zLTIgMC0uNC4xLS44LjEtMS4yLjEtLjQuMS0uNy4xLTEgMC0uOC0uNC0uNy0xLjQtLjhoLS41VjQuMWguOWMyLjIgMCAzLjUuNyAzLjUgMi4zIDAgLjQtLjEuOS0uMSAxLjMtLjEuNS0uMS45LS4xIDEuMyAwIC41LjIgMSAxLjcgMXYxLjh6TTEuOCAxMC4xYzEuNiAwIDEuNy0uNSAxLjctMSAwLS40LS4xLS45LS4xLTEuMy0uMS0uNS0uMS0uOS0uMS0xLjMgMC0xLjYgMS40LTIuMyAzLjUtMi4zaC45djEuOWgtLjVjLTEgMC0xLjQgMC0xLjQuOCAwIC4zIDAgLjYuMSAxIDAgLjIuMS42LjEgMSAwIDEuMyAwIDEuOC0xLjMgMkM2IDExLjIgNiAxMS43IDYgMTNjMCAuNC0uMS44LS4xIDEuMi0uMS4zLS4xLjctLjEgMSAwIC44LjMuOCAxLjQuOGguNXYxLjloLS45Yy0yLjEgMC0zLjUtLjYtMy41LTIuMyAwLS40LjEtLjkuMS0xLjMuMS0uNS4xLS45LjEtMS4zIDAtLjUtLjItMS0xLjctMXYtMS45eiIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMy44IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iOC4yIiByPSIyLjEiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgPGcgY2xhc3M9ImpwLWljb24td2FybjAiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=); --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K); --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==); --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==); --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=); --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4=); --jp-icon-listings-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MC45NzggNTAuOTc4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MC45NzggNTAuOTc4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cgk8Zz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojMDEwMDAyOyIgZD0iTTQzLjUyLDcuNDU4QzM4LjcxMSwyLjY0OCwzMi4zMDcsMCwyNS40ODksMEMxOC42NywwLDEyLjI2NiwyLjY0OCw3LjQ1OCw3LjQ1OAoJCQljLTkuOTQzLDkuOTQxLTkuOTQzLDI2LjExOSwwLDM2LjA2MmM0LjgwOSw0LjgwOSwxMS4yMTIsNy40NTYsMTguMDMxLDcuNDU4YzAsMCwwLjAwMSwwLDAuMDAyLDAKCQkJYzYuODE2LDAsMTMuMjIxLTIuNjQ4LDE4LjAyOS03LjQ1OGM0LjgwOS00LjgwOSw3LjQ1Ny0xMS4yMTIsNy40NTctMTguMDNDNTAuOTc3LDE4LjY3LDQ4LjMyOCwxMi4yNjYsNDMuNTIsNy40NTh6CgkJCSBNNDIuMTA2LDQyLjEwNWMtNC40MzIsNC40MzEtMTAuMzMyLDYuODcyLTE2LjYxNSw2Ljg3MmgtMC4wMDJjLTYuMjg1LTAuMDAxLTEyLjE4Ny0yLjQ0MS0xNi42MTctNi44NzIKCQkJYy05LjE2Mi05LjE2My05LjE2Mi0yNC4wNzEsMC0zMy4yMzNDMTMuMzAzLDQuNDQsMTkuMjA0LDIsMjUuNDg5LDJjNi4yODQsMCwxMi4xODYsMi40NCwxNi42MTcsNi44NzIKCQkJYzQuNDMxLDQuNDMxLDYuODcxLDEwLjMzMiw2Ljg3MSwxNi42MTdDNDguOTc3LDMxLjc3Miw0Ni41MzYsMzcuNjc1LDQyLjEwNiw0Mi4xMDV6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6IzAxMDAwMjsiIGQ9Ik0yMy41NzgsMzIuMjE4Yy0wLjAyMy0xLjczNCwwLjE0My0zLjA1OSwwLjQ5Ni0zLjk3MmMwLjM1My0wLjkxMywxLjExLTEuOTk3LDIuMjcyLTMuMjUzCgkJCWMwLjQ2OC0wLjUzNiwwLjkyMy0xLjA2MiwxLjM2Ny0xLjU3NWMwLjYyNi0wLjc1MywxLjEwNC0xLjQ3OCwxLjQzNi0yLjE3NWMwLjMzMS0wLjcwNywwLjQ5NS0xLjU0MSwwLjQ5NS0yLjUKCQkJYzAtMS4wOTYtMC4yNi0yLjA4OC0wLjc3OS0yLjk3OWMtMC41NjUtMC44NzktMS41MDEtMS4zMzYtMi44MDYtMS4zNjljLTEuODAyLDAuMDU3LTIuOTg1LDAuNjY3LTMuNTUsMS44MzIKCQkJYy0wLjMwMSwwLjUzNS0wLjUwMywxLjE0MS0wLjYwNywxLjgxNGMtMC4xMzksMC43MDctMC4yMDcsMS40MzItMC4yMDcsMi4xNzRoLTIuOTM3Yy0wLjA5MS0yLjIwOCwwLjQwNy00LjExNCwxLjQ5My01LjcxOQoJCQljMS4wNjItMS42NCwyLjg1NS0yLjQ4MSw1LjM3OC0yLjUyN2MyLjE2LDAuMDIzLDMuODc0LDAuNjA4LDUuMTQxLDEuNzU4YzEuMjc4LDEuMTYsMS45MjksMi43NjQsMS45NSw0LjgxMQoJCQljMCwxLjE0Mi0wLjEzNywyLjExMS0wLjQxLDIuOTExYy0wLjMwOSwwLjg0NS0wLjczMSwxLjU5My0xLjI2OCwyLjI0M2MtMC40OTIsMC42NS0xLjA2OCwxLjMxOC0xLjczLDIuMDAyCgkJCWMtMC42NSwwLjY5Ny0xLjMxMywxLjQ3OS0xLjk4NywyLjM0NmMtMC4yMzksMC4zNzctMC40MjksMC43NzctMC41NjUsMS4xOTljLTAuMTYsMC45NTktMC4yMTcsMS45NTEtMC4xNzEsMi45NzkKCQkJQzI2LjU4OSwzMi4yMTgsMjMuNTc4LDMyLjIxOCwyMy41NzgsMzIuMjE4eiBNMjMuNTc4LDM4LjIydi0zLjQ4NGgzLjA3NnYzLjQ4NEgyMy41Nzh6Ii8+Cgk8L2c+Cjwvc3ZnPgo=); --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==); --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=); --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K); --jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); --jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K); --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMEQ0N0ExIj4KICAgIDxwYXRoIGQ9Ik0xMS4xIDYuOVY1LjhINi45YzAtLjUgMC0xLjMuMi0xLjYuNC0uNy44LTEuMSAxLjctMS40IDEuNy0uMyAyLjUtLjMgMy45LS4xIDEgLjEgMS45LjkgMS45IDEuOXY0LjJjMCAuNS0uOSAxLjYtMiAxLjZIOC44Yy0xLjUgMC0yLjQgMS40LTIuNCAyLjh2Mi4ySDQuN0MzLjUgMTUuMSAzIDE0IDMgMTMuMVY5Yy0uMS0xIC42LTIgMS44LTIgMS41LS4xIDYuMy0uMSA2LjMtLjF6Ii8+CiAgICA8cGF0aCBkPSJNMTAuOSAxNS4xdjEuMWg0LjJjMCAuNSAwIDEuMy0uMiAxLjYtLjQuNy0uOCAxLjEtMS43IDEuNC0xLjcuMy0yLjUuMy0zLjkuMS0xLS4xLTEuOS0uOS0xLjktMS45di00LjJjMC0uNS45LTEuNiAyLTEuNmgzLjhjMS41IDAgMi40LTEuNCAyLjQtMi44VjYuNmgxLjdDMTguNSA2LjkgMTkgOCAxOSA4LjlWMTNjMCAxLS43IDIuMS0xLjkgMi4xaC02LjJ6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==); --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=); --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K); --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K); --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==); --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=); --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K); --jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4=); --jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K); --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiIGZpbGw9IiMzMzMzMzMiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uLWFjY2VudDIganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGQ9Ik01LjA1NjY0IDguNzYxNzJDNS4wNTY2NCA4LjU5NzY2IDUuMDMxMjUgOC40NTMxMiA0Ljk4MDQ3IDguMzI4MTJDNC45MzM1OSA4LjE5OTIyIDQuODU1NDcgOC4wODIwMyA0Ljc0NjA5IDcuOTc2NTZDNC42NDA2MiA3Ljg3MTA5IDQuNSA3Ljc3NTM5IDQuMzI0MjIgNy42ODk0NUM0LjE1MjM0IDcuNTk5NjEgMy45NDMzNiA3LjUxMTcyIDMuNjk3MjcgNy40MjU3OEMzLjMwMjczIDcuMjg1MTYgMi45NDMzNiA3LjEzNjcyIDIuNjE5MTQgNi45ODA0N0MyLjI5NDkyIDYuODI0MjIgMi4wMTc1OCA2LjY0MjU4IDEuNzg3MTEgNi40MzU1NUMxLjU2MDU1IDYuMjI4NTIgMS4zODQ3NyA1Ljk4ODI4IDEuMjU5NzcgNS43MTQ4NEMxLjEzNDc3IDUuNDM3NSAxLjA3MjI3IDUuMTA5MzggMS4wNzIyNyA0LjczMDQ3QzEuMDcyMjcgNC4zOTg0NCAxLjEyODkxIDQuMDk1NyAxLjI0MjE5IDMuODIyMjdDMS4zNTU0NyAzLjU0NDkyIDEuNTE1NjIgMy4zMDQ2OSAxLjcyMjY2IDMuMTAxNTZDMS45Mjk2OSAyLjg5ODQ0IDIuMTc5NjkgMi43MzQzNyAyLjQ3MjY2IDIuNjA5MzhDMi43NjU2MiAyLjQ4NDM4IDMuMDkxOCAyLjQwNDMgMy40NTExNyAyLjM2OTE0VjEuMTA5MzhINC4zODg2N1YyLjM4MDg2QzQuNzQwMjMgMi40Mjc3MyA1LjA1NjY0IDIuNTIzNDQgNS4zMzc4OSAyLjY2Nzk3QzUuNjE5MTQgMi44MTI1IDUuODU3NDIgMy4wMDE5NSA2LjA1MjczIDMuMjM2MzNDNi4yNTE5NSAzLjQ2NjggNi40MDQzIDMuNzQwMjMgNi41MDk3NyA0LjA1NjY0QzYuNjE5MTQgNC4zNjkxNCA2LjY3MzgzIDQuNzIwNyA2LjY3MzgzIDUuMTExMzNINS4wNDQ5MkM1LjA0NDkyIDQuNjM4NjcgNC45Mzc1IDQuMjgxMjUgNC43MjI2NiA0LjAzOTA2QzQuNTA3ODEgMy43OTI5NyA0LjIxNjggMy42Njk5MiAzLjg0OTYxIDMuNjY5OTJDMy42NTAzOSAzLjY2OTkyIDMuNDc2NTYgMy42OTcyNyAzLjMyODEyIDMuNzUxOTVDMy4xODM1OSAzLjgwMjczIDMuMDY0NDUgMy44NzY5NSAyLjk3MDcgMy45NzQ2MUMyLjg3Njk1IDQuMDY4MzYgMi44MDY2NCA0LjE3OTY5IDIuNzU5NzcgNC4zMDg1OUMyLjcxNjggNC40Mzc1IDIuNjk1MzEgNC41NzgxMiAyLjY5NTMxIDQuNzMwNDdDMi42OTUzMSA0Ljg4MjgxIDIuNzE2OCA1LjAxOTUzIDIuNzU5NzcgNS4xNDA2MkMyLjgwNjY0IDUuMjU3ODEgMi44ODI4MSA1LjM2NzE5IDIuOTg4MjggNS40Njg3NUMzLjA5NzY2IDUuNTcwMzEgMy4yNDAyMyA1LjY2Nzk3IDMuNDE2MDIgNS43NjE3MkMzLjU5MTggNS44NTE1NiAzLjgxMDU1IDUuOTQzMzYgNC4wNzIyNyA2LjAzNzExQzQuNDY2OCA2LjE4NTU1IDQuODI0MjIgNi4zMzk4NCA1LjE0NDUzIDYuNUM1LjQ2NDg0IDYuNjU2MjUgNS43MzgyOCA2LjgzOTg0IDUuOTY0ODQgNy4wNTA3OEM2LjE5NTMxIDcuMjU3ODEgNi4zNzEwOSA3LjUgNi40OTIxOSA3Ljc3NzM0QzYuNjE3MTkgOC4wNTA3OCA2LjY3OTY5IDguMzc1IDYuNjc5NjkgOC43NUM2LjY3OTY5IDkuMDkzNzUgNi42MjMwNSA5LjQwNDMgNi41MDk3NyA5LjY4MTY0QzYuMzk2NDggOS45NTUwOCA2LjIzNDM4IDEwLjE5MTQgNi4wMjM0NCAxMC4zOTA2QzUuODEyNSAxMC41ODk4IDUuNTU4NTkgMTAuNzUgNS4yNjE3MiAxMC44NzExQzQuOTY0ODQgMTAuOTg4MyA0LjYzMjgxIDExLjA2NDUgNC4yNjU2MiAxMS4wOTk2VjEyLjI0OEgzLjMzMzk4VjExLjA5OTZDMy4wMDE5NSAxMS4wNjg0IDIuNjc5NjkgMTAuOTk2MSAyLjM2NzE5IDEwLjg4MjhDMi4wNTQ2OSAxMC43NjU2IDEuNzc3MzQgMTAuNTk3NyAxLjUzNTE2IDEwLjM3ODlDMS4yOTY4OCAxMC4xNjAyIDEuMTA1NDcgOS44ODQ3NyAwLjk2MDkzOCA5LjU1MjczQzAuODE2NDA2IDkuMjE2OCAwLjc0NDE0MSA4LjgxNDQ1IDAuNzQ0MTQxIDguMzQ1N0gyLjM3ODkxQzIuMzc4OTEgOC42MjY5NSAyLjQxOTkyIDguODYzMjggMi41MDE5NSA5LjA1NDY5QzIuNTgzOTggOS4yNDIxOSAyLjY4OTQ1IDkuMzkyNTggMi44MTgzNiA5LjUwNTg2QzIuOTUxMTcgOS42MTUyMyAzLjEwMTU2IDkuNjkzMzYgMy4yNjk1MyA5Ljc0MDIzQzMuNDM3NSA5Ljc4NzExIDMuNjA5MzggOS44MTA1NSAzLjc4NTE2IDkuODEwNTVDNC4yMDMxMiA5LjgxMDU1IDQuNTE5NTMgOS43MTI4OSA0LjczNDM4IDkuNTE3NThDNC45NDkyMiA5LjMyMjI3IDUuMDU2NjQgOS4wNzAzMSA1LjA1NjY0IDguNzYxNzJaTTEzLjQxOCAxMi4yNzE1SDguMDc0MjJWMTFIMTMuNDE4VjEyLjI3MTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk1MjY0IDYpIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgMTVIM3YyaDEydi0yem0wLThIM3YyaDEyVjd6TTMgMTNoMTh2LTJIM3Yyem0wIDhoMTh2LTJIM3Yyek0zIDN2MmgxOFYzSDN6Ii8+Cjwvc3ZnPgo=); --jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4=); --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K); --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==); --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K); } /* Icon CSS class declarations */ .jp-AddIcon { background-image: var(--jp-icon-add); } .jp-BugIcon { background-image: var(--jp-icon-bug); } .jp-BuildIcon { background-image: var(--jp-icon-build); } .jp-CaretDownEmptyIcon { background-image: var(--jp-icon-caret-down-empty); } .jp-CaretDownEmptyThinIcon { background-image: var(--jp-icon-caret-down-empty-thin); } .jp-CaretDownIcon { background-image: var(--jp-icon-caret-down); } .jp-CaretLeftIcon { background-image: var(--jp-icon-caret-left); } .jp-CaretRightIcon { background-image: var(--jp-icon-caret-right); } .jp-CaretUpEmptyThinIcon { background-image: var(--jp-icon-caret-up-empty-thin); } .jp-CaretUpIcon { background-image: var(--jp-icon-caret-up); } .jp-CaseSensitiveIcon { background-image: var(--jp-icon-case-sensitive); } .jp-CheckIcon { background-image: var(--jp-icon-check); } .jp-CircleEmptyIcon { background-image: var(--jp-icon-circle-empty); } .jp-CircleIcon { background-image: var(--jp-icon-circle); } .jp-ClearIcon { background-image: var(--jp-icon-clear); } .jp-CloseIcon { background-image: var(--jp-icon-close); } .jp-CodeIcon { background-image: var(--jp-icon-code); } .jp-ConsoleIcon { background-image: var(--jp-icon-console); } .jp-CopyIcon { background-image: var(--jp-icon-copy); } .jp-CopyrightIcon { background-image: var(--jp-icon-copyright); } .jp-CutIcon { background-image: var(--jp-icon-cut); } .jp-DownloadIcon { background-image: var(--jp-icon-download); } .jp-EditIcon { background-image: var(--jp-icon-edit); } .jp-EllipsesIcon { background-image: var(--jp-icon-ellipses); } .jp-ExtensionIcon { background-image: var(--jp-icon-extension); } .jp-FastForwardIcon { background-image: var(--jp-icon-fast-forward); } .jp-FileIcon { background-image: var(--jp-icon-file); } .jp-FileUploadIcon { background-image: var(--jp-icon-file-upload); } .jp-FilterListIcon { background-image: var(--jp-icon-filter-list); } .jp-FolderIcon { background-image: var(--jp-icon-folder); } .jp-Html5Icon { background-image: var(--jp-icon-html5); } .jp-ImageIcon { background-image: var(--jp-icon-image); } .jp-InspectorIcon { background-image: var(--jp-icon-inspector); } .jp-JsonIcon { background-image: var(--jp-icon-json); } .jp-JuliaIcon { background-image: var(--jp-icon-julia); } .jp-JupyterFaviconIcon { background-image: var(--jp-icon-jupyter-favicon); } .jp-JupyterIcon { background-image: var(--jp-icon-jupyter); } .jp-JupyterlabWordmarkIcon { background-image: var(--jp-icon-jupyterlab-wordmark); } .jp-KernelIcon { background-image: var(--jp-icon-kernel); } .jp-KeyboardIcon { background-image: var(--jp-icon-keyboard); } .jp-LauncherIcon { background-image: var(--jp-icon-launcher); } .jp-LineFormIcon { background-image: var(--jp-icon-line-form); } .jp-LinkIcon { background-image: var(--jp-icon-link); } .jp-ListIcon { background-image: var(--jp-icon-list); } .jp-ListingsInfoIcon { background-image: var(--jp-icon-listings-info); } .jp-MarkdownIcon { background-image: var(--jp-icon-markdown); } .jp-NewFolderIcon { background-image: var(--jp-icon-new-folder); } .jp-NotTrustedIcon { background-image: var(--jp-icon-not-trusted); } .jp-NotebookIcon { background-image: var(--jp-icon-notebook); } .jp-NumberingIcon { background-image: var(--jp-icon-numbering); } .jp-OfflineBoltIcon { background-image: var(--jp-icon-offline-bolt); } .jp-PaletteIcon { background-image: var(--jp-icon-palette); } .jp-PasteIcon { background-image: var(--jp-icon-paste); } .jp-PdfIcon { background-image: var(--jp-icon-pdf); } .jp-PythonIcon { background-image: var(--jp-icon-python); } .jp-RKernelIcon { background-image: var(--jp-icon-r-kernel); } .jp-ReactIcon { background-image: var(--jp-icon-react); } .jp-RedoIcon { background-image: var(--jp-icon-redo); } .jp-RefreshIcon { background-image: var(--jp-icon-refresh); } .jp-RegexIcon { background-image: var(--jp-icon-regex); } .jp-RunIcon { background-image: var(--jp-icon-run); } .jp-RunningIcon { background-image: var(--jp-icon-running); } .jp-SaveIcon { background-image: var(--jp-icon-save); } .jp-SearchIcon { background-image: var(--jp-icon-search); } .jp-SettingsIcon { background-image: var(--jp-icon-settings); } .jp-SpreadsheetIcon { background-image: var(--jp-icon-spreadsheet); } .jp-StopIcon { background-image: var(--jp-icon-stop); } .jp-TabIcon { background-image: var(--jp-icon-tab); } .jp-TableRowsIcon { background-image: var(--jp-icon-table-rows); } .jp-TagIcon { background-image: var(--jp-icon-tag); } .jp-TerminalIcon { background-image: var(--jp-icon-terminal); } .jp-TextEditorIcon { background-image: var(--jp-icon-text-editor); } .jp-TocIcon { background-image: var(--jp-icon-toc); } .jp-TreeViewIcon { background-image: var(--jp-icon-tree-view); } .jp-TrustedIcon { background-image: var(--jp-icon-trusted); } .jp-UndoIcon { background-image: var(--jp-icon-undo); } .jp-VegaIcon { background-image: var(--jp-icon-vega); } .jp-YamlIcon { background-image: var(--jp-icon-yaml); } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /** * (DEPRECATED) Support for consuming icons as CSS background images */ .jp-Icon, .jp-MaterialIcon { background-position: center; background-repeat: no-repeat; background-size: 16px; min-width: 16px; min-height: 16px; } .jp-Icon-cover { background-position: center; background-repeat: no-repeat; background-size: cover; } /** * (DEPRECATED) Support for specific CSS icon sizes */ .jp-Icon-16 { background-size: 16px; min-width: 16px; min-height: 16px; } .jp-Icon-18 { background-size: 18px; min-width: 18px; min-height: 18px; } .jp-Icon-20 { background-size: 20px; min-width: 20px; min-height: 20px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /** * Support for icons as inline SVG HTMLElements */ /* recolor the primary elements of an icon */ .jp-icon0[fill] { fill: var(--jp-inverse-layout-color0); } .jp-icon1[fill] { fill: var(--jp-inverse-layout-color1); } .jp-icon2[fill] { fill: var(--jp-inverse-layout-color2); } .jp-icon3[fill] { fill: var(--jp-inverse-layout-color3); } .jp-icon4[fill] { fill: var(--jp-inverse-layout-color4); } .jp-icon0[stroke] { stroke: var(--jp-inverse-layout-color0); } .jp-icon1[stroke] { stroke: var(--jp-inverse-layout-color1); } .jp-icon2[stroke] { stroke: var(--jp-inverse-layout-color2); } .jp-icon3[stroke] { stroke: var(--jp-inverse-layout-color3); } .jp-icon4[stroke] { stroke: var(--jp-inverse-layout-color4); } /* recolor the accent elements of an icon */ .jp-icon-accent0[fill] { fill: var(--jp-layout-color0); } .jp-icon-accent1[fill] { fill: var(--jp-layout-color1); } .jp-icon-accent2[fill] { fill: var(--jp-layout-color2); } .jp-icon-accent3[fill] { fill: var(--jp-layout-color3); } .jp-icon-accent4[fill] { fill: var(--jp-layout-color4); } .jp-icon-accent0[stroke] { stroke: var(--jp-layout-color0); } .jp-icon-accent1[stroke] { stroke: var(--jp-layout-color1); } .jp-icon-accent2[stroke] { stroke: var(--jp-layout-color2); } .jp-icon-accent3[stroke] { stroke: var(--jp-layout-color3); } .jp-icon-accent4[stroke] { stroke: var(--jp-layout-color4); } /* set the color of an icon to transparent */ .jp-icon-none[fill] { fill: none; } .jp-icon-none[stroke] { stroke: none; } /* brand icon colors. Same for light and dark */ .jp-icon-brand0[fill] { fill: var(--jp-brand-color0); } .jp-icon-brand1[fill] { fill: var(--jp-brand-color1); } .jp-icon-brand2[fill] { fill: var(--jp-brand-color2); } .jp-icon-brand3[fill] { fill: var(--jp-brand-color3); } .jp-icon-brand4[fill] { fill: var(--jp-brand-color4); } .jp-icon-brand0[stroke] { stroke: var(--jp-brand-color0); } .jp-icon-brand1[stroke] { stroke: var(--jp-brand-color1); } .jp-icon-brand2[stroke] { stroke: var(--jp-brand-color2); } .jp-icon-brand3[stroke] { stroke: var(--jp-brand-color3); } .jp-icon-brand4[stroke] { stroke: var(--jp-brand-color4); } /* warn icon colors. Same for light and dark */ .jp-icon-warn0[fill] { fill: var(--jp-warn-color0); } .jp-icon-warn1[fill] { fill: var(--jp-warn-color1); } .jp-icon-warn2[fill] { fill: var(--jp-warn-color2); } .jp-icon-warn3[fill] { fill: var(--jp-warn-color3); } .jp-icon-warn0[stroke] { stroke: var(--jp-warn-color0); } .jp-icon-warn1[stroke] { stroke: var(--jp-warn-color1); } .jp-icon-warn2[stroke] { stroke: var(--jp-warn-color2); } .jp-icon-warn3[stroke] { stroke: var(--jp-warn-color3); } /* icon colors that contrast well with each other and most backgrounds */ .jp-icon-contrast0[fill] { fill: var(--jp-icon-contrast-color0); } .jp-icon-contrast1[fill] { fill: var(--jp-icon-contrast-color1); } .jp-icon-contrast2[fill] { fill: var(--jp-icon-contrast-color2); } .jp-icon-contrast3[fill] { fill: var(--jp-icon-contrast-color3); } .jp-icon-contrast0[stroke] { stroke: var(--jp-icon-contrast-color0); } .jp-icon-contrast1[stroke] { stroke: var(--jp-icon-contrast-color1); } .jp-icon-contrast2[stroke] { stroke: var(--jp-icon-contrast-color2); } .jp-icon-contrast3[stroke] { stroke: var(--jp-icon-contrast-color3); } /* CSS for icons in selected items in the settings editor */ #setting-editor .jp-PluginList .jp-mod-selected .jp-icon-selectable[fill] { fill: #fff; } #setting-editor .jp-PluginList .jp-mod-selected .jp-icon-selectable-inverse[fill] { fill: var(--jp-brand-color1); } /* CSS for icons in selected filebrowser listing items */ .jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] { fill: #fff; } .jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] { fill: var(--jp-brand-color1); } /* CSS for icons in selected tabs in the sidebar tab manager */ #tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable[fill] { fill: #fff; } #tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable-inverse[fill] { fill: var(--jp-brand-color1); } #tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-hover :hover .jp-icon-selectable[fill] { fill: var(--jp-brand-color1); } #tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-hover :hover .jp-icon-selectable-inverse[fill] { fill: #fff; } /** * TODO: come up with non css-hack solution for showing the busy icon on top * of the close icon * CSS for complex behavior of close icon of tabs in the sidebar tab manager */ #tab-manager .lm-TabBar-tab.jp-mod-dirty > .lm-TabBar-tabCloseIcon > :not(:hover) > .jp-icon3[fill] { fill: none; } #tab-manager .lm-TabBar-tab.jp-mod-dirty > .lm-TabBar-tabCloseIcon > :not(:hover) > .jp-icon-busy[fill] { fill: var(--jp-inverse-layout-color3); } #tab-manager .lm-TabBar-tab.jp-mod-dirty.jp-mod-active > .lm-TabBar-tabCloseIcon > :not(:hover) > .jp-icon-busy[fill] { fill: #fff; } /** * TODO: come up with non css-hack solution for showing the busy icon on top * of the close icon * CSS for complex behavior of close icon of tabs in the main area tabbar */ .lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty > .lm-TabBar-tabCloseIcon > :not(:hover) > .jp-icon3[fill] { fill: none; } .lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty > .lm-TabBar-tabCloseIcon > :not(:hover) > .jp-icon-busy[fill] { fill: var(--jp-inverse-layout-color3); } /* CSS for icons in status bar */ #jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] { fill: #fff; } #jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] { fill: var(--jp-brand-color1); } /* special handling for splash icon CSS. While the theme CSS reloads during splash, the splash icon can loose theming. To prevent that, we set a default for its color variable */ :root { --jp-warn-color0: var(--md-orange-700); } /* not sure what to do with this one, used in filebrowser listing */ .jp-DragIcon { margin-right: 4px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /** * Support for alt colors for icons as inline SVG HTMLElements */ /* alt recolor the primary elements of an icon */ .jp-icon-alt .jp-icon0[fill] { fill: var(--jp-layout-color0); } .jp-icon-alt .jp-icon1[fill] { fill: var(--jp-layout-color1); } .jp-icon-alt .jp-icon2[fill] { fill: var(--jp-layout-color2); } .jp-icon-alt .jp-icon3[fill] { fill: var(--jp-layout-color3); } .jp-icon-alt .jp-icon4[fill] { fill: var(--jp-layout-color4); } .jp-icon-alt .jp-icon0[stroke] { stroke: var(--jp-layout-color0); } .jp-icon-alt .jp-icon1[stroke] { stroke: var(--jp-layout-color1); } .jp-icon-alt .jp-icon2[stroke] { stroke: var(--jp-layout-color2); } .jp-icon-alt .jp-icon3[stroke] { stroke: var(--jp-layout-color3); } .jp-icon-alt .jp-icon4[stroke] { stroke: var(--jp-layout-color4); } /* alt recolor the accent elements of an icon */ .jp-icon-alt .jp-icon-accent0[fill] { fill: var(--jp-inverse-layout-color0); } .jp-icon-alt .jp-icon-accent1[fill] { fill: var(--jp-inverse-layout-color1); } .jp-icon-alt .jp-icon-accent2[fill] { fill: var(--jp-inverse-layout-color2); } .jp-icon-alt .jp-icon-accent3[fill] { fill: var(--jp-inverse-layout-color3); } .jp-icon-alt .jp-icon-accent4[fill] { fill: var(--jp-inverse-layout-color4); } .jp-icon-alt .jp-icon-accent0[stroke] { stroke: var(--jp-inverse-layout-color0); } .jp-icon-alt .jp-icon-accent1[stroke] { stroke: var(--jp-inverse-layout-color1); } .jp-icon-alt .jp-icon-accent2[stroke] { stroke: var(--jp-inverse-layout-color2); } .jp-icon-alt .jp-icon-accent3[stroke] { stroke: var(--jp-inverse-layout-color3); } .jp-icon-alt .jp-icon-accent4[stroke] { stroke: var(--jp-inverse-layout-color4); } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-icon-hoverShow:not(:hover) svg { display: none !important; } /** * Support for hover colors for icons as inline SVG HTMLElements */ /** * regular colors */ /* recolor the primary elements of an icon */ .jp-icon-hover :hover .jp-icon0-hover[fill] { fill: var(--jp-inverse-layout-color0); } .jp-icon-hover :hover .jp-icon1-hover[fill] { fill: var(--jp-inverse-layout-color1); } .jp-icon-hover :hover .jp-icon2-hover[fill] { fill: var(--jp-inverse-layout-color2); } .jp-icon-hover :hover .jp-icon3-hover[fill] { fill: var(--jp-inverse-layout-color3); } .jp-icon-hover :hover .jp-icon4-hover[fill] { fill: var(--jp-inverse-layout-color4); } .jp-icon-hover :hover .jp-icon0-hover[stroke] { stroke: var(--jp-inverse-layout-color0); } .jp-icon-hover :hover .jp-icon1-hover[stroke] { stroke: var(--jp-inverse-layout-color1); } .jp-icon-hover :hover .jp-icon2-hover[stroke] { stroke: var(--jp-inverse-layout-color2); } .jp-icon-hover :hover .jp-icon3-hover[stroke] { stroke: var(--jp-inverse-layout-color3); } .jp-icon-hover :hover .jp-icon4-hover[stroke] { stroke: var(--jp-inverse-layout-color4); } /* recolor the accent elements of an icon */ .jp-icon-hover :hover .jp-icon-accent0-hover[fill] { fill: var(--jp-layout-color0); } .jp-icon-hover :hover .jp-icon-accent1-hover[fill] { fill: var(--jp-layout-color1); } .jp-icon-hover :hover .jp-icon-accent2-hover[fill] { fill: var(--jp-layout-color2); } .jp-icon-hover :hover .jp-icon-accent3-hover[fill] { fill: var(--jp-layout-color3); } .jp-icon-hover :hover .jp-icon-accent4-hover[fill] { fill: var(--jp-layout-color4); } .jp-icon-hover :hover .jp-icon-accent0-hover[stroke] { stroke: var(--jp-layout-color0); } .jp-icon-hover :hover .jp-icon-accent1-hover[stroke] { stroke: var(--jp-layout-color1); } .jp-icon-hover :hover .jp-icon-accent2-hover[stroke] { stroke: var(--jp-layout-color2); } .jp-icon-hover :hover .jp-icon-accent3-hover[stroke] { stroke: var(--jp-layout-color3); } .jp-icon-hover :hover .jp-icon-accent4-hover[stroke] { stroke: var(--jp-layout-color4); } /* set the color of an icon to transparent */ .jp-icon-hover :hover .jp-icon-none-hover[fill] { fill: none; } .jp-icon-hover :hover .jp-icon-none-hover[stroke] { stroke: none; } /** * inverse colors */ /* inverse recolor the primary elements of an icon */ .jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] { fill: var(--jp-layout-color0); } .jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] { fill: var(--jp-layout-color1); } .jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] { fill: var(--jp-layout-color2); } .jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] { fill: var(--jp-layout-color3); } .jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] { fill: var(--jp-layout-color4); } .jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] { stroke: var(--jp-layout-color0); } .jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] { stroke: var(--jp-layout-color1); } .jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] { stroke: var(--jp-layout-color2); } .jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] { stroke: var(--jp-layout-color3); } .jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] { stroke: var(--jp-layout-color4); } /* inverse recolor the accent elements of an icon */ .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] { fill: var(--jp-inverse-layout-color0); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] { fill: var(--jp-inverse-layout-color1); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] { fill: var(--jp-inverse-layout-color2); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] { fill: var(--jp-inverse-layout-color3); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] { fill: var(--jp-inverse-layout-color4); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] { stroke: var(--jp-inverse-layout-color0); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] { stroke: var(--jp-inverse-layout-color1); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] { stroke: var(--jp-inverse-layout-color2); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] { stroke: var(--jp-inverse-layout-color3); } .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] { stroke: var(--jp-inverse-layout-color4); } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-switch { display: flex; align-items: center; padding-left: 4px; padding-right: 4px; font-size: var(--jp-ui-font-size1); background-color: transparent; color: var(--jp-ui-font-color1); border: none; height: 20px; } .jp-switch:hover { background-color: var(--jp-layout-color2); } .jp-switch-label { margin-right: 5px; } .jp-switch-track { cursor: pointer; background-color: var(--jp-border-color1); -webkit-transition: 0.4s; transition: 0.4s; border-radius: 34px; height: 16px; width: 35px; position: relative; } .jp-switch-track::before { content: ''; position: absolute; height: 10px; width: 10px; margin: 3px; left: 0px; background-color: var(--jp-ui-inverse-font-color1); -webkit-transition: 0.4s; transition: 0.4s; border-radius: 50%; } .jp-switch[aria-checked='true'] .jp-switch-track { background-color: var(--jp-warn-color0); } .jp-switch[aria-checked='true'] .jp-switch-track::before { /* track width (35) - margins (3 + 3) - thumb width (10) */ left: 19px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /* Sibling imports */ /* Override Blueprint's _reset.scss styles */ html { box-sizing: unset; } *, *::before, *::after { box-sizing: unset; } body { color: unset; font-family: var(--jp-ui-font-family); } p { margin-top: unset; margin-bottom: unset; } small { font-size: unset; } strong { font-weight: unset; } /* Override Blueprint's _typography.scss styles */ a { text-decoration: unset; color: unset; } a:hover { text-decoration: unset; color: unset; } /* Override Blueprint's _accessibility.scss styles */ :focus { outline: unset; outline-offset: unset; -moz-outline-radius: unset; } /* Styles for ui-components */ .jp-Button { border-radius: var(--jp-border-radius); padding: 0px 12px; font-size: var(--jp-ui-font-size1); } /* Use our own theme for hover styles */ button.jp-Button.bp3-button.bp3-minimal:hover { background-color: var(--jp-layout-color2); } .jp-Button.minimal { color: unset !important; } .jp-Button.jp-ToolbarButtonComponent { text-transform: none; } .jp-InputGroup input { box-sizing: border-box; border-radius: 0; background-color: transparent; color: var(--jp-ui-font-color0); box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); } .jp-InputGroup input:focus { box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-active-box-shadow-color), inset 0 0 0 3px var(--jp-input-active-box-shadow-color); } .jp-InputGroup input::placeholder, input::placeholder { color: var(--jp-ui-font-color3); } .jp-BPIcon { display: inline-block; vertical-align: middle; margin: auto; } /* Stop blueprint futzing with our icon fills */ .bp3-icon.jp-BPIcon > svg:not([fill]) { fill: var(--jp-inverse-layout-color3); } .jp-InputGroupAction { padding: 6px; } .jp-HTMLSelect.jp-DefaultStyle select { background-color: initial; border: none; border-radius: 0; box-shadow: none; color: var(--jp-ui-font-color0); display: block; font-size: var(--jp-ui-font-size1); height: 24px; line-height: 14px; padding: 0 25px 0 10px; text-align: left; -moz-appearance: none; -webkit-appearance: none; } /* Use our own theme for hover and option styles */ .jp-HTMLSelect.jp-DefaultStyle select:hover, .jp-HTMLSelect.jp-DefaultStyle select > option { background-color: var(--jp-layout-color2); color: var(--jp-ui-font-color0); } select { box-sizing: border-box; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-Collapse { display: flex; flex-direction: column; align-items: stretch; border-top: 1px solid var(--jp-border-color2); border-bottom: 1px solid var(--jp-border-color2); } .jp-Collapse-header { padding: 1px 12px; color: var(--jp-ui-font-color1); background-color: var(--jp-layout-color1); font-size: var(--jp-ui-font-size2); } .jp-Collapse-header:hover { background-color: var(--jp-layout-color2); } .jp-Collapse-contents { padding: 0px 12px 0px 12px; background-color: var(--jp-layout-color1); color: var(--jp-ui-font-color1); overflow: auto; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Variables |----------------------------------------------------------------------------*/ :root { --jp-private-commandpalette-search-height: 28px; } /*----------------------------------------------------------------------------- | Overall styles |----------------------------------------------------------------------------*/ .lm-CommandPalette { padding-bottom: 0px; color: var(--jp-ui-font-color1); background: var(--jp-layout-color1); /* This is needed so that all font sizing of children done in ems is * relative to this base size */ font-size: var(--jp-ui-font-size1); } /*----------------------------------------------------------------------------- | Modal variant |----------------------------------------------------------------------------*/ .jp-ModalCommandPalette { position: absolute; z-index: 10000; top: 38px; left: 30%; margin: 0; padding: 4px; width: 40%; box-shadow: var(--jp-elevation-z4); border-radius: 4px; background: var(--jp-layout-color0); } .jp-ModalCommandPalette .lm-CommandPalette { max-height: 40vh; } .jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after { display: none; } .jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header { display: none; } .jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item { margin-left: 4px; margin-right: 4px; } .jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item.lm-mod-disabled { display: none; } /*----------------------------------------------------------------------------- | Search |----------------------------------------------------------------------------*/ .lm-CommandPalette-search { padding: 4px; background-color: var(--jp-layout-color1); z-index: 2; } .lm-CommandPalette-wrapper { overflow: overlay; padding: 0px 9px; background-color: var(--jp-input-active-background); height: 30px; box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); } .lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper { box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color), inset 0 0 0 3px var(--jp-input-active-box-shadow-color); } .jp-SearchIconGroup { color: white; background-color: var(--jp-brand-color1); position: absolute; top: 4px; right: 4px; padding: 5px 5px 1px 5px; } .jp-SearchIconGroup svg { height: 20px; width: 20px; } .jp-SearchIconGroup .jp-icon3[fill] { fill: var(--jp-layout-color0); } .lm-CommandPalette-input { background: transparent; width: calc(100% - 18px); float: left; border: none; outline: none; font-size: var(--jp-ui-font-size1); color: var(--jp-ui-font-color0); line-height: var(--jp-private-commandpalette-search-height); } .lm-CommandPalette-input::-webkit-input-placeholder, .lm-CommandPalette-input::-moz-placeholder, .lm-CommandPalette-input:-ms-input-placeholder { color: var(--jp-ui-font-color2); font-size: var(--jp-ui-font-size1); } /*----------------------------------------------------------------------------- | Results |----------------------------------------------------------------------------*/ .lm-CommandPalette-header:first-child { margin-top: 0px; } .lm-CommandPalette-header { border-bottom: solid var(--jp-border-width) var(--jp-border-color2); color: var(--jp-ui-font-color1); cursor: pointer; display: flex; font-size: var(--jp-ui-font-size0); font-weight: 600; letter-spacing: 1px; margin-top: 8px; padding: 8px 0 8px 12px; text-transform: uppercase; } .lm-CommandPalette-header.lm-mod-active { background: var(--jp-layout-color2); } .lm-CommandPalette-header > mark { background-color: transparent; font-weight: bold; color: var(--jp-ui-font-color1); } .lm-CommandPalette-item { padding: 4px 12px 4px 4px; color: var(--jp-ui-font-color1); font-size: var(--jp-ui-font-size1); font-weight: 400; display: flex; } .lm-CommandPalette-item.lm-mod-disabled { color: var(--jp-ui-font-color2); } .lm-CommandPalette-item.lm-mod-active { color: var(--jp-ui-inverse-font-color1); background: var(--jp-brand-color1); } .lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark { color: var(--jp-ui-inverse-font-color0); } .lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] { fill: var(--jp-layout-color0); } .lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark { color: var(--jp-ui-inverse-font-color0); } .lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) { color: var(--jp-ui-inverse-font-color1); background: var(--jp-brand-color1); } .lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) { background: var(--jp-layout-color2); } .lm-CommandPalette-itemContent { overflow: hidden; } .lm-CommandPalette-itemLabel > mark { color: var(--jp-ui-font-color0); background-color: transparent; font-weight: bold; } .lm-CommandPalette-item.lm-mod-disabled mark { color: var(--jp-ui-font-color2); } .lm-CommandPalette-item .lm-CommandPalette-itemIcon { margin: 0 4px 0 0; position: relative; width: 16px; top: 2px; flex: 0 0 auto; } .lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon { opacity: 0.6; } .lm-CommandPalette-item .lm-CommandPalette-itemShortcut { flex: 0 0 auto; } .lm-CommandPalette-itemCaption { display: none; } .lm-CommandPalette-content { background-color: var(--jp-layout-color1); } .lm-CommandPalette-content:empty:after { content: 'No results'; margin: auto; margin-top: 20px; width: 100px; display: block; font-size: var(--jp-ui-font-size2); font-family: var(--jp-ui-font-family); font-weight: lighter; } .lm-CommandPalette-emptyMessage { text-align: center; margin-top: 24px; line-height: 1.32; padding: 0px 8px; color: var(--jp-content-font-color3); } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2017, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-Dialog { position: absolute; z-index: 10000; display: flex; flex-direction: column; align-items: center; justify-content: center; top: 0px; left: 0px; margin: 0; padding: 0; width: 100%; height: 100%; background: var(--jp-dialog-background); } .jp-Dialog-content { display: flex; flex-direction: column; margin-left: auto; margin-right: auto; background: var(--jp-layout-color1); padding: 24px; padding-bottom: 12px; min-width: 300px; min-height: 150px; max-width: 1000px; max-height: 500px; box-sizing: border-box; box-shadow: var(--jp-elevation-z20); word-wrap: break-word; border-radius: var(--jp-border-radius); /* This is needed so that all font sizing of children done in ems is * relative to this base size */ font-size: var(--jp-ui-font-size1); color: var(--jp-ui-font-color1); resize: both; } .jp-Dialog-button { overflow: visible; } button.jp-Dialog-button:focus { outline: 1px solid var(--jp-brand-color1); outline-offset: 4px; -moz-outline-radius: 0px; } button.jp-Dialog-button:focus::-moz-focus-inner { border: 0; } button.jp-Dialog-close-button { padding: 0; height: 100%; min-width: unset; min-height: unset; } .jp-Dialog-header { display: flex; justify-content: space-between; flex: 0 0 auto; padding-bottom: 12px; font-size: var(--jp-ui-font-size3); font-weight: 400; color: var(--jp-ui-font-color0); } .jp-Dialog-body { display: flex; flex-direction: column; flex: 1 1 auto; font-size: var(--jp-ui-font-size1); background: var(--jp-layout-color1); overflow: auto; } .jp-Dialog-footer { display: flex; flex-direction: row; justify-content: flex-end; flex: 0 0 auto; margin-left: -12px; margin-right: -12px; padding: 12px; } .jp-Dialog-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .jp-Dialog-body > .jp-select-wrapper { width: 100%; } .jp-Dialog-body > button { padding: 0px 16px; } .jp-Dialog-body > label { line-height: 1.4; color: var(--jp-ui-font-color0); } .jp-Dialog-button.jp-mod-styled:not(:last-child) { margin-right: 12px; } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2016, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-HoverBox { position: fixed; } .jp-HoverBox.jp-mod-outofview { display: none; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-IFrame { width: 100%; height: 100%; } .jp-IFrame > iframe { border: none; } /* When drag events occur, `p-mod-override-cursor` is added to the body. Because iframes steal all cursor events, the following two rules are necessary to suppress pointer events while resize drags are occurring. There may be a better solution to this problem. */ body.lm-mod-override-cursor .jp-IFrame { position: relative; } body.lm-mod-override-cursor .jp-IFrame:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: transparent; } .jp-Input-Boolean-Dialog { flex-direction: row-reverse; align-items: end; width: 100%; } .jp-Input-Boolean-Dialog > label { flex: 1 1 auto; } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2016, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-MainAreaWidget > :focus { outline: none; } /** * google-material-color v1.2.6 * https://github.com/danlevan/google-material-color */ :root { --md-red-50: #ffebee; --md-red-100: #ffcdd2; --md-red-200: #ef9a9a; --md-red-300: #e57373; --md-red-400: #ef5350; --md-red-500: #f44336; --md-red-600: #e53935; --md-red-700: #d32f2f; --md-red-800: #c62828; --md-red-900: #b71c1c; --md-red-A100: #ff8a80; --md-red-A200: #ff5252; --md-red-A400: #ff1744; --md-red-A700: #d50000; --md-pink-50: #fce4ec; --md-pink-100: #f8bbd0; --md-pink-200: #f48fb1; --md-pink-300: #f06292; --md-pink-400: #ec407a; --md-pink-500: #e91e63; --md-pink-600: #d81b60; --md-pink-700: #c2185b; --md-pink-800: #ad1457; --md-pink-900: #880e4f; --md-pink-A100: #ff80ab; --md-pink-A200: #ff4081; --md-pink-A400: #f50057; --md-pink-A700: #c51162; --md-purple-50: #f3e5f5; --md-purple-100: #e1bee7; --md-purple-200: #ce93d8; --md-purple-300: #ba68c8; --md-purple-400: #ab47bc; --md-purple-500: #9c27b0; --md-purple-600: #8e24aa; --md-purple-700: #7b1fa2; --md-purple-800: #6a1b9a; --md-purple-900: #4a148c; --md-purple-A100: #ea80fc; --md-purple-A200: #e040fb; --md-purple-A400: #d500f9; --md-purple-A700: #aa00ff; --md-deep-purple-50: #ede7f6; --md-deep-purple-100: #d1c4e9; --md-deep-purple-200: #b39ddb; --md-deep-purple-300: #9575cd; --md-deep-purple-400: #7e57c2; --md-deep-purple-500: #673ab7; --md-deep-purple-600: #5e35b1; --md-deep-purple-700: #512da8; --md-deep-purple-800: #4527a0; --md-deep-purple-900: #311b92; --md-deep-purple-A100: #b388ff; --md-deep-purple-A200: #7c4dff; --md-deep-purple-A400: #651fff; --md-deep-purple-A700: #6200ea; --md-indigo-50: #e8eaf6; --md-indigo-100: #c5cae9; --md-indigo-200: #9fa8da; --md-indigo-300: #7986cb; --md-indigo-400: #5c6bc0; --md-indigo-500: #3f51b5; --md-indigo-600: #3949ab; --md-indigo-700: #303f9f; --md-indigo-800: #283593; --md-indigo-900: #1a237e; --md-indigo-A100: #8c9eff; --md-indigo-A200: #536dfe; --md-indigo-A400: #3d5afe; --md-indigo-A700: #304ffe; --md-blue-50: #e3f2fd; --md-blue-100: #bbdefb; --md-blue-200: #90caf9; --md-blue-300: #64b5f6; --md-blue-400: #42a5f5; --md-blue-500: #2196f3; --md-blue-600: #1e88e5; --md-blue-700: #1976d2; --md-blue-800: #1565c0; --md-blue-900: #0d47a1; --md-blue-A100: #82b1ff; --md-blue-A200: #448aff; --md-blue-A400: #2979ff; --md-blue-A700: #2962ff; --md-light-blue-50: #e1f5fe; --md-light-blue-100: #b3e5fc; --md-light-blue-200: #81d4fa; --md-light-blue-300: #4fc3f7; --md-light-blue-400: #29b6f6; --md-light-blue-500: #03a9f4; --md-light-blue-600: #039be5; --md-light-blue-700: #0288d1; --md-light-blue-800: #0277bd; --md-light-blue-900: #01579b; --md-light-blue-A100: #80d8ff; --md-light-blue-A200: #40c4ff; --md-light-blue-A400: #00b0ff; --md-light-blue-A700: #0091ea; --md-cyan-50: #e0f7fa; --md-cyan-100: #b2ebf2; --md-cyan-200: #80deea; --md-cyan-300: #4dd0e1; --md-cyan-400: #26c6da; --md-cyan-500: #00bcd4; --md-cyan-600: #00acc1; --md-cyan-700: #0097a7; --md-cyan-800: #00838f; --md-cyan-900: #006064; --md-cyan-A100: #84ffff; --md-cyan-A200: #18ffff; --md-cyan-A400: #00e5ff; --md-cyan-A700: #00b8d4; --md-teal-50: #e0f2f1; --md-teal-100: #b2dfdb; --md-teal-200: #80cbc4; --md-teal-300: #4db6ac; --md-teal-400: #26a69a; --md-teal-500: #009688; --md-teal-600: #00897b; --md-teal-700: #00796b; --md-teal-800: #00695c; --md-teal-900: #004d40; --md-teal-A100: #a7ffeb; --md-teal-A200: #64ffda; --md-teal-A400: #1de9b6; --md-teal-A700: #00bfa5; --md-green-50: #e8f5e9; --md-green-100: #c8e6c9; --md-green-200: #a5d6a7; --md-green-300: #81c784; --md-green-400: #66bb6a; --md-green-500: #4caf50; --md-green-600: #43a047; --md-green-700: #388e3c; --md-green-800: #2e7d32; --md-green-900: #1b5e20; --md-green-A100: #b9f6ca; --md-green-A200: #69f0ae; --md-green-A400: #00e676; --md-green-A700: #00c853; --md-light-green-50: #f1f8e9; --md-light-green-100: #dcedc8; --md-light-green-200: #c5e1a5; --md-light-green-300: #aed581; --md-light-green-400: #9ccc65; --md-light-green-500: #8bc34a; --md-light-green-600: #7cb342; --md-light-green-700: #689f38; --md-light-green-800: #558b2f; --md-light-green-900: #33691e; --md-light-green-A100: #ccff90; --md-light-green-A200: #b2ff59; --md-light-green-A400: #76ff03; --md-light-green-A700: #64dd17; --md-lime-50: #f9fbe7; --md-lime-100: #f0f4c3; --md-lime-200: #e6ee9c; --md-lime-300: #dce775; --md-lime-400: #d4e157; --md-lime-500: #cddc39; --md-lime-600: #c0ca33; --md-lime-700: #afb42b; --md-lime-800: #9e9d24; --md-lime-900: #827717; --md-lime-A100: #f4ff81; --md-lime-A200: #eeff41; --md-lime-A400: #c6ff00; --md-lime-A700: #aeea00; --md-yellow-50: #fffde7; --md-yellow-100: #fff9c4; --md-yellow-200: #fff59d; --md-yellow-300: #fff176; --md-yellow-400: #ffee58; --md-yellow-500: #ffeb3b; --md-yellow-600: #fdd835; --md-yellow-700: #fbc02d; --md-yellow-800: #f9a825; --md-yellow-900: #f57f17; --md-yellow-A100: #ffff8d; --md-yellow-A200: #ffff00; --md-yellow-A400: #ffea00; --md-yellow-A700: #ffd600; --md-amber-50: #fff8e1; --md-amber-100: #ffecb3; --md-amber-200: #ffe082; --md-amber-300: #ffd54f; --md-amber-400: #ffca28; --md-amber-500: #ffc107; --md-amber-600: #ffb300; --md-amber-700: #ffa000; --md-amber-800: #ff8f00; --md-amber-900: #ff6f00; --md-amber-A100: #ffe57f; --md-amber-A200: #ffd740; --md-amber-A400: #ffc400; --md-amber-A700: #ffab00; --md-orange-50: #fff3e0; --md-orange-100: #ffe0b2; --md-orange-200: #ffcc80; --md-orange-300: #ffb74d; --md-orange-400: #ffa726; --md-orange-500: #ff9800; --md-orange-600: #fb8c00; --md-orange-700: #f57c00; --md-orange-800: #ef6c00; --md-orange-900: #e65100; --md-orange-A100: #ffd180; --md-orange-A200: #ffab40; --md-orange-A400: #ff9100; --md-orange-A700: #ff6d00; --md-deep-orange-50: #fbe9e7; --md-deep-orange-100: #ffccbc; --md-deep-orange-200: #ffab91; --md-deep-orange-300: #ff8a65; --md-deep-orange-400: #ff7043; --md-deep-orange-500: #ff5722; --md-deep-orange-600: #f4511e; --md-deep-orange-700: #e64a19; --md-deep-orange-800: #d84315; --md-deep-orange-900: #bf360c; --md-deep-orange-A100: #ff9e80; --md-deep-orange-A200: #ff6e40; --md-deep-orange-A400: #ff3d00; --md-deep-orange-A700: #dd2c00; --md-brown-50: #efebe9; --md-brown-100: #d7ccc8; --md-brown-200: #bcaaa4; --md-brown-300: #a1887f; --md-brown-400: #8d6e63; --md-brown-500: #795548; --md-brown-600: #6d4c41; --md-brown-700: #5d4037; --md-brown-800: #4e342e; --md-brown-900: #3e2723; --md-grey-50: #fafafa; --md-grey-100: #f5f5f5; --md-grey-200: #eeeeee; --md-grey-300: #e0e0e0; --md-grey-400: #bdbdbd; --md-grey-500: #9e9e9e; --md-grey-600: #757575; --md-grey-700: #616161; --md-grey-800: #424242; --md-grey-900: #212121; --md-blue-grey-50: #eceff1; --md-blue-grey-100: #cfd8dc; --md-blue-grey-200: #b0bec5; --md-blue-grey-300: #90a4ae; --md-blue-grey-400: #78909c; --md-blue-grey-500: #607d8b; --md-blue-grey-600: #546e7a; --md-blue-grey-700: #455a64; --md-blue-grey-800: #37474f; --md-blue-grey-900: #263238; } /*----------------------------------------------------------------------------- | Copyright (c) 2017, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-Spinner { position: absolute; display: flex; justify-content: center; align-items: center; z-index: 10; left: 0; top: 0; width: 100%; height: 100%; background: var(--jp-layout-color0); outline: none; } .jp-SpinnerContent { font-size: 10px; margin: 50px auto; text-indent: -9999em; width: 3em; height: 3em; border-radius: 50%; background: var(--jp-brand-color3); background: linear-gradient( to right, #f37626 10%, rgba(255, 255, 255, 0) 42% ); position: relative; animation: load3 1s infinite linear, fadeIn 1s; } .jp-SpinnerContent:before { width: 50%; height: 50%; background: #f37626; border-radius: 100% 0 0 0; position: absolute; top: 0; left: 0; content: ''; } .jp-SpinnerContent:after { background: var(--jp-layout-color0); width: 75%; height: 75%; border-radius: 50%; content: ''; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes load3 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2017, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ button.jp-mod-styled { font-size: var(--jp-ui-font-size1); color: var(--jp-ui-font-color0); border: none; box-sizing: border-box; text-align: center; line-height: 32px; height: 32px; padding: 0px 12px; letter-spacing: 0.8px; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } input.jp-mod-styled { background: var(--jp-input-background); height: 28px; box-sizing: border-box; border: var(--jp-border-width) solid var(--jp-border-color1); padding-left: 7px; padding-right: 7px; font-size: var(--jp-ui-font-size2); color: var(--jp-ui-font-color0); outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } input[type='checkbox'].jp-mod-styled { appearance: checkbox; -webkit-appearance: checkbox; -moz-appearance: checkbox; height: auto; } input.jp-mod-styled:focus { border: var(--jp-border-width) solid var(--md-blue-500); box-shadow: inset 0 0 4px var(--md-blue-300); } .jp-FileDialog-Checkbox { margin-top: 35px; display: flex; flex-direction: row; align-items: end; width: 100%; } .jp-FileDialog-Checkbox > label { flex: 1 1 auto; } .jp-select-wrapper { display: flex; position: relative; flex-direction: column; padding: 1px; background-color: var(--jp-layout-color1); height: 28px; box-sizing: border-box; margin-bottom: 12px; } .jp-select-wrapper.jp-mod-focused select.jp-mod-styled { border: var(--jp-border-width) solid var(--jp-input-active-border-color); box-shadow: var(--jp-input-box-shadow); background-color: var(--jp-input-active-background); } select.jp-mod-styled:hover { background-color: var(--jp-layout-color1); cursor: pointer; color: var(--jp-ui-font-color0); background-color: var(--jp-input-hover-background); box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.5); } select.jp-mod-styled { flex: 1 1 auto; height: 32px; width: 100%; font-size: var(--jp-ui-font-size2); background: var(--jp-input-background); color: var(--jp-ui-font-color0); padding: 0 25px 0 8px; border: var(--jp-border-width) solid var(--jp-input-border-color); border-radius: 0px; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2016, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ :root { --jp-private-toolbar-height: calc( 28px + var(--jp-border-width) ); /* leave 28px for content */ } .jp-Toolbar { color: var(--jp-ui-font-color1); flex: 0 0 auto; display: flex; flex-direction: row; border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color); box-shadow: var(--jp-toolbar-box-shadow); background: var(--jp-toolbar-background); min-height: var(--jp-toolbar-micro-height); padding: 2px; z-index: 1; overflow-x: auto; } /* Toolbar items */ .jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer { flex-grow: 1; flex-shrink: 1; } .jp-Toolbar-item.jp-Toolbar-kernelStatus { display: inline-block; width: 32px; background-repeat: no-repeat; background-position: center; background-size: 16px; } .jp-Toolbar > .jp-Toolbar-item { flex: 0 0 auto; display: flex; padding-left: 1px; padding-right: 1px; font-size: var(--jp-ui-font-size1); line-height: var(--jp-private-toolbar-height); height: 100%; } /* Toolbar buttons */ /* This is the div we use to wrap the react component into a Widget */ div.jp-ToolbarButton { color: transparent; border: none; box-sizing: border-box; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; padding: 0px; margin: 0px; } button.jp-ToolbarButtonComponent { background: var(--jp-layout-color1); border: none; box-sizing: border-box; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; padding: 0px 6px; margin: 0px; height: 24px; border-radius: var(--jp-border-radius); display: flex; align-items: center; text-align: center; font-size: 14px; min-width: unset; min-height: unset; } button.jp-ToolbarButtonComponent:disabled { opacity: 0.4; } button.jp-ToolbarButtonComponent span { padding: 0px; flex: 0 0 auto; } button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label { font-size: var(--jp-ui-font-size1); line-height: 100%; padding-left: 2px; color: var(--jp-ui-font-color1); } #jp-main-dock-panel[data-mode='single-document'] .jp-MainAreaWidget > .jp-Toolbar.jp-Toolbar-micro { padding: 0; min-height: 0; } #jp-main-dock-panel[data-mode='single-document'] .jp-MainAreaWidget > .jp-Toolbar { border: none; box-shadow: none; } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2017, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Copyright (c) 2014-2017, PhosphorJS Contributors | | Distributed under the terms of the BSD 3-Clause License. | | The full license is in the file LICENSE, distributed with this software. |----------------------------------------------------------------------------*/ /* <DEPRECATED> */ body.p-mod-override-cursor *, /* </DEPRECATED> */ body.lm-mod-override-cursor * { cursor: inherit !important; } /*----------------------------------------------------------------------------- | Copyright (c) 2014-2016, Jupyter Development Team. | | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-JSONEditor { display: flex; flex-direction: column; width: 100%; } .jp-JSONEditor-host { flex: 1 1 auto; border: var(--jp-border-width) solid var(--jp-input-border-color); border-radius: 0px; background: var(--jp-layout-color0); min-height: 50px; padding: 1px; } .jp-JSONEditor.jp-mod-error .jp-JSONEditor-host { border-color: red; outline-color: red; } .jp-JSONEditor-header { display: flex; flex: 1 0 auto; padding: 0 0 0 12px; } .jp-JSONEditor-header label { flex: 0 0 auto; } .jp-JSONEditor-commitButton { height: 16px; width: 16px; background-size: 18px; background-repeat: no-repeat; background-position: center; } .jp-JSONEditor-host.jp-mod-focused { background-color: var(--jp-input-active-background); border: 1px solid var(--jp-input-active-border-color); box-shadow: var(--jp-input-box-shadow); } .jp-Editor.jp-mod-dropTarget { border: var(--jp-border-width) solid var(--jp-input-active-border-color); box-shadow: var(--jp-input-box-shadow); } /* BASICS */ .CodeMirror { /* Set height, width, borders, and global font properties here */ font-family: monospace; height: 300px; 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; } .CodeMirror-dialog { position: absolute; left: 0; right: 0; background: inherit; z-index: 15; padding: .1em .8em; overflow: hidden; color: inherit; } .CodeMirror-dialog-top { border-bottom: 1px solid #eee; top: 0; } .CodeMirror-dialog-bottom { border-top: 1px solid #eee; bottom: 0; } .CodeMirror-dialog input { border: none; outline: none; background: transparent; width: 20em; color: inherit; font-family: monospace; } .CodeMirror-dialog button { font-size: 70%; } .CodeMirror-foldmarker { color: blue; text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; font-family: arial; line-height: .3; cursor: pointer; } .CodeMirror-foldgutter { width: .7em; } .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { cursor: pointer; } .CodeMirror-foldgutter-open:after { content: "\25BE"; } .CodeMirror-foldgutter-folded:after { content: "\25B8"; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .CodeMirror { line-height: var(--jp-code-line-height); font-size: var(--jp-code-font-size); font-family: var(--jp-code-font-family); border: 0; border-radius: 0; height: auto; /* Changed to auto to autogrow */ } .CodeMirror pre { padding: 0 var(--jp-code-padding); } .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-dialog { background-color: var(--jp-layout-color0); color: var(--jp-content-font-color1); } /* This causes https://github.com/jupyter/jupyterlab/issues/522 */ /* May not cause it not because we changed it! */ .CodeMirror-lines { padding: var(--jp-code-padding) 0; } .CodeMirror-linenumber { padding: 0 8px; } .jp-CodeMirrorEditor { cursor: text; } .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); } /* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */ @media screen and (min-width: 2138px) and (max-width: 4319px) { .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { border-left: var(--jp-code-cursor-width1) solid var(--jp-editor-cursor-color); } } /* When zoomed out less than 33% */ @media screen and (min-width: 4320px) { .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { border-left: var(--jp-code-cursor-width2) solid var(--jp-editor-cursor-color); } } .CodeMirror.jp-mod-readOnly .CodeMirror-cursor { display: none; } .CodeMirror-gutters { border-right: 1px solid var(--jp-border-color2); background-color: var(--jp-layout-color0); } .jp-CollaboratorCursor { border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: none; border-bottom: 3px solid; background-clip: content-box; margin-left: -5px; margin-right: -5px; } .CodeMirror-selectedtext.cm-searching { background-color: var(--jp-search-selected-match-background-color) !important; color: var(--jp-search-selected-match-color) !important; } .cm-searching { background-color: var( --jp-search-unselected-match-background-color ) !important; color: var(--jp-search-unselected-match-color) !important; } .CodeMirror-focused .CodeMirror-selected { background-color: var(--jp-editor-selected-focused-background); } .CodeMirror-selected { background-color: var(--jp-editor-selected-background); } .jp-CollaboratorCursor-hover { position: absolute; z-index: 1; transform: translateX(-50%); color: white; border-radius: 3px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; text-align: center; font-size: var(--jp-ui-font-size1); white-space: nowrap; } .jp-CodeMirror-ruler { border-left: 1px dashed var(--jp-border-color2); } /** * Here is our jupyter theme for CodeMirror syntax highlighting * This is used in our marked.js syntax highlighting and CodeMirror itself * The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME * This came from the classic notebook, which came form highlight.js/GitHub */ /** * CodeMirror themes are handling the background/color in this way. This works * fine for CodeMirror editors outside the notebook, but the notebook styles * these things differently. */ .CodeMirror.cm-s-jupyter { background: var(--jp-layout-color0); color: var(--jp-content-font-color1); } /* In the notebook, we want this styling to be handled by its container */ .jp-CodeConsole .CodeMirror.cm-s-jupyter, .jp-Notebook .CodeMirror.cm-s-jupyter { background: transparent; } .cm-s-jupyter .CodeMirror-cursor { border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); } .cm-s-jupyter span.cm-keyword { color: var(--jp-mirror-editor-keyword-color); font-weight: bold; } .cm-s-jupyter span.cm-atom { color: var(--jp-mirror-editor-atom-color); } .cm-s-jupyter span.cm-number { color: var(--jp-mirror-editor-number-color); } .cm-s-jupyter span.cm-def { color: var(--jp-mirror-editor-def-color); } .cm-s-jupyter span.cm-variable { color: var(--jp-mirror-editor-variable-color); } .cm-s-jupyter span.cm-variable-2 { color: var(--jp-mirror-editor-variable-2-color); } .cm-s-jupyter span.cm-variable-3 { color: var(--jp-mirror-editor-variable-3-color); } .cm-s-jupyter span.cm-punctuation { color: var(--jp-mirror-editor-punctuation-color); } .cm-s-jupyter span.cm-property { color: var(--jp-mirror-editor-property-color); } .cm-s-jupyter span.cm-operator { color: var(--jp-mirror-editor-operator-color); font-weight: bold; } .cm-s-jupyter span.cm-comment { color: var(--jp-mirror-editor-comment-color); font-style: italic; } .cm-s-jupyter span.cm-string { color: var(--jp-mirror-editor-string-color); } .cm-s-jupyter span.cm-string-2 { color: var(--jp-mirror-editor-string-2-color); } .cm-s-jupyter span.cm-meta { color: var(--jp-mirror-editor-meta-color); } .cm-s-jupyter span.cm-qualifier { color: var(--jp-mirror-editor-qualifier-color); } .cm-s-jupyter span.cm-builtin { color: var(--jp-mirror-editor-builtin-color); } .cm-s-jupyter span.cm-bracket { color: var(--jp-mirror-editor-bracket-color); } .cm-s-jupyter span.cm-tag { color: var(--jp-mirror-editor-tag-color); } .cm-s-jupyter span.cm-attribute { color: var(--jp-mirror-editor-attribute-color); } .cm-s-jupyter span.cm-header { color: var(--jp-mirror-editor-header-color); } .cm-s-jupyter span.cm-quote { color: var(--jp-mirror-editor-quote-color); } .cm-s-jupyter span.cm-link { color: var(--jp-mirror-editor-link-color); } .cm-s-jupyter span.cm-error { color: var(--jp-mirror-editor-error-color); } .cm-s-jupyter span.cm-hr { color: #999; } .cm-s-jupyter span.cm-tab { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); background-position: right; background-repeat: no-repeat; } .cm-s-jupyter .CodeMirror-activeline-background, .cm-s-jupyter .CodeMirror-gutter { background-color: var(--jp-layout-color2); } /* Styles for shared cursors (remote cursor locations and selected ranges) */ .jp-CodeMirrorEditor .remote-caret { position: relative; border-left: 2px solid black; margin-left: -1px; margin-right: -1px; box-sizing: border-box; } .jp-CodeMirrorEditor .remote-caret > div { white-space: nowrap; position: absolute; top: -1.15em; padding-bottom: 0.05em; left: -2px; font-size: 0.95em; background-color: rgb(250, 129, 0); font-family: var(--jp-ui-font-family); font-weight: bold; line-height: normal; user-select: none; color: white; padding-left: 2px; padding-right: 2px; z-index: 3; transition: opacity 0.3s ease-in-out; } .jp-CodeMirrorEditor .remote-caret.hide-name > div { transition-delay: 0.7s; opacity: 0; } .jp-CodeMirrorEditor .remote-caret:hover > div { opacity: 1; transition-delay: 0s; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | RenderedText |----------------------------------------------------------------------------*/ :root { /* This is the padding value to fill the gaps between lines containing spans with background color. */ --jp-private-code-span-padding: calc( (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2 ); } .jp-RenderedText { text-align: left; padding-left: var(--jp-code-padding); line-height: var(--jp-code-line-height); font-family: var(--jp-code-font-family); } .jp-RenderedText pre, .jp-RenderedJavaScript pre, .jp-RenderedHTMLCommon pre { color: var(--jp-content-font-color1); font-size: var(--jp-code-font-size); border: none; margin: 0px; padding: 0px; } .jp-RenderedText pre a:link { text-decoration: none; color: var(--jp-content-link-color); } .jp-RenderedText pre a:hover { text-decoration: underline; color: var(--jp-content-link-color); } .jp-RenderedText pre a:visited { text-decoration: none; color: var(--jp-content-link-color); } /* console foregrounds and backgrounds */ .jp-RenderedText pre .ansi-black-fg { color: #3e424d; } .jp-RenderedText pre .ansi-red-fg { color: #e75c58; } .jp-RenderedText pre .ansi-green-fg { color: #00a250; } .jp-RenderedText pre .ansi-yellow-fg { color: #ddb62b; } .jp-RenderedText pre .ansi-blue-fg { color: #208ffb; } .jp-RenderedText pre .ansi-magenta-fg { color: #d160c4; } .jp-RenderedText pre .ansi-cyan-fg { color: #60c6c8; } .jp-RenderedText pre .ansi-white-fg { color: #c5c1b4; } .jp-RenderedText pre .ansi-black-bg { background-color: #3e424d; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-red-bg { background-color: #e75c58; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-green-bg { background-color: #00a250; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-yellow-bg { background-color: #ddb62b; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-blue-bg { background-color: #208ffb; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-magenta-bg { background-color: #d160c4; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-cyan-bg { background-color: #60c6c8; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-white-bg { background-color: #c5c1b4; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-black-intense-fg { color: #282c36; } .jp-RenderedText pre .ansi-red-intense-fg { color: #b22b31; } .jp-RenderedText pre .ansi-green-intense-fg { color: #007427; } .jp-RenderedText pre .ansi-yellow-intense-fg { color: #b27d12; } .jp-RenderedText pre .ansi-blue-intense-fg { color: #0065ca; } .jp-RenderedText pre .ansi-magenta-intense-fg { color: #a03196; } .jp-RenderedText pre .ansi-cyan-intense-fg { color: #258f8f; } .jp-RenderedText pre .ansi-white-intense-fg { color: #a1a6b2; } .jp-RenderedText pre .ansi-black-intense-bg { background-color: #282c36; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-red-intense-bg { background-color: #b22b31; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-green-intense-bg { background-color: #007427; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-yellow-intense-bg { background-color: #b27d12; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-blue-intense-bg { background-color: #0065ca; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-magenta-intense-bg { background-color: #a03196; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-cyan-intense-bg { background-color: #258f8f; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-white-intense-bg { background-color: #a1a6b2; padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-default-inverse-fg { color: var(--jp-ui-inverse-font-color0); } .jp-RenderedText pre .ansi-default-inverse-bg { background-color: var(--jp-inverse-layout-color0); padding: var(--jp-private-code-span-padding) 0; } .jp-RenderedText pre .ansi-bold { font-weight: bold; } .jp-RenderedText pre .ansi-underline { text-decoration: underline; } .jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] { background: var(--jp-rendermime-error-background); padding-top: var(--jp-code-padding); } /*----------------------------------------------------------------------------- | RenderedLatex |----------------------------------------------------------------------------*/ .jp-RenderedLatex { color: var(--jp-content-font-color1); font-size: var(--jp-content-font-size1); line-height: var(--jp-content-line-height); } /* Left-justify outputs.*/ .jp-OutputArea-output.jp-RenderedLatex { padding: var(--jp-code-padding); text-align: left; } /*----------------------------------------------------------------------------- | RenderedHTML |----------------------------------------------------------------------------*/ .jp-RenderedHTMLCommon { color: var(--jp-content-font-color1); font-family: var(--jp-content-font-family); font-size: var(--jp-content-font-size1); line-height: var(--jp-content-line-height); /* Give a bit more R padding on Markdown text to keep line lengths reasonable */ padding-right: 20px; } .jp-RenderedHTMLCommon em { font-style: italic; } .jp-RenderedHTMLCommon strong { font-weight: bold; } .jp-RenderedHTMLCommon u { text-decoration: underline; } .jp-RenderedHTMLCommon a:link { text-decoration: none; color: var(--jp-content-link-color); } .jp-RenderedHTMLCommon a:hover { text-decoration: underline; color: var(--jp-content-link-color); } .jp-RenderedHTMLCommon a:visited { text-decoration: none; color: var(--jp-content-link-color); } /* Headings */ .jp-RenderedHTMLCommon h1, .jp-RenderedHTMLCommon h2, .jp-RenderedHTMLCommon h3, .jp-RenderedHTMLCommon h4, .jp-RenderedHTMLCommon h5, .jp-RenderedHTMLCommon h6 { line-height: var(--jp-content-heading-line-height); font-weight: var(--jp-content-heading-font-weight); font-style: normal; margin: var(--jp-content-heading-margin-top) 0 var(--jp-content-heading-margin-bottom) 0; } .jp-RenderedHTMLCommon h1:first-child, .jp-RenderedHTMLCommon h2:first-child, .jp-RenderedHTMLCommon h3:first-child, .jp-RenderedHTMLCommon h4:first-child, .jp-RenderedHTMLCommon h5:first-child, .jp-RenderedHTMLCommon h6:first-child { margin-top: calc(0.5 * var(--jp-content-heading-margin-top)); } .jp-RenderedHTMLCommon h1:last-child, .jp-RenderedHTMLCommon h2:last-child, .jp-RenderedHTMLCommon h3:last-child, .jp-RenderedHTMLCommon h4:last-child, .jp-RenderedHTMLCommon h5:last-child, .jp-RenderedHTMLCommon h6:last-child { margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom)); } .jp-RenderedHTMLCommon h1 { font-size: var(--jp-content-font-size5); } .jp-RenderedHTMLCommon h2 { font-size: var(--jp-content-font-size4); } .jp-RenderedHTMLCommon h3 { font-size: var(--jp-content-font-size3); } .jp-RenderedHTMLCommon h4 { font-size: var(--jp-content-font-size2); } .jp-RenderedHTMLCommon h5 { font-size: var(--jp-content-font-size1); } .jp-RenderedHTMLCommon h6 { font-size: var(--jp-content-font-size0); } /* Lists */ .jp-RenderedHTMLCommon ul:not(.list-inline), .jp-RenderedHTMLCommon ol:not(.list-inline) { padding-left: 2em; } .jp-RenderedHTMLCommon ul { list-style: disc; } .jp-RenderedHTMLCommon ul ul { list-style: square; } .jp-RenderedHTMLCommon ul ul ul { list-style: circle; } .jp-RenderedHTMLCommon ol { list-style: decimal; } .jp-RenderedHTMLCommon ol ol { list-style: upper-alpha; } .jp-RenderedHTMLCommon ol ol ol { list-style: lower-alpha; } .jp-RenderedHTMLCommon ol ol ol ol { list-style: lower-roman; } .jp-RenderedHTMLCommon ol ol ol ol ol { list-style: decimal; } .jp-RenderedHTMLCommon ol, .jp-RenderedHTMLCommon ul { margin-bottom: 1em; } .jp-RenderedHTMLCommon ul ul, .jp-RenderedHTMLCommon ul ol, .jp-RenderedHTMLCommon ol ul, .jp-RenderedHTMLCommon ol ol { margin-bottom: 0em; } .jp-RenderedHTMLCommon hr { color: var(--jp-border-color2); background-color: var(--jp-border-color1); margin-top: 1em; margin-bottom: 1em; } .jp-RenderedHTMLCommon > pre { margin: 1.5em 2em; } .jp-RenderedHTMLCommon pre, .jp-RenderedHTMLCommon code { border: 0; background-color: var(--jp-layout-color0); color: var(--jp-content-font-color1); font-family: var(--jp-code-font-family); font-size: inherit; line-height: var(--jp-code-line-height); padding: 0; white-space: pre-wrap; } .jp-RenderedHTMLCommon :not(pre) > code { background-color: var(--jp-layout-color2); padding: 1px 5px; } /* Tables */ .jp-RenderedHTMLCommon table { border-collapse: collapse; border-spacing: 0; border: none; color: var(--jp-ui-font-color1); font-size: 12px; table-layout: fixed; margin-left: auto; margin-right: auto; } .jp-RenderedHTMLCommon thead { border-bottom: var(--jp-border-width) solid var(--jp-border-color1); vertical-align: bottom; } .jp-RenderedHTMLCommon td, .jp-RenderedHTMLCommon th, .jp-RenderedHTMLCommon tr { vertical-align: middle; padding: 0.5em 0.5em; line-height: normal; white-space: normal; max-width: none; border: none; } .jp-RenderedMarkdown.jp-RenderedHTMLCommon td, .jp-RenderedMarkdown.jp-RenderedHTMLCommon th { max-width: none; } :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td, :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th, :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr { text-align: right; } .jp-RenderedHTMLCommon th { font-weight: bold; } .jp-RenderedHTMLCommon tbody tr:nth-child(odd) { background: var(--jp-layout-color0); } .jp-RenderedHTMLCommon tbody tr:nth-child(even) { background: var(--jp-rendermime-table-row-background); } .jp-RenderedHTMLCommon tbody tr:hover { background: var(--jp-rendermime-table-row-hover-background); } .jp-RenderedHTMLCommon table { margin-bottom: 1em; } .jp-RenderedHTMLCommon p { text-align: left; margin: 0px; } .jp-RenderedHTMLCommon p { margin-bottom: 1em; } .jp-RenderedHTMLCommon img { -moz-force-broken-image-icon: 1; } /* Restrict to direct children as other images could be nested in other content. */ .jp-RenderedHTMLCommon > img { display: block; margin-left: 0; margin-right: 0; margin-bottom: 1em; } /* Change color behind transparent images if they need it... */ [data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background { background-color: var(--jp-inverse-layout-color1); } [data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background { background-color: var(--jp-inverse-layout-color1); } /* ...or leave it untouched if they don't */ [data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background { } [data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background { } .jp-RenderedHTMLCommon img, .jp-RenderedImage img, .jp-RenderedHTMLCommon svg, .jp-RenderedSVG svg { max-width: 100%; height: auto; } .jp-RenderedHTMLCommon img.jp-mod-unconfined, .jp-RenderedImage img.jp-mod-unconfined, .jp-RenderedHTMLCommon svg.jp-mod-unconfined, .jp-RenderedSVG svg.jp-mod-unconfined { max-width: none; } .jp-RenderedHTMLCommon .alert { padding: var(--jp-notebook-padding); border: var(--jp-border-width) solid transparent; border-radius: var(--jp-border-radius); margin-bottom: 1em; } .jp-RenderedHTMLCommon .alert-info { color: var(--jp-info-color0); background-color: var(--jp-info-color3); border-color: var(--jp-info-color2); } .jp-RenderedHTMLCommon .alert-info hr { border-color: var(--jp-info-color3); } .jp-RenderedHTMLCommon .alert-info > p:last-child, .jp-RenderedHTMLCommon .alert-info > ul:last-child { margin-bottom: 0; } .jp-RenderedHTMLCommon .alert-warning { color: var(--jp-warn-color0); background-color: var(--jp-warn-color3); border-color: var(--jp-warn-color2); } .jp-RenderedHTMLCommon .alert-warning hr { border-color: var(--jp-warn-color3); } .jp-RenderedHTMLCommon .alert-warning > p:last-child, .jp-RenderedHTMLCommon .alert-warning > ul:last-child { margin-bottom: 0; } .jp-RenderedHTMLCommon .alert-success { color: var(--jp-success-color0); background-color: var(--jp-success-color3); border-color: var(--jp-success-color2); } .jp-RenderedHTMLCommon .alert-success hr { border-color: var(--jp-success-color3); } .jp-RenderedHTMLCommon .alert-success > p:last-child, .jp-RenderedHTMLCommon .alert-success > ul:last-child { margin-bottom: 0; } .jp-RenderedHTMLCommon .alert-danger { color: var(--jp-error-color0); background-color: var(--jp-error-color3); border-color: var(--jp-error-color2); } .jp-RenderedHTMLCommon .alert-danger hr { border-color: var(--jp-error-color3); } .jp-RenderedHTMLCommon .alert-danger > p:last-child, .jp-RenderedHTMLCommon .alert-danger > ul:last-child { margin-bottom: 0; } .jp-RenderedHTMLCommon blockquote { margin: 1em 2em; padding: 0 1em; border-left: 5px solid var(--jp-border-color2); } a.jp-InternalAnchorLink { visibility: hidden; margin-left: 8px; color: var(--md-blue-800); } h1:hover .jp-InternalAnchorLink, h2:hover .jp-InternalAnchorLink, h3:hover .jp-InternalAnchorLink, h4:hover .jp-InternalAnchorLink, h5:hover .jp-InternalAnchorLink, h6:hover .jp-InternalAnchorLink { visibility: visible; } .jp-RenderedHTMLCommon kbd { background-color: var(--jp-rendermime-table-row-background); border: 1px solid var(--jp-border-color0); border-bottom-color: var(--jp-border-color2); border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); display: inline-block; font-size: 0.8em; line-height: 1em; padding: 0.2em 0.5em; } /* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0. * At the bottom of cells this is a bit too much as there is also spacing * between cells. Going all the way to 0 gets too tight between markdown and * code cells. */ .jp-RenderedHTMLCommon > *:last-child { margin-bottom: 0.5em; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-MimeDocument { outline: none; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Variables |----------------------------------------------------------------------------*/ :root { --jp-private-filebrowser-button-height: 28px; --jp-private-filebrowser-button-width: 48px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-FileBrowser { display: flex; flex-direction: column; color: var(--jp-ui-font-color1); background: var(--jp-layout-color1); /* This is needed so that all font sizing of children done in ems is * relative to this base size */ font-size: var(--jp-ui-font-size1); } .jp-FileBrowser-toolbar.jp-Toolbar { border-bottom: none; height: auto; margin: var(--jp-toolbar-header-margin); box-shadow: none; } .jp-BreadCrumbs { flex: 0 0 auto; margin: 8px 12px 8px 12px; } .jp-BreadCrumbs-item { margin: 0px 2px; padding: 0px 2px; border-radius: var(--jp-border-radius); cursor: pointer; } .jp-BreadCrumbs-item:hover { background-color: var(--jp-layout-color2); } .jp-BreadCrumbs-item:first-child { margin-left: 0px; } .jp-BreadCrumbs-item.jp-mod-dropTarget { background-color: var(--jp-brand-color2); opacity: 0.7; } /*----------------------------------------------------------------------------- | Buttons |----------------------------------------------------------------------------*/ .jp-FileBrowser-toolbar.jp-Toolbar { padding: 0px; margin: 8px 12px 0px 12px; } .jp-FileBrowser-toolbar.jp-Toolbar { justify-content: flex-start; } .jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item { flex: 0 0 auto; padding-left: 0px; padding-right: 2px; } .jp-FileBrowser-toolbar.jp-Toolbar .jp-ToolbarButtonComponent { width: 40px; } .jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item:first-child .jp-ToolbarButtonComponent { width: 72px; background: var(--jp-brand-color1); } .jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item:first-child .jp-ToolbarButtonComponent:focus-visible { background-color: var(--jp-brand-color0); } .jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item:first-child .jp-ToolbarButtonComponent .jp-icon3 { fill: white; } /*----------------------------------------------------------------------------- | Other styles |----------------------------------------------------------------------------*/ .jp-FileDialog.jp-mod-conflict input { color: var(--jp-error-color1); } .jp-FileDialog .jp-new-name-title { margin-top: 12px; } .jp-LastModified-hidden { display: none; } .jp-FileBrowser-filterBox { padding: 0px; flex: 0 0 auto; margin: 8px 12px 0px 12px; } /*----------------------------------------------------------------------------- | DirListing |----------------------------------------------------------------------------*/ .jp-DirListing { flex: 1 1 auto; display: flex; flex-direction: column; outline: 0; } .jp-DirListing:focus-visible { border: 1px solid var(--jp-brand-color1); } .jp-DirListing-header { flex: 0 0 auto; display: flex; flex-direction: row; overflow: hidden; border-top: var(--jp-border-width) solid var(--jp-border-color2); border-bottom: var(--jp-border-width) solid var(--jp-border-color1); box-shadow: var(--jp-toolbar-box-shadow); z-index: 2; } .jp-DirListing-headerItem { padding: 4px 12px 2px 12px; font-weight: 500; } .jp-DirListing-headerItem:hover { background: var(--jp-layout-color2); } .jp-DirListing-headerItem.jp-id-name { flex: 1 0 84px; } .jp-DirListing-headerItem.jp-id-modified { flex: 0 0 112px; border-left: var(--jp-border-width) solid var(--jp-border-color2); text-align: right; } .jp-id-narrow { display: none; flex: 0 0 5px; padding: 4px 4px; border-left: var(--jp-border-width) solid var(--jp-border-color2); text-align: right; color: var(--jp-border-color2); } .jp-DirListing-narrow .jp-id-narrow { display: block; } .jp-DirListing-narrow .jp-id-modified, .jp-DirListing-narrow .jp-DirListing-itemModified { display: none; } .jp-DirListing-headerItem.jp-mod-selected { font-weight: 600; } /* increase specificity to override bundled default */ .jp-DirListing-content { flex: 1 1 auto; margin: 0; padding: 0; list-style-type: none; overflow: auto; background-color: var(--jp-layout-color1); } .jp-DirListing-content mark { color: var(--jp-ui-font-color0); background-color: transparent; font-weight: bold; } .jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark { color: var(--jp-ui-inverse-font-color0); } /* Style the directory listing content when a user drops a file to upload */ .jp-DirListing.jp-mod-native-drop .jp-DirListing-content { outline: 5px dashed rgba(128, 128, 128, 0.5); outline-offset: -10px; cursor: copy; } .jp-DirListing-item { display: flex; flex-direction: row; padding: 4px 12px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .jp-DirListing-item[data-is-dot] { opacity: 75%; } .jp-DirListing-item.jp-mod-selected { color: var(--jp-ui-inverse-font-color1); background: var(--jp-brand-color1); } .jp-DirListing-item.jp-mod-dropTarget { background: var(--jp-brand-color3); } .jp-DirListing-item:hover:not(.jp-mod-selected) { background: var(--jp-layout-color2); } .jp-DirListing-itemIcon { flex: 0 0 20px; margin-right: 4px; } .jp-DirListing-itemText { flex: 1 0 64px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; user-select: none; } .jp-DirListing-itemModified { flex: 0 0 125px; text-align: right; } .jp-DirListing-editor { flex: 1 0 64px; outline: none; border: none; } .jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before { color: var(--jp-success-color1); content: '\25CF'; font-size: 8px; position: absolute; left: -8px; } .jp-DirListing-item.jp-mod-running.jp-mod-selected .jp-DirListing-itemIcon:before { color: var(--jp-ui-inverse-font-color1); } .jp-DirListing-item.lm-mod-drag-image, .jp-DirListing-item.jp-mod-selected.lm-mod-drag-image { font-size: var(--jp-ui-font-size1); padding-left: 4px; margin-left: 4px; width: 160px; background-color: var(--jp-ui-inverse-font-color2); box-shadow: var(--jp-elevation-z2); border-radius: 0px; color: var(--jp-ui-font-color1); transform: translateX(-40%) translateY(-58%); } .jp-DirListing-deadSpace { flex: 1 1 auto; margin: 0; padding: 0; list-style-type: none; overflow: auto; background-color: var(--jp-layout-color1); } .jp-Document { min-width: 120px; min-height: 120px; outline: none; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Private CSS variables |----------------------------------------------------------------------------*/ :root { } /*----------------------------------------------------------------------------- | Main OutputArea | OutputArea has a list of Outputs |----------------------------------------------------------------------------*/ .jp-OutputArea { overflow-y: auto; } .jp-OutputArea-child { display: flex; flex-direction: row; } body[data-format='mobile'] .jp-OutputArea-child { flex-direction: column; } .jp-OutputPrompt { flex: 0 0 var(--jp-cell-prompt-width); color: var(--jp-cell-outprompt-font-color); font-family: var(--jp-cell-prompt-font-family); padding: var(--jp-code-padding); letter-spacing: var(--jp-cell-prompt-letter-spacing); line-height: var(--jp-code-line-height); font-size: var(--jp-code-font-size); border: var(--jp-border-width) solid transparent; opacity: var(--jp-cell-prompt-opacity); /* Right align prompt text, don't wrap to handle large prompt numbers */ text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; /* Disable text selection */ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } body[data-format='mobile'] .jp-OutputPrompt { flex: 0 0 auto; text-align: left; } .jp-OutputArea-output { height: auto; overflow: auto; user-select: text; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; } .jp-OutputArea-child .jp-OutputArea-output { flex-grow: 1; flex-shrink: 1; } body[data-format='mobile'] .jp-OutputArea-child .jp-OutputArea-output { margin-left: var(--jp-notebook-padding); } /** * Isolated output. */ .jp-OutputArea-output.jp-mod-isolated { width: 100%; display: block; } /* When drag events occur, `p-mod-override-cursor` is added to the body. Because iframes steal all cursor events, the following two rules are necessary to suppress pointer events while resize drags are occurring. There may be a better solution to this problem. */ body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated { position: relative; } body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: transparent; } /* pre */ .jp-OutputArea-output pre { border: none; margin: 0px; padding: 0px; overflow-x: auto; overflow-y: auto; word-break: break-all; word-wrap: break-word; white-space: pre-wrap; } /* tables */ .jp-OutputArea-output.jp-RenderedHTMLCommon table { margin-left: 0; margin-right: 0; } /* description lists */ .jp-OutputArea-output dl, .jp-OutputArea-output dt, .jp-OutputArea-output dd { display: block; } .jp-OutputArea-output dl { width: 100%; overflow: hidden; padding: 0; margin: 0; } .jp-OutputArea-output dt { font-weight: bold; float: left; width: 20%; padding: 0; margin: 0; } .jp-OutputArea-output dd { float: left; width: 80%; padding: 0; margin: 0; } /* Hide the gutter in case of * - nested output areas (e.g. in the case of output widgets) * - mirrored output areas */ .jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt { display: none; } /*----------------------------------------------------------------------------- | executeResult is added to any Output-result for the display of the object | returned by a cell |----------------------------------------------------------------------------*/ .jp-OutputArea-output.jp-OutputArea-executeResult { margin-left: 0px; flex: 1 1 auto; } /* Text output with the Out[] prompt needs a top padding to match the * alignment of the Out[] prompt itself. */ .jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output { padding-top: var(--jp-code-padding); border-top: var(--jp-border-width) solid transparent; } /*----------------------------------------------------------------------------- | The Stdin output |----------------------------------------------------------------------------*/ .jp-OutputArea-stdin { line-height: var(--jp-code-line-height); padding-top: var(--jp-code-padding); display: flex; } .jp-Stdin-prompt { color: var(--jp-content-font-color0); padding-right: var(--jp-code-padding); vertical-align: baseline; flex: 0 0 auto; } .jp-Stdin-input { font-family: var(--jp-code-font-family); font-size: inherit; color: inherit; background-color: inherit; width: 42%; min-width: 200px; /* make sure input baseline aligns with prompt */ vertical-align: baseline; /* padding + margin = 0.5em between prompt and cursor */ padding: 0em 0.25em; margin: 0em 0.25em; flex: 0 0 70%; } .jp-Stdin-input:focus { box-shadow: none; } /*----------------------------------------------------------------------------- | Output Area View |----------------------------------------------------------------------------*/ .jp-LinkedOutputView .jp-OutputArea { height: 100%; display: block; } .jp-LinkedOutputView .jp-OutputArea-output:only-child { height: 100%; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ .jp-Collapser { flex: 0 0 var(--jp-cell-collapser-width); padding: 0px; margin: 0px; border: none; outline: none; background: transparent; border-radius: var(--jp-border-radius); opacity: 1; } .jp-Collapser-child { display: block; width: 100%; box-sizing: border-box; /* height: 100% doesn't work because the height of its parent is computed from content */ position: absolute; top: 0px; bottom: 0px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Header/Footer |----------------------------------------------------------------------------*/ /* Hidden by zero height by default */ .jp-CellHeader, .jp-CellFooter { height: 0px; width: 100%; padding: 0px; margin: 0px; border: none; outline: none; background: transparent; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Input |----------------------------------------------------------------------------*/ /* All input areas */ .jp-InputArea { display: flex; flex-direction: row; overflow: hidden; } body[data-format='mobile'] .jp-InputArea { flex-direction: column; } .jp-InputArea-editor { flex: 1 1 auto; overflow: hidden; } .jp-InputArea-editor { /* This is the non-active, default styling */ border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); border-radius: 0px; background: var(--jp-cell-editor-background); } body[data-format='mobile'] .jp-InputArea-editor { margin-left: var(--jp-notebook-padding); } .jp-InputPrompt { flex: 0 0 var(--jp-cell-prompt-width); color: var(--jp-cell-inprompt-font-color); font-family: var(--jp-cell-prompt-font-family); padding: var(--jp-code-padding); letter-spacing: var(--jp-cell-prompt-letter-spacing); opacity: var(--jp-cell-prompt-opacity); line-height: var(--jp-code-line-height); font-size: var(--jp-code-font-size); border: var(--jp-border-width) solid transparent; opacity: var(--jp-cell-prompt-opacity); /* Right align prompt text, don't wrap to handle large prompt numbers */ text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; /* Disable text selection */ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } body[data-format='mobile'] .jp-InputPrompt { flex: 0 0 auto; text-align: left; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Placeholder |----------------------------------------------------------------------------*/ .jp-Placeholder { display: flex; flex-direction: row; flex: 1 1 auto; } .jp-Placeholder-prompt { box-sizing: border-box; } .jp-Placeholder-content { flex: 1 1 auto; border: none; background: transparent; height: 20px; box-sizing: border-box; } .jp-Placeholder-content .jp-MoreHorizIcon { width: 32px; height: 16px; border: 1px solid transparent; border-radius: var(--jp-border-radius); } .jp-Placeholder-content .jp-MoreHorizIcon:hover { border: 1px solid var(--jp-border-color1); box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25); background-color: var(--jp-layout-color0); } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Private CSS variables |----------------------------------------------------------------------------*/ :root { --jp-private-cell-scrolling-output-offset: 5px; } /*----------------------------------------------------------------------------- | Cell |----------------------------------------------------------------------------*/ .jp-Cell { padding: var(--jp-cell-padding); margin: 0px; border: none; outline: none; background: transparent; } /*----------------------------------------------------------------------------- | Common input/output |----------------------------------------------------------------------------*/ .jp-Cell-inputWrapper, .jp-Cell-outputWrapper { display: flex; flex-direction: row; padding: 0px; margin: 0px; /* Added to reveal the box-shadow on the input and output collapsers. */ overflow: visible; } /* Only input/output areas inside cells */ .jp-Cell-inputArea, .jp-Cell-outputArea { flex: 1 1 auto; } /*----------------------------------------------------------------------------- | Collapser |----------------------------------------------------------------------------*/ /* Make the output collapser disappear when there is not output, but do so * in a manner that leaves it in the layout and preserves its width. */ .jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser { border: none !important; background: transparent !important; } .jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser { min-height: var(--jp-cell-collapser-min-height); } /*----------------------------------------------------------------------------- | Output |----------------------------------------------------------------------------*/ /* Put a space between input and output when there IS output */ .jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper { margin-top: 5px; } .jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea { overflow-y: auto; max-height: 200px; box-shadow: inset 0 0 6px 2px rgba(0, 0, 0, 0.3); margin-left: var(--jp-private-cell-scrolling-output-offset); } .jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt { flex: 0 0 calc( var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset) ); } /*----------------------------------------------------------------------------- | CodeCell |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | MarkdownCell |----------------------------------------------------------------------------*/ .jp-MarkdownOutput { flex: 1 1 auto; margin-top: 0; margin-bottom: 0; padding-left: var(--jp-code-padding); } .jp-MarkdownOutput.jp-RenderedHTMLCommon { overflow: auto; } .jp-showHiddenCellsButton { margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding)); margin-top: var(--jp-code-padding); border: 1px solid var(--jp-border-color2); background-color: var(--jp-border-color3) !important; color: var(--jp-content-font-color0) !important; } .jp-showHiddenCellsButton:hover { background-color: var(--jp-border-color2) !important; } .jp-collapseHeadingButton { display: none; } .jp-MarkdownCell:hover .jp-collapseHeadingButton { display: flex; min-height: var(--jp-cell-collapser-min-height); position: absolute; right: 0; top: 0; bottom: 0; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Variables |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- /*----------------------------------------------------------------------------- | Styles |----------------------------------------------------------------------------*/ .jp-NotebookPanel-toolbar { padding: 2px; } .jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused { border: none; box-shadow: none; } .jp-Notebook-toolbarCellTypeDropdown select { height: 24px; font-size: var(--jp-ui-font-size1); line-height: 14px; border-radius: 0; display: block; } .jp-Notebook-toolbarCellTypeDropdown span { top: 5px !important; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Private CSS variables |----------------------------------------------------------------------------*/ :root { --jp-private-notebook-dragImage-width: 304px; --jp-private-notebook-dragImage-height: 36px; --jp-private-notebook-selected-color: var(--md-blue-400); --jp-private-notebook-active-color: var(--md-green-400); } /*----------------------------------------------------------------------------- | Imports |----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------- | Notebook |----------------------------------------------------------------------------*/ .jp-NotebookPanel { display: block; height: 100%; } .jp-NotebookPanel.jp-Document { min-width: 240px; min-height: 120px; } .jp-Notebook { padding: var(--jp-notebook-padding); outline: none; overflow: auto; background: var(--jp-layout-color0); } .jp-Notebook.jp-mod-scrollPastEnd::after { display: block; content: ''; min-height: var(--jp-notebook-scroll-padding); } .jp-MainAreaWidget-ContainStrict .jp-Notebook * { contain: strict; } .jp-Notebook-render * { contain: none !important; } .jp-Notebook .jp-Cell { overflow: visible; } .jp-Notebook .jp-Cell .jp-InputPrompt { cursor: move; float: left; } /*----------------------------------------------------------------------------- | Notebook state related styling | | The notebook and cells each have states, here are the possibilities: | | - Notebook | - Command | - Edit | - Cell | - None | - Active (only one can be active) | - Selected (the cells actions are applied to) | - Multiselected (when multiple selected, the cursor) | - No outputs |----------------------------------------------------------------------------*/ /* Command or edit modes */ .jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt { opacity: var(--jp-cell-prompt-not-active-opacity); color: var(--jp-cell-prompt-not-active-font-color); } .jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt { opacity: var(--jp-cell-prompt-not-active-opacity); color: var(--jp-cell-prompt-not-active-font-color); } /* cell is active */ .jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser { background: var(--jp-brand-color1); } /* cell is dirty */ .jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt { color: var(--jp-warn-color1); } .jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt:before { color: var(--jp-warn-color1); content: '•'; } .jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser { background: var(--jp-warn-color1); } /* collapser is hovered */ .jp-Notebook .jp-Cell .jp-Collapser:hover { box-shadow: var(--jp-elevation-z2); background: var(--jp-brand-color1); opacity: var(--jp-cell-collapser-not-active-hover-opacity); } /* cell is active and collapser is hovered */ .jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover { background: var(--jp-brand-color0); opacity: 1; } /* Command mode */ .jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected { background: var(--jp-notebook-multiselected-color); } .jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) { background: transparent; } /* Edit mode */ .jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor { border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color); box-shadow: var(--jp-input-box-shadow); background-color: var(--jp-cell-editor-active-background); } /*----------------------------------------------------------------------------- | Notebook drag and drop |----------------------------------------------------------------------------*/ .jp-Notebook-cell.jp-mod-dropSource { opacity: 0.5; } .jp-Notebook-cell.jp-mod-dropTarget, .jp-Notebook.jp-mod-commandMode .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget { border-top-color: var(--jp-private-notebook-selected-color); border-top-style: solid; border-top-width: 2px; } .jp-dragImage { display: block; flex-direction: row; width: var(--jp-private-notebook-dragImage-width); height: var(--jp-private-notebook-dragImage-height); border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); background: var(--jp-cell-editor-background); overflow: visible; } .jp-dragImage-singlePrompt { box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); } .jp-dragImage .jp-dragImage-content { flex: 1 1 auto; z-index: 2; font-size: var(--jp-code-font-size); font-family: var(--jp-code-font-family); line-height: var(--jp-code-line-height); padding: var(--jp-code-padding); border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); background: var(--jp-cell-editor-background-color); color: var(--jp-content-font-color3); text-align: left; margin: 4px 4px 4px 0px; } .jp-dragImage .jp-dragImage-prompt { flex: 0 0 auto; min-width: 36px; color: var(--jp-cell-inprompt-font-color); padding: var(--jp-code-padding); padding-left: 12px; font-family: var(--jp-cell-prompt-font-family); letter-spacing: var(--jp-cell-prompt-letter-spacing); line-height: 1.9; font-size: var(--jp-code-font-size); border: var(--jp-border-width) solid transparent; } .jp-dragImage-multipleBack { z-index: -1; position: absolute; height: 32px; width: 300px; top: 8px; left: 8px; background: var(--jp-layout-color2); border: var(--jp-border-width) solid var(--jp-input-border-color); box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); } /*----------------------------------------------------------------------------- | Cell toolbar |----------------------------------------------------------------------------*/ .jp-NotebookTools { display: block; min-width: var(--jp-sidebar-min-width); color: var(--jp-ui-font-color1); background: var(--jp-layout-color1); /* This is needed so that all font sizing of children done in ems is * relative to this base size */ font-size: var(--jp-ui-font-size1); overflow: auto; } .jp-NotebookTools-tool { padding: 0px 12px 0 12px; } .jp-ActiveCellTool { padding: 12px; background-color: var(--jp-layout-color1); border-top: none !important; } .jp-ActiveCellTool .jp-InputArea-prompt { flex: 0 0 auto; padding-left: 0px; } .jp-ActiveCellTool .jp-InputArea-editor { flex: 1 1 auto; background: var(--jp-cell-editor-background); border-color: var(--jp-cell-editor-border-color); } .jp-ActiveCellTool .jp-InputArea-editor .CodeMirror { background: transparent; } .jp-MetadataEditorTool { flex-direction: column; padding: 12px 0px 12px 0px; } .jp-RankedPanel > :not(:first-child) { margin-top: 12px; } .jp-KeySelector select.jp-mod-styled { font-size: var(--jp-ui-font-size1); color: var(--jp-ui-font-color0); border: var(--jp-border-width) solid var(--jp-border-color1); } .jp-KeySelector label, .jp-MetadataEditorTool label { line-height: 1.4; } .jp-NotebookTools .jp-select-wrapper { margin-top: 4px; margin-bottom: 0px; } .jp-NotebookTools .jp-Collapse { margin-top: 16px; } /*----------------------------------------------------------------------------- | Presentation Mode (.jp-mod-presentationMode) |----------------------------------------------------------------------------*/ .jp-mod-presentationMode .jp-Notebook { --jp-content-font-size1: var(--jp-content-presentation-font-size1); --jp-code-font-size: var(--jp-code-presentation-font-size); } .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt, .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt { flex: 0 0 110px; } /*----------------------------------------------------------------------------- | Placeholder |----------------------------------------------------------------------------*/ .jp-Cell-Placeholder { padding-left: 55px; } .jp-Cell-Placeholder-wrapper { background: #fff; border: 1px solid; border-color: #e5e6e9 #dfe0e4 #d0d1d5; border-radius: 4px; -webkit-border-radius: 4px; margin: 10px 15px; } .jp-Cell-Placeholder-wrapper-inner { padding: 15px; position: relative; } .jp-Cell-Placeholder-wrapper-body { background-repeat: repeat; background-size: 50% auto; } .jp-Cell-Placeholder-wrapper-body div { background: #f6f7f8; background-image: -webkit-linear-gradient( left, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100% ); background-repeat: no-repeat; background-size: 800px 104px; height: 104px; position: relative; } .jp-Cell-Placeholder-wrapper-body div { position: absolute; right: 15px; left: 15px; top: 15px; } div.jp-Cell-Placeholder-h1 { top: 20px; height: 20px; left: 15px; width: 150px; } div.jp-Cell-Placeholder-h2 { left: 15px; top: 50px; height: 10px; width: 100px; } div.jp-Cell-Placeholder-content-1, div.jp-Cell-Placeholder-content-2, div.jp-Cell-Placeholder-content-3 { left: 15px; right: 15px; height: 10px; } div.jp-Cell-Placeholder-content-1 { top: 100px; } div.jp-Cell-Placeholder-content-2 { top: 120px; } div.jp-Cell-Placeholder-content-3 { top: 140px; } /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. |----------------------------------------------------------------------------*/ /* The following CSS variables define the main, public API for styling JupyterLab. These variables should be used by all plugins wherever possible. In other words, plugins should not define custom colors, sizes, etc unless absolutely necessary. This enables users to change the visual theme of JupyterLab by changing these variables. Many variables appear in an ordered sequence (0,1,2,3). These sequences are designed to work well together, so for example, `--jp-border-color1` should be used with `--jp-layout-color1`. The numbers have the following meanings: * 0: super-primary, reserved for special emphasis * 1: primary, most important under normal situations * 2: secondary, next most important under normal situations * 3: tertiary, next most important under normal situations Throughout JupyterLab, we are mostly following principles from Google's Material Design when selecting colors. We are not, however, following all of MD as it is not optimized for dense, information rich UIs. */ :root { /* Elevation * * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: * * https://github.com/material-components/material-components-web * https://material-components-web.appspot.com/elevation.html */ --jp-shadow-base-lightness: 0; --jp-shadow-umbra-color: rgba( var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), 0.2 ); --jp-shadow-penumbra-color: rgba( var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), 0.14 ); --jp-shadow-ambient-color: rgba( var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), 0.12 ); --jp-elevation-z0: none; --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), 0px 1px 1px 0px var(--jp-shadow-penumbra-color), 0px 1px 3px 0px var(--jp-shadow-ambient-color); --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), 0px 2px 2px 0px var(--jp-shadow-penumbra-color), 0px 1px 5px 0px var(--jp-shadow-ambient-color); --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), 0px 4px 5px 0px var(--jp-shadow-penumbra-color), 0px 1px 10px 0px var(--jp-shadow-ambient-color); --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), 0px 6px 10px 0px var(--jp-shadow-penumbra-color), 0px 1px 18px 0px var(--jp-shadow-ambient-color); --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), 0px 8px 10px 1px var(--jp-shadow-penumbra-color), 0px 3px 14px 2px var(--jp-shadow-ambient-color); --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), 0px 12px 17px 2px var(--jp-shadow-penumbra-color), 0px 5px 22px 4px var(--jp-shadow-ambient-color); --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), 0px 16px 24px 2px var(--jp-shadow-penumbra-color), 0px 6px 30px 5px var(--jp-shadow-ambient-color); --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), 0px 20px 31px 3px var(--jp-shadow-penumbra-color), 0px 8px 38px 7px var(--jp-shadow-ambient-color); --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), 0px 24px 38px 3px var(--jp-shadow-penumbra-color), 0px 9px 46px 8px var(--jp-shadow-ambient-color); /* Borders * * The following variables, specify the visual styling of borders in JupyterLab. */ --jp-border-width: 1px; --jp-border-color0: var(--md-grey-400); --jp-border-color1: var(--md-grey-400); --jp-border-color2: var(--md-grey-300); --jp-border-color3: var(--md-grey-200); --jp-border-radius: 2px; /* UI Fonts * * The UI font CSS variables are used for the typography all of the JupyterLab * user interface elements that are not directly user generated content. * * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 * is applied to a parent element. When children elements, such as headings, are sized * in em all things will be computed relative to that body size. */ --jp-ui-font-scale-factor: 1.2; --jp-ui-font-size0: 0.83333em; --jp-ui-font-size1: 13px; /* Base font size */ --jp-ui-font-size2: 1.2em; --jp-ui-font-size3: 1.44em; --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; /* * Use these font colors against the corresponding main layout colors. * In a light theme, these go from dark to light. */ /* Defaults use Material Design specification */ --jp-ui-font-color0: rgba(0, 0, 0, 1); --jp-ui-font-color1: rgba(0, 0, 0, 0.87); --jp-ui-font-color2: rgba(0, 0, 0, 0.54); --jp-ui-font-color3: rgba(0, 0, 0, 0.38); /* * Use these against the brand/accent/warn/error colors. * These will typically go from light to darker, in both a dark and light theme. */ --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1); --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1); --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7); --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5); /* Content Fonts * * Content font variables are used for typography of user generated content. * * The font sizing here is done assuming that the body font size of --jp-content-font-size1 * is applied to a parent element. When children elements, such as headings, are sized * in em all things will be computed relative to that body size. */ --jp-content-line-height: 1.6; --jp-content-font-scale-factor: 1.2; --jp-content-font-size0: 0.83333em; --jp-content-font-size1: 14px; /* Base font size */ --jp-content-font-size2: 1.2em; --jp-content-font-size3: 1.44em; --jp-content-font-size4: 1.728em; --jp-content-font-size5: 2.0736em; /* This gives a magnification of about 125% in presentation mode over normal. */ --jp-content-presentation-font-size1: 17px; --jp-content-heading-line-height: 1; --jp-content-heading-margin-top: 1.2em; --jp-content-heading-margin-bottom: 0.8em; --jp-content-heading-font-weight: 500; /* Defaults use Material Design specification */ --jp-content-font-color0: rgba(0, 0, 0, 1); --jp-content-font-color1: rgba(0, 0, 0, 0.87); --jp-content-font-color2: rgba(0, 0, 0, 0.54); --jp-content-font-color3: rgba(0, 0, 0, 0.38); --jp-content-link-color: var(--md-blue-700); --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; /* * Code Fonts * * Code font variables are used for typography of code and other monospaces content. */ --jp-code-font-size: 10px; --jp-code-line-height: 1.3077; /* 17px for 13px base */ --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace; --jp-code-font-family: var(--jp-code-font-family-default); /* This gives a magnification of about 125% in presentation mode over normal. */ --jp-code-presentation-font-size: 16px; /* may need to tweak cursor width if you change font size */ --jp-code-cursor-width0: 1.4px; --jp-code-cursor-width1: 2px; --jp-code-cursor-width2: 4px; /* Layout * * The following are the main layout colors use in JupyterLab. In a light * theme these would go from light to dark. */ --jp-layout-color0: white; --jp-layout-color1: white; --jp-layout-color2: var(--md-grey-200); --jp-layout-color3: var(--md-grey-400); --jp-layout-color4: var(--md-grey-600); /* Inverse Layout * * The following are the inverse layout colors use in JupyterLab. In a light * theme these would go from dark to light. */ --jp-inverse-layout-color0: #111111; --jp-inverse-layout-color1: var(--md-grey-900); --jp-inverse-layout-color2: var(--md-grey-800); --jp-inverse-layout-color3: var(--md-grey-700); --jp-inverse-layout-color4: var(--md-grey-600); /* Brand/accent */ --jp-brand-color0: var(--md-blue-900); --jp-brand-color1: var(--md-blue-700); --jp-brand-color2: var(--md-blue-300); --jp-brand-color3: var(--md-blue-100); --jp-brand-color4: var(--md-blue-50); --jp-accent-color0: var(--md-green-900); --jp-accent-color1: var(--md-green-700); --jp-accent-color2: var(--md-green-300); --jp-accent-color3: var(--md-green-100); /* State colors (warn, error, success, info) */ --jp-warn-color0: var(--md-orange-900); --jp-warn-color1: var(--md-orange-700); --jp-warn-color2: var(--md-orange-300); --jp-warn-color3: var(--md-orange-100); --jp-error-color0: var(--md-red-900); --jp-error-color1: var(--md-red-700); --jp-error-color2: var(--md-red-300); --jp-error-color3: var(--md-red-100); --jp-success-color0: var(--md-green-900); --jp-success-color1: var(--md-green-700); --jp-success-color2: var(--md-green-300); --jp-success-color3: var(--md-green-100); --jp-info-color0: var(--md-cyan-900); --jp-info-color1: var(--md-cyan-700); --jp-info-color2: var(--md-cyan-300); --jp-info-color3: var(--md-cyan-100); /* Cell specific styles */ --jp-cell-padding: 5px; --jp-cell-collapser-width: 8px; --jp-cell-collapser-min-height: 20px; --jp-cell-collapser-not-active-hover-opacity: 0.6; --jp-cell-editor-background: var(--md-grey-100); --jp-cell-editor-border-color: var(--md-grey-300); --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); --jp-cell-editor-active-background: var(--jp-layout-color0); --jp-cell-editor-active-border-color: var(--jp-brand-color1); --jp-cell-prompt-width: 64px; --jp-cell-prompt-font-family: var(--jp-code-font-family-default); --jp-cell-prompt-letter-spacing: 0px; --jp-cell-prompt-opacity: 1; --jp-cell-prompt-not-active-opacity: 0.5; --jp-cell-prompt-not-active-font-color: var(--md-grey-700); /* A custom blend of MD grey and blue 600 * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ --jp-cell-inprompt-font-color: #307fc1; /* A custom blend of MD grey and orange 600 * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ --jp-cell-outprompt-font-color: #bf5b3d; /* Notebook specific styles */ --jp-notebook-padding: 10px; --jp-notebook-select-background: var(--jp-layout-color1); --jp-notebook-multiselected-color: var(--md-blue-50); /* The scroll padding is calculated to fill enough space at the bottom of the notebook to show one single-line cell (with appropriate padding) at the top when the notebook is scrolled all the way to the bottom. We also subtract one pixel so that no scrollbar appears if we have just one single-line cell in the notebook. This padding is to enable a 'scroll past end' feature in a notebook. */ --jp-notebook-scroll-padding: calc( 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - var(--jp-code-padding) - var(--jp-cell-padding) - 1px ); /* Rendermime styles */ --jp-rendermime-error-background: #fdd; --jp-rendermime-table-row-background: var(--md-grey-100); --jp-rendermime-table-row-hover-background: var(--md-light-blue-50); /* Dialog specific styles */ --jp-dialog-background: rgba(0, 0, 0, 0.25); /* Console specific styles */ --jp-console-padding: 10px; /* Toolbar specific styles */ --jp-toolbar-border-color: var(--jp-border-color1); --jp-toolbar-micro-height: 8px; --jp-toolbar-background: var(--jp-layout-color1); --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24); --jp-toolbar-header-margin: 4px 4px 0px 4px; --jp-toolbar-active-background: var(--md-grey-300); /* Statusbar specific styles */ --jp-statusbar-height: 24px; /* Input field styles */ --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); --jp-input-active-background: var(--jp-layout-color1); --jp-input-hover-background: var(--jp-layout-color1); --jp-input-background: var(--md-grey-100); --jp-input-border-color: var(--jp-border-color1); --jp-input-active-border-color: var(--jp-brand-color1); --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); /* General editor styles */ --jp-editor-selected-background: #d9d9d9; --jp-editor-selected-focused-background: #d7d4f0; --jp-editor-cursor-color: var(--jp-ui-font-color0); /* Code mirror specific styles */ --jp-mirror-editor-keyword-color: #008000; --jp-mirror-editor-atom-color: #88f; --jp-mirror-editor-number-color: #080; --jp-mirror-editor-def-color: #00f; --jp-mirror-editor-variable-color: var(--md-grey-900); --jp-mirror-editor-variable-2-color: #05a; --jp-mirror-editor-variable-3-color: #085; --jp-mirror-editor-punctuation-color: #05a; --jp-mirror-editor-property-color: #05a; --jp-mirror-editor-operator-color: #aa22ff; --jp-mirror-editor-comment-color: #408080; --jp-mirror-editor-string-color: #ba2121; --jp-mirror-editor-string-2-color: #708; --jp-mirror-editor-meta-color: #aa22ff; --jp-mirror-editor-qualifier-color: #555; --jp-mirror-editor-builtin-color: #008000; --jp-mirror-editor-bracket-color: #997; --jp-mirror-editor-tag-color: #170; --jp-mirror-editor-attribute-color: #00c; --jp-mirror-editor-header-color: blue; --jp-mirror-editor-quote-color: #090; --jp-mirror-editor-link-color: #00c; --jp-mirror-editor-error-color: #f00; --jp-mirror-editor-hr-color: #999; /* Vega extension styles */ --jp-vega-background: white; /* Sidebar-related styles */ --jp-sidebar-min-width: 250px; /* Search-related styles */ --jp-search-toggle-off-opacity: 0.5; --jp-search-toggle-hover-opacity: 0.8; --jp-search-toggle-on-opacity: 1; --jp-search-selected-match-background-color: rgb(245, 200, 0); --jp-search-selected-match-color: black; --jp-search-unselected-match-background-color: var( --jp-inverse-layout-color0 ); --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); /* Icon colors that work well with light or dark backgrounds */ --jp-icon-contrast-color0: var(--md-purple-600); --jp-icon-contrast-color1: var(--md-green-600); --jp-icon-contrast-color2: var(--md-pink-600); --jp-icon-contrast-color3: var(--md-blue-600); } /* Force rendering true colors when outputing to pdf */ * { -webkit-print-color-adjust: exact; } /* Misc */ a.anchor-link { display: none; } /* Input area styling */ .jp-InputArea { overflow: hidden; } .jp-InputArea-editor { overflow: hidden; } .CodeMirror.cm-s-jupyter .highlight pre { /* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.CodeMirror-line */ padding: var(--jp-code-padding) 4px; margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; } .jp-OutputArea-output pre { line-height: inherit; font-family: inherit; } .jp-RenderedText pre { color: var(--jp-content-font-color1); font-size: var(--jp-code-font-size); } /* Using table instead of flexbox so that we can use break-inside property */ /* CSS rules under this comment should not be required anymore after we move to the JupyterLab 4.0 CSS */ .jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt { min-width: calc( var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset) ); } .jp-OutputArea-child { display: table; width: 100%; } .jp-OutputPrompt { display: table-cell; vertical-align: top; min-width: var(--jp-cell-prompt-width); } body[data-format='mobile'] .jp-OutputPrompt { display: table-row; } .jp-OutputArea-output { display: table-cell; width: 100%; } body[data-format='mobile'] .jp-OutputArea-child .jp-OutputArea-output { display: table-row; } .jp-OutputArea-output.jp-OutputArea-executeResult { width: 100%; } /* Hiding the collapser by default */ .jp-Collapser { display: none; } @page { margin: 0.5in; /* Margin for each printed piece of paper */ } @media print { .jp-Cell-inputWrapper, .jp-Cell-outputWrapper { display: block; } .jp-OutputArea-child { break-inside: avoid-page; } } init_mathjax = function() { if (window.MathJax) { // MathJax loaded MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "AMS", useLabelIds: true } }, tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ], processEscapes: true, processEnvironments: true }, displayAlign: 'center', CommonHTML: { linebreaks: { automatic: true } } }); MathJax.Hub.Queue(["Typeset", MathJax.Hub]); } } init_mathjax();

This is the HTML rendering of the Jupyter notebook that can be found in this repository.

Understanding Descriptors

This notebook introduces the concepts behind descriptors.

The descriptor underlies much of the Python language's sophistication but the mechanism behind it remains little known.

If you install the RISE extension it also displays as slides.

Unqualified name access

The interpreter looks in:

  1. The current function's local namespace.
  1. The namespace of the module containing the function (the global namespace).
  1. The built-in namespace.

If the name is not found, the interpreter raises a NameError exception.

When functions and/or classes are lexically nested within each other this creates certain complexities with locality, which need not detain us here.

We begin at the point where we've looked up a name and have a reference to some object o.

Attribute access

To evaluate an expression such as o.x the interpreter first resolves the unqualified name o by the means described above.

To a first approximation, it then looks for the name x

  1. in the namespace associated with o (usually referenceable as o.__dict__)
  2. in the namespace of the object's class
  3. in the class's superclass
  4. in the superclass's superclass ...

... and so on all the way up to object. If the search fails, the interpreter raises an AttributeError exception.

As we'll see, this isn't the whole story!

The built-in dir function conveniently bundles together all (or most of) the names accessible in an object's namespace.

Because many of the various dunder names (those of the form __name__) are inherited from object I've written a convenience function to omit them.

In [1]:
def names(obj):
    "Return a list of all accessible names except dunders."
    return [n for n in dir(obj)
            if not (n.startswith('__')
                    and n.endswith('__'))]

Here's a simple class that has one class variable and one instance variable.

In [2]:
class DemoObject:
    c: int = 42
    def __init__(self, v):
        self.v = v

o = DemoObject(21)

Because of the name search protocol described above you can reference class attributes as though they were instance attributes.

In [3]:
o.v, o.c
Out[3]:
(21, 42)

Some attributes appear in the instance's __dict__, others appear in the class's.

It all depends how the assignment is made.

In [4]:
DemoObject.__dict__  # Shows what's defined in the class
Out[4]:
mappingproxy({'__module__': '__main__',
              '__annotations__': {'c': int},
              'c': 42,
              '__init__': <function __main__.DemoObject.__init__(self, v)>,
              '__dict__': <attribute '__dict__' of 'DemoObject' objects>,
              '__weakref__': <attribute '__weakref__' of 'DemoObject' objects>,
              '__doc__': None})
In [5]:
names(DemoObject)
Out[5]:
['c']
In [6]:
o.__dict__
Out[6]:
{'v': 21}

Remember, though, that although attribute access follows the class hierarchy, attribute assignment (name binding) doesn't. Name binding takes place in the namespace of the object whose attribute is being bound.

Once the name is bound in the local namespace that will shadow the binding in the class namespace.

In [7]:
o.c = 43  # Binds in the instance namespace
In [8]:
o.__dict__
Out[8]:
{'v': 21, 'c': 43}
In [9]:
o.c
Out[9]:
43
In [10]:
o.__class__.c  # Class variable remains unchanged
Out[10]:
42
The descriptor protocol

Many programmers are familiar with properties. They are just a special case of a more general mechanism called the descriptor protocol.

What's the descriptor protocol? Briefly, any type that implements any of the __get__, __set__ or __delete__ methods conforms to the protocol.

Time for another convenience function: we'd like to know whether a particular attribute is a descriptor.

In [11]:
def is_descriptor(p):
    names = dir(p)  # Sees inherited names also
    return any(n in names
               for n in ("__get__", "__set__", "__delete__")
              )

Rather than using the property decorator, we're going to build our own descriptor.

It won't have __set__ and __delete__ methods, making this a read-only (nowadays, a non-overriding) descriptor. I'll explain the "non-overriding" term later.

In [12]:
class D1:
    """
    Our first read-only, (non-overriding) descriptor
    """
    def __get__(self, obj, objtype=None):
        print(f"self: {self}\nobj : {obj}\ntype: {objtype}")
        return "I'm a D1"

The descriptor magic isn't immediately obvious. Creating a D1 and accessing its value clearly doesn't call the __get__ method.

In [13]:
d1 = D1()
In [14]:
d1
Out[14]:
<__main__.D1 at 0x1065aea90>

The magic appears when you create an instance of the property class as a class variable. Here's a class that does just that.

In [15]:
class C1:
    
    d: D1 = D1()
    
c1 = C1()
In [16]:
c1.d
self: <__main__.D1 object at 0x1065afb50>
obj : <__main__.C1 object at 0x1065c4590>
type: <class '__main__.C1'>
Out[16]:
"I'm a D1"

Let's examine the namespaces of C1 and its instance. Care is needed to avoid triggering unwanted descriptor behaviour!

In [17]:
names(C1)
Out[17]:
['d']
In [18]:
(type(C1.__dict__['d']),
 is_descriptor(C1.__dict__['d']),
 type(C1.d),
 is_descriptor(C1.d)
)
self: <__main__.D1 object at 0x1065afb50>
obj : None
type: <class '__main__.C1'>
self: <__main__.D1 object at 0x1065afb50>
obj : None
type: <class '__main__.C1'>
Out[18]:
(__main__.D1, True, str, False)

A slightly more adventurous descriptor lets us initialise its value.

In [19]:
class D2:
    def __init__(self, val):
        self._v = val
    def __get__(self, obj, objtype=None):
        print(f"getting _v from {obj} in {self.__class__.__name__}: {self._v!r}")
        return self._v
In [20]:
def desc_methods(obj):
    "Show which descriptor methods are implemented."
    for name in ("__get__", "__set__", "__delete__"):
        print(f"{name:10}: {hasattr(obj, name)}")
In [21]:
desc_methods(D2)
__get__   : True
__set__   : False
__delete__: False
In [22]:
class C2:
    d: D2 = D2(42)
In [23]:
c2 = C2()
In [24]:
c2.d 
getting _v from <__main__.C2 object at 0x1065d07d0> in D2: 42
Out[24]:
42

There's no __set__ method, therefore assignment isn't overridden by the decorator, and makes an entry in the instance's __dict__.

Similarly, because there's no __delete__ it can't be destroyed.

In [25]:
try:
    del c2.d
except AttributeError as e:
    print(e)
'C2' object has no attribute 'd'
In [26]:
c2.d = 2345
In [27]:
c2.__dict__
Out[27]:
{'d': 2345}

Because the descriptor is non-overriding, now there's a __dict__ entry it's used to return the attribute value without calling the property's __get__.

In [28]:
c2.d 
Out[28]:
2345
Extending a descriptor to assignment

The D3 descriptor will do everything the D2 can, but adds a __set__ method making it an overriding descriptor.

In [29]:
class D3(D2):
    def __set__(self, instance, value):
        self._v = value
In [30]:
desc_methods(D3)
__get__   : True
__set__   : True
__delete__: False
In [31]:
class C3:
    d: D3 = D3("initial")

c3 = C3()
In [32]:
c3.d
getting _v from <__main__.C3 object at 0x1064c0910> in D3: 'initial'
Out[32]:
'initial'
In [33]:
c3.d = "changed"
In [34]:
c3.d
getting _v from <__main__.C3 object at 0x1064c0910> in D3: 'changed'
Out[34]:
'changed'

REMEMBER: The interpreter looks for an overriding descriptor in the class hierarchy before searching for regular instance/class variables.

If found, the descriptor is used when the name is accessed as an attribute of the instance even if an instance variable with the same name as the class's property exists.

This is why they are called overriding descriptors.

In [35]:
class DN:
    def __get__(self, obj, objtype=None):
        print(f"getting _dn from {self.__class__.__name__} instance {obj}")
        return obj.__dict__["_dn"]
    def __set__(self, obj, value):
        print(f"setting _dn in {obj} to {value!r}")
        obj.__dict__["_dn"] = value    
In [36]:
class CN:
    d: DN = DN()  # CN.d is an instance of descriptor class DN

cn = CN()
In [37]:
cn.d = 12345
setting _dn in <__main__.CN object at 0x1065dedd0> to 12345
In [38]:
cn.d
getting _dn from DN instance <__main__.CN object at 0x1065dedd0>
Out[38]:
12345
In [39]:
cn.__dict__
Out[39]:
{'_dn': 12345}
Q: Why can't a class have more than one DN descriptor? A: Because all DN descriptors save their state in the same _dn instance variable

You'll find an answer to this conundrum later in this notebook.

Properties

Properties are descriptors that many Python programmers are at least aware of. They don't behave quite like raw descriptors, because they are always overriding.

Now we understand the underlying mechanism, let's refresh our memory about properties. At the same time it should reinforce the material on descriptors.

In [40]:
help(property)
Help on class property in module builtins:

class property(object)
 |  property(fget=None, fset=None, fdel=None, doc=None)
 |  
 |  Property attribute.
 |  
 |    fget
 |      function to be used for getting an attribute value
 |    fset
 |      function to be used for setting an attribute value
 |    fdel
 |      function to be used for del'ing an attribute
 |    doc
 |      docstring
 |  
 |  Typical use is to define a managed attribute x:
 |  
 |  class C(object):
 |      def getx(self): return self._x
 |      def setx(self, value): self._x = value
 |      def delx(self): del self._x
 |      x = property(getx, setx, delx, "I'm the 'x' property.")
 |  
 |  Decorators make defining new properties or modifying existing ones easy:
 |  
 |  class C(object):
 |      @property
 |      def x(self):
 |          "I am the 'x' property."
 |          return self._x
 |      @x.setter
 |      def x(self, value):
 |          self._x = value
 |      @x.deleter
 |      def x(self):
 |          del self._x
 |  
 |  Methods defined here:
 |  
 |  __delete__(self, instance, /)
 |      Delete an attribute of instance.
 |  
 |  __get__(self, instance, owner=None, /)
 |      Return an attribute of instance, which is of type owner.
 |  
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |  
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  __set__(self, instance, value, /)
 |      Set an attribute of instance to value.
 |  
 |  __set_name__(...)
 |      Method to set name of a property.
 |  
 |  deleter(...)
 |      Descriptor to obtain a copy of the property with a different deleter.
 |  
 |  getter(...)
 |      Descriptor to obtain a copy of the property with a different getter.
 |  
 |  setter(...)
 |      Descriptor to obtain a copy of the property with a different setter.
 |  
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |  
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __isabstractmethod__
 |  
 |  fdel
 |  
 |  fget
 |  
 |  fset

In [41]:
names(property)
Out[41]:
['deleter', 'fdel', 'fget', 'fset', 'getter', 'setter']

Properties define three decorators and three functions that are called from the __del__, __get__ and __set__ methods respectively when present.

A simple use of a property is to define a virtual or computed attribute. A simplistic example follows.

In [42]:
class Person:
    def __init__(self, first, last):
        self.first = first
        self.last = last
    @property
    def full_name(self):
        return f"{self.first} {self.last}"

me = Person("Steve", "Holden")
me.full_name
Out[42]:
'Steve Holden'

Any reference to the property as an instance attribute causes the property's __get__ method to be called. The return value is the value of the attribute lookup.

In [43]:
type(me.full_name), me.full_name
Out[43]:
(str, 'Steve Holden')

References to the property as a class attribute, however, do not cause a call to the property's __get__, so the class attribute's value is the property instance.

In [44]:
type(Person.full_name), Person.full_name
Out[44]:
(property, <property at 0x1065cb790>)

Person.full_name doesn't offer any way to change the composite value of the person's full name - its definition doesn't provide a setter, or a deleter.

In [45]:
for name in names(Person.full_name):
    print(f"{name:10}: {type(getattr(Person.full_name, name))}")
deleter   : <class 'builtin_function_or_method'>
fdel      : <class 'NoneType'>
fget      : <class 'function'>
fset      : <class 'NoneType'>
getter    : <class 'builtin_function_or_method'>
setter    : <class 'builtin_function_or_method'>
In [46]:
list(me.__dict__)
Out[46]:
['first', 'last']
In [47]:
names(me)
Out[47]:
['first', 'full_name', 'last']
In [48]:
try:
    me.full_name = "Simon Willison"
except Exception as e:
    print("Exception:", e)
Exception: property 'full_name' of 'Person' object has no setter
In [49]:
try:
    del me.full_name
except Exception as e:
    print("Exception:", e)
Exception: property 'full_name' of 'Person' object has no deleter

If a property is registered in a class, then it will take precedence over an entry in the instance's __dict__ because properties are always overriding.

In [50]:
me.__dict__['full_name'] = "Sherlock Holmes"
In [51]:
me.full_name
Out[51]:
'Steve Holden'

Properties as instance attributes don't invoke the same behaviour.

In [52]:
@property
def some_prop(self):
    return "My very own property"

me.my_prop = some_prop
In [53]:
me.my_prop
Out[53]:
<property at 0x1065f4450>
In [54]:
type(some_prop)
Out[54]:
property

We find that a property is indeed a descriptor.

In [55]:
names(property)
Out[55]:
['deleter', 'fdel', 'fget', 'fset', 'getter', 'setter']
In [56]:
desc_methods(Person.full_name)
__get__   : True
__set__   : True
__delete__: True
In [57]:
is_descriptor(Person.full_name), Person.full_name
Out[57]:
(True, <property at 0x1065cb790>)

When the descriptor is looked up as an instance attribute, however, the value returned is generated by calling the descriptor's __get__ method.

In [58]:
is_descriptor(me.full_name), me.full_name
Out[58]:
(False, 'Steve Holden')
Question: Why can't a class have more than one DN descriptor?Answer: because all descriptor instances would try to use the same instance variable of the client class's instances. Bonus material

Use this as the basis for further investigations. Here are descriptors I wrote for the ticketing project.

The main goal was canonicalisation: sometimes strings were being assigned and an integer was required, for example.

Several things are of potential interest.

  1. When default values are provided they cannot be positional (That's the purpose of the * in the method signature).
  2. The set_name method is used to determine the name bound to the descriptor in its client class.
  3. This allows different instances of the same descriptor to coexist within a class definition, so you need not define each one as a distinct class.
In [59]:
class StringInt:
    def __init__(self, *, default=0):
        self._default = default
    def __set_name__(self, owner, name):
        self._name = "_" + name
    def __get__(self, obj, type):
        if obj is None:
            return self._default
        return getattr(obj, self._name, self._default)
    def __set__(self, obj, value):
        setattr(obj, self._name, int(value))
In [60]:
class StringBool:
    def __init__(self, *, default='FALSE'):
        self._default = default
    def __set_name__(self, owner, name):
        self._name = "_" + name
    def __get__(self, obj, type):
        if obj is None:
            return self._default
        return getattr(obj, self._name, self._default)
    def __set__(self, obj, value):
        setattr(obj, self._name, value in ["TRUE", "True", "1", 1, True])
Further reading
  • Descriptor How-To Guide by Raymond Hettinger. Uses older terminology (data and non-data rather than overriding and non-overriding).
Nick Fitzsimmons asked ...

A descriptor whose definition deleted itself (!).

In [61]:
class StringInt:
    def __init__(self, *, default=0):
        self._default = default
    def __set_name__(self, owner, name):
        del owner.__dict__[name]  # <<<<<<<<<<<<<<<<<<<
    def __get__(self, obj, type):
        if obj is None:
            return self._default
        return getattr(obj, self._name, self._default)
    def __set__(self, obj, value):
        setattr(obj, self._name, int(value))
In [62]:
try:
    class User:
        si: StringInt = StringInt()
except RuntimeError as e:
    print("RuntimeError:", e)
RuntimeError: Error calling __set_name__ on 'StringInt' instance 'si' in 'User'

The actual issue is that __set_name__ tries to modify the class __dict__, which you may remember is a (read-only) mappingproxy object.

Conclusion: not without getting really tricky!

Functions are descriptors In [63]:
type(desc_methods)
Out[63]:
function
In [64]:
is_descriptor(desc_methods)
Out[64]:
True
In [65]:
desc_methods(desc_methods)
__get__   : True
__set__   : False
__delete__: False
Question

Why are functions descriptors? What advantages does this confer?

In [66]:
names(desc_methods)
Out[66]:
[]
In [67]:
desc_methods.__get__(desc_methods)()
__get__   : True
__set__   : False
__delete__: False
In [68]:
desc_methods.__class__.__dict__
Out[68]:
mappingproxy({'__new__': <function function.__new__(*args, **kwargs)>,
              '__repr__': <slot wrapper '__repr__' of 'function' objects>,
              '__call__': <slot wrapper '__call__' of 'function' objects>,
              '__get__': <slot wrapper '__get__' of 'function' objects>,
              '__closure__': <member '__closure__' of 'function' objects>,
              '__doc__': <member '__doc__' of 'function' objects>,
              '__globals__': <member '__globals__' of 'function' objects>,
              '__module__': <member '__module__' of 'function' objects>,
              '__builtins__': <member '__builtins__' of 'function' objects>,
              '__code__': <attribute '__code__' of 'function' objects>,
              '__defaults__': <attribute '__defaults__' of 'function' objects>,
              '__kwdefaults__': <attribute '__kwdefaults__' of 'function' objects>,
              '__annotations__': <attribute '__annotations__' of 'function' objects>,
              '__dict__': <attribute '__dict__' of 'function' objects>,
              '__name__': <attribute '__name__' of 'function' objects>,
              '__qualname__': <attribute '__qualname__' of 'function' objects>})
Here endeth the notebook

I hope this little tour through descriptors has not only explained an important Python mechanism, but also encouraged you to be adventurous in using notebooks or the interactive interpreter to explore Python's lesser-known corners.

tag:blogger.com,1999:blog-496482.post-6294477355809260594
Extensions
Mac OS - When Mouse Clicks Are Not Actioned
Show full content

I've recently experienced a rash of events where maybe once a week on average mouse clicks have simply stopped working. The cursor tracks the mouse, but clicks just don't do anything.

After some weeks of irritation I eventually realised that I could avoid a reboot by restarting the Finder using the "Force Quit" feature (you can kill any app except Finder, for which the available action is "Relaunch").

"So how," I hear you asking, "do I do that when I can't click to bring up the Apple menu?" The answer is "With the keyboard. Simples!"

The Force Quit applet has a keyboard shortcut (Cmd-Option-ESC). Enter that key combination and the Force Quit dialogue appears. Use the arrow keys to navigate to select Finder. Enter triggers the relaunch, and a further Enter confirms that. In summary:

Cmd-Option-ESC
Navigate to Finder
Enter
Enter

tag:blogger.com,1999:blog-496482.post-2484242252801355365
Extensions
Type Annotations in Python
annotationspythontyping
Show full content
This is an edited live blog of a Python London presentation by Bernat Gabor of Bloomberg. Sorry it's taken so long to prepare. A great talk, very well presented. Thanks Bernat! Many thanks to Babylon Health for being a welcoming host.

PEP 484 introduced type hinting. Function annotations from PEP 3172 and variable annotations from PEP 526 have come together, and are supported by mypy. Why? Primarily to make code easier to debug, maintain and understand. An implementation supports annotation in Python 2.7, as structured comments, so there's no excuse for not using them!

What do annotations NOT provide?

  • Runtime type inference.
  • Performance improvements. 
In fact, annotations are effectively treated as commentary during Python parsing by the interpreter, other than ensuring that their syntax is valid. The mypy project can be used to verify that code calling functions conform to the type annotations thereon. You can also implement "gradual typing": the mypy linter will report errors if your code is type-hinted. It won't complain about untyped values and functions.
Type annotations as implemented by recent Python 3 releases (> 3.4) are the canonical way to do it, but require you to import all type dependencies, and the parser has to parse them. This adds a measurable time penalty, though 3.7's PEP 536 implementation will lead to increased speed.
For older Python implementations, annotations in comments will work under any Python version (simply being ignored as comments by those versions that don't understand them), but it's "kinda ugly" and creates noise around your program logic. They can also lead to compatibility problems with established linters.

A further option is to write interface or stub files - you can even create stubs for code you don't own and/or have access to the source of. This again works in any version because the stub files are simply ignored, but it requires no change to existing source and lets you use the latest Python features. It does, however, create a maintenance burden. Further, if your stubs don't match the code (if a function name is changed in the main file but not in the stub, for example), there are no checks to alert the programmer.

Any solution not using the latest syntax is likely to cause problems in the long-term, though it won't be impossible.

PEP 563, due in Python 3.7, will allow you to distribute any package with type information. Unfortunately, this will not allow annotation of local variables, only interfaces. Annotations can be incorporated into docstrings, but this isn't an especially good option, and isn't recommended.

So, what kind of types can you add? Nominal types (int, float, object, etc.) have generic containers such as Tuple[int, float], Dict[str, int], MutableMapping[str, int], List[int], Iterable[Text], and so on. Since these types are Python objects, this means you can alias types by assignment.

Further nominal types include callable and generics like TypeVar, as well as Any, which effectively disables type checking for specific names. PEP 544 will specify protocols, and this will allow the introduction of structural typing.

What are the gotchas?

  • Python 2 and 3 require version-dependent checks in code intended for both environments
  • It's difficult to handle functions that have multiple return types, encouraging programmers to short-circuit type checking. While the interpreter won't complain at the resulting necessary shenanigans, various linters will be unhappy.
  • Type lookup can be problematic, as the system allows the programmer to shadow the names of types without realising it because they use the same scopes as the runtime.
  • Subclasses can support supersets of the types supported by their superclasses, but not subsets of those types. Further, subtypes whose methods have signatures requiring additional arguments must make those additional arguments optional for type checking to succeed.
Type hinting is fun, but may cause you (like David Beazley) to wish you had a desk-side bridge to jump off. If all else fails, use # type: ignore to just shut the noise up, though this might be regarded as an admission of defeat.
PEP 257 defines how to annotate your code so Sphinx can create documentation that includes type information. Just install the sphinx-autodoc module and add it to to your conf.py file.
What's next? MyPy is getting close to a 1.0 release, and the main focus now is on improving performance and enabling incremental typing, defining and implementing an API and a plugin system to open up the ecosystem.
tag:blogger.com,1999:blog-496482.post-7641145826953053042
Extensions
What's In a Namespace?
python
Show full content
Python programmers talk about namespaces a lot. The Zen of Python* ends with
Namespaces are one honking great idea—let’s do more of those!
and if Tim Peters thinks namespaces are such a good idea, who am I to disagree?

Resolution of Unqualified Names Python programmers learned at their mothers' knees that Python looks up unqualified names in three namespaces—first, the local namespace of the currently-executing function or method; second, the global namespace of the module containing the executing code; third and last, the built-in namespace that holds the built-in functions and exceptions. So, it makes sense to understand the various namespaces that the interpreter can use. Note that when we talk about name resolution we are talking about how a value is associated with an unadorned name in the code.

In the main module of a running program there is no local namespace. A name must be present in either the module's global namespace or, if not there, in the built-in namespace that holds functions like len, the standard exceptions, and so on. In other words, when __name__ == '__main__' the local and global namespaces are the same.

When the interpreter compiles a function it keeps track of names which are bound inside the function body (this includes the parameters, which are established in the local namespace before execution begins) and aren't declared as either global or (in Python 3) nonlocal.  Because it knows the local names the interpreter can assign them a pre-defined place in the stack frame (where local data is kept for each function call), and does not generally need to perform a lookup. This is the main reason local access is faster than global access.

Although the interpreter identifies local names by the presence of bindings within a function body, there is nothing to stop you writing code that references the names before they are bound. Under those circumstances you will see an UnboundLocalError exception raised with a message like "local variable 'b' referenced before assignment".

For non-local names, something very like a dictionary lookup takes place first in the module's global namespace and then in the built-ins. If neither search yields a result then the interpreter raises a NameError exception with a message like "name 'nosuch' is not defined."

Resolution of Qualified Names In qualified names (those consisting of a sequence of names or expressions delimited by dots  such as os.path.join) starts by locating the first object's namespace (in this case os) in the standard way described above. Thereafter the mechanism can get complex because like many Python features you can control how it works for your own objects by defining __getattr__ and/or __getattribute__ methods, and because descriptors (primarily used in accessing properties) can cloud the picture.

In essence, though, the mechanism is that the interpreter, having located the object bound to the unqualified name, then makes a gettatr call for the second name (in this case, path) in that namespace, yielding another object, against which a further getattr call is made with the third component of the name, and so on. If at any point a getattr fails then the interpreter raises an AttributeError exception with a message such as "'module' object has no attribute 'name'."

Understanding Expression Values Once you understand the mechanisms for looking up the values of names it becomes a little easier to understand how Python computes expression values. Once a name is resolved there may be other methods to apply such as __getitem__ for subscripting or __call__ for function calls. These operations also yield values, whose namespaces can again be used to lookup further names. So, for example, when you see an expression like
    e.orig.args[0].startswith('UNIQUE constraint failed')
you understand that the name e.orig.args is looked up by going through a sequence of namespaces and evaluates to a list object, to which a subscripting operation is applied to get the first element, in whose namespace the name startswith is resolved (hopefully to something callable) to a value that is finally called with a string argument.
Ultimately, by decomposing the expressions in this way you end up only dealing with one object at a time. Knowing how these mechanisms work in principle can help you to decipher complex Python code.
* Just type import this into a Python interpreter, or enter python -m this at the shell prompt, and hit return.

tag:blogger.com,1999:blog-496482.post-3536689184740614220
Extensions
Pro tip: Use CDPATH in Your Shell
Show full content
This is a tip I first picked up about thirty years ago (my God!) when I worked at Sun Microsystems and used the C shell fairly extensively. Fortunately there's no need to do so any more, as many of its more desirable features have been incorporated into bash.

There's nothing worse, even with tab-completion, than having to stab through a sequence of directories to find the location you want. If you're anything like me there are typically three or four main directories that I use for about 80% of the work that I do.

The CDPATH environment variable works pretty much like your PATH setting, except that instead of being used to locate executables it's used to locate directories. It comes into play when you issue a cd or pushd command. So, for example, on my personal machine my .bash_profile contains the following line:

export CDPATH=.:~/Projects:~/Projects/Python/

So when I try to change to a new directory the shell first looks in the current directory (it can cause real confusion if you don't look there first), then in my Projects directory, then in its Python sub-directory. So the command

pushd PytDj

takes me to my ~/Projects/Python/PytDj project directory with no need to specify the path. I estimate this saves me at least a minute a day, so over thirty years it's saved me a substantial amount of time. Try it, and see what you think.
tag:blogger.com,1999:blog-496482.post-3698534751810022852
Extensions
A Short Musical(?) Introduction to Infinity
Show full content
Wondering how best to convey the bigness of infinity, I came upon the idea of using a musical exposition. Please forgive the inadequate nature of the performance - like present-giving it's the thought that counts. It's a monologue on the nature of the smallest infinite cardinal. Enjoy. Or not ...


tag:blogger.com,1999:blog-496482.post-5990452326345535339
Extensions
What Kind of Geek am I? (1)
Show full content
I've been pondering about why sometimes progress seems hard to make when I am learning a new piece of technology, which other people apparently just pick up and start using with no trouble at all. I now wonder whether it's a combination of personality and knowledge.

In common with many developers I like to understand things thoroughly. For me this means being able to construct satisfactorily self-consistent mental models that I can, effectively, "unit test" by applying what-if techniques. Unfortunately my history as a developer means that I have a detailed knowledge of system architecture. Without claiming to be fully up-to-date (for example the last time I built logic was in 1987, from Schottky TTL clocked at 12 MHz), when I use the term "full-stack" I include a reasonably detailed knowledge of all aspects of system architecture, including the hardware, operating system, language support libraries and application.

In other words, I am (often subconsciously, thanks to many more than 10,000 hours of practice at this computer game) aware of lots of things that can go wrong at many different levels.

I suspect this causes me, without specific motivation, to choose test cases that go “near the edge of the envelope”. It's frustrating when I'm learning because it often reveals deficiencies (most often in the documentation) of the “system under test” that can block progress; but I also believe it helps to integrate my newly-learned knowledge, and leaves me with valuable knowledge that you just can't pick up in the middle of the road.
tag:blogger.com,1999:blog-496482.post-3105521823301095021
Extensions
Carl Trachte: Mining Engineer Turned Geek
communitygratitudelabhrpyconpython
Show full content
Another #LABHR post.

I first met Carl when he came to a training session for new PyCon speakers. He was very nervous, and concerned that his topic would not be of sufficient interest to his audience. I made a point of attending the beginning of his talk, and by the time I left there was no doubt in my mind that Carl would do well in the Python community.

Over the years he has done invaluable work for the PSF, both in policing potential abuses of the Foundation's trademark for the Python programming language, and also in collecting sample descriptions of Python in many languages and alphabets to try and make Python's web presence more welcoming to those from diverse linguistic communities.

He has been a PyCon volunteer for a while now, helping others to find what they need and demonstrating by example the helping spirit of Python and open source generally.

Carl has done all this with no thought of return, and in doing them has helped uncountable numbers of Python users. Well done, Carl, and thanks!
tag:blogger.com,1999:blog-496482.post-8689228336624310311
Extensions
Brian Curtin: A Solid Record of Community Involvement
Show full content
As a personal #LABHR contribution (having already thanked recipients of PSF awards) I should like to bring to your attention a person by the name of Brian Curtin.

If you are part of the Django world you may know Brian from his work with his then-local Chicago group, though he latterly moved to San Antonio. He has been featured as a Python core developer in the Python Insider blog, and more recently in Mike Driscoll's Pydev of the Week column.

Brian also contributes by serving as a Director of the Python Software Foundation, that worthy body charged with responsibility for the intellectual property in the Python programming language and in growing the international Python community. He is in essence its voice, having for a long time been the Foundation's Communications Officer. Though many others contribute from time to time, they do so under Brian's editorship, and I know from personal experience he is a great editor to work with.

Brian has also spoken and volunteered at PyCon on a long-term basis. I can't think of a single area he's touched without making a contribution of some kind.

So thanks, Brian, for making a difference, and good luck in your most recent role with Rackspace in San Antonio.
tag:blogger.com,1999:blog-496482.post-2104605376598945344
Extensions
Building a Hat Rack
advocacyawardgratitudehat racklabhropen sourcepythonservicevalentine
Show full content
Leslie Hawthorn, Elastic Search’s enthusiastic communities manager, has been involved with open source for quite a while, and has come up with what seems to be a good idea. She's trying to get public acknowledgment for services to open source that often go unsung, and I recommend that you read her blog post and take action on it yourself under hashtag #LABHR (Let's all build a hat rack). I certainly shall be doing, and this is the first of my actions. I gather the intention is to show developers some love on Valentine's Day to start with, but it would be amazing if this could become a continuous process.

It was in the spirit of "building a hat rack" in the sense of making achievements visible that I first proposed the Python Software Foundation present Community Service Awards to deserving members of the community. The prize bestows a free place at PyCon to recipients, but mostly the certificate simply represents recognition that a group of your peers have recognized your efforts, which have typically been long-term and beneficial to a broad cross-section of many Python communities. Recipients are listed on the python.org web site.

More recently the Foundation introduced Distinguished Service awards, of which so far there have been two recipients.

If you have anything to do with Python at all, even if you are “merely” a Python user, the selfless actions of these people have impacted your life in a huge way over the last 25 years, and I hope you are grateful to them, as I am.
tag:blogger.com,1999:blog-496482.post-4666624234182193332
Extensions
How to Get the Bits of Python You Need Where You Want Them
condadistributioninstallationminicondapythonvirtual environment
Show full content
Following up my recent short video on installing Anaconda I now introduce miniconda, which is a distribution that contains only Python and the conda software on which Anaconda is based. The remainder of the Python packages you need can be installed in virtual environments managed by conda.



When you are building Python systems with mundane requirements this is a great way to put your environments together. From my experience so far it's professionally built and unusually well engineered. Kudos to Continuum Analytics for getting this stuff out.
tag:blogger.com,1999:blog-496482.post-4016044766881544584
Extensions
How to Get Almost All the Python You Might Need
anacondabatteries includedcontinuumIOeducationholdenwebpythontrainingvideovirtual environment
Show full content
I am often asked what is the easiest way to build Python environments. For development purposes it's most convenient to have a "batteries included" environment that can be pared down once development is over. Continuum Analytics have for a while offered an open source project called Anaconda to provide easy access to both Python and the batteries.

If you are a Python professional and you get questions from people who would like to try the language I would suggest that the graphical installer would be most appropriate. For anyone familiar with the command line, the command-line installer is not only slightly smaller but allows the scripted creation of disposable Python environments which you can activate just by adding their bin subdirectory at the start of your path.

The video should explain this in detail.


In the video I create a disposable environment under /tmp. Anaconda environments are far heavier than a standard virtual environment, but they offer a huge variety of Python libraries without ever having to understand the complexities of package installation.

[For a more selective installation utility see How to Get the Bits of Python You Need Where You Want Them]

tag:blogger.com,1999:blog-496482.post-8107772611100959469
Extensions
Puget Sound Python User Group, Jan 14, 2015
data sciencepuget soundpythonseattleuser goup
Show full content
The meeting started with one of the meeting's organizers, Tammy Lee, welcoming us to Dice Cabana. Alan Besner then took the MC slot to introduce tonight's speakers after a word from OfferUp's Arean, who explained that as the largest local mobile marketplace in the US they have collected some high volume data, and will be listening attentively to the talks. Unsurprisingly, OfferUp are hiring (their staff having grown about 400% in the last year).

Tammy announced that the group was interested in reaching out to members to help them with their professional development. The group has a new logo designed by New Relic's Jen Pierce. It tweets as @ps_python, and they have a LinkedIn group "to make things less socially awkward." Tammy will be happy to talk to any members who want to get involved: pugetsoundpython at gmail dot com.

The first speaker was Carlos Guestrin, founding CEO of Dato (formerly GraphLab), who is also Professor of Machine Learning at UW. His talk was about recent developments in machine learning. Companies have been collecting data for a long time, but early attempts at analytics were not really addressing the real questions.

In talking to over 300 businesses with interests in machine learning, Carlos again and again has seen a failure to address the need to eliminate what Carlos called "duct tape and spit" work. Building tailored Hadoop systems is expensive and time-consuming, so we need a way to scale Python processes to the standard big-data ecosystem.

Dato's mission was to empower people to handle all sorts of data sources at scale, even from a laptop. Users should never have out-of-memory issues, but the GraphLab Create product allows building analytic tools that will move up to web scale with GraphLab Produce.

A first live demo was an image search, hosted on Amazon, matching with predictions made by a neural network running on Amazon infrastructure. An engineer who joined the team last October built this demo in a few days.

A second demo showed a recommender built from Amazon product data. It allowed two people to list their tastes and then found a way from a favored product of one user to a favored product of another.

Carlos is interested in allowing people to build their own applications, so he showed us an IPython Notebook that read in Amazon book review data. An interesting feature of Graphlab objects is that they have graphical representations in the Notebook, with the ability to drill down.

Carlos built and trained a book recommender with a single function call. This is all very well, but how do we scale such a service? The answer is to take the recommender model and deploy it as a service hosted on EC2 over a number of machines. The system is robust to the failure of single systems, and uses cacheing to take advantage of repeated queries to the RESTful API.

The underlying support infrastructure is written in "high-performance C++". The GraphLab components are based on an open source core, with an SDK that allows you to extend your coding however you want. GraphLab Create is unique in its ability to allow a laptop to handle terabyte volumes. It includes predictive algorithms and scales well - Carlos showed some impressive statistics on desktop performance. TAPAD had a problem with 400M nodes and 600M edges. Graphlab handled it where Mahout and Spark had failed.

One of the key components is the SFrame, a scalable way to represent tabular data. These representations can be sharded, and can be run on a distributed cluster without change to the Python code. Another is the SGraph, which offers similarly scalable aproaches to graph data.

The toolkits are based on an abstract pyrsid wehose base in the algorithms and SDK. Upon this is layered a machine learning layer.

Deployment is very important. How can you connect predictive services to your existing web front-end? GraphLab aloows you to serve predictions in a robust scaleable way. Install

Carlos closed by pointing out the Data Science and Dato Conference, whose fourth incarnation is in July in San Francisco.

Q: What's the pricing model?
A: You can use GraphLab Create for free; you can use Produce and other services either on annual license or by the hour.

Q: How do you debug distributed machine learning algorithms.
A: It's hard. We've been working to make it easier, and Carlos pushes for what he calls "insane customer focus"

Q: Is SFrame an open source component?
A: Yes.

Q: What about training - how do you trrain your models"
A: We have made it somewhat easier by producing tools. HTe second layer, choosing models and parameters, is assisted by recent developments. The next release will support automatic feature search.

Q: Is the data store based on known technologies?
A: It isn't a data store, it's en ephemeral representation. Use storage appropriate to your tasks.

Q: Do you have a time series components?
A: Yes, we are working on it, but we want to talk about whjat's interesting to potential customers?

Q: Do you have use cases in personalized medicine?
A: We've seen some interesting applications; one example reduced the cost of registering new drugs.

Erin Shellman works at Nordstrom Data Lab, a small group of computer and data scientists. She built scrapers to extract data fomr sports retailers. Erin reminded us of the problems of actually getting your hands on the data you want. Volumes of data are effectively locked up in DOMs.

The motivation for the project was to determine to optimum point to reduce prices on specific products. It was therefore necessary to extract the competitive data, which Erin decided to do with Scrapy. Erin likes the technology because it's adaptable and, being based on Twisted, super-fast.

Using code examples (available from a Github repository) Erin showed us how to start a web scraping project. The first principal components are items.py, which tells Scrapy which data you want to scrape. In order to extract this kind of data means you really should look at the DOM, which can yield valuable information (one customer was including SKU-level product availability information in hidden fields!)

The second component is the web crawler. Erin decided to start at one competitor's "brands" page, then follwo the brand's "shop all" link, whidh got her to a page full of products. The crawl setup subclasses the Scrapy CrawlSpider class. The page parser uses yield to generate successive links in the same page. Erin pointed out that Scrapy also has a useful interactive shell mode, which allows you to testt he assumptions on which you build your crawler.

Erin found that smaller brands didn't implement a "shop all" page, and for those cases she had to implement logic to scrape the data from the page where it would normally appear.

Erin's description of how to handle paginated multi-page listings showed that Scrapy will automatically omit already-processed pages, meaning it's easy to perform redundant searches where the same page may appear mutiple times in the result.

Erin underlines the necessity of cleaning the data as early in the processing chain as possible, and showed some code she had used to eliminate unnecessary data. Interestingly Erin ended up collecting a lot more data than she had initially started by looking for. Disposition of the scraped data can be handled by a further component of Scrapy, which was not covered.

Most of data science is data wrangling. Scraper code at https://github.com/erinshellman/backcountry-scraper

Erin also pointed out that the next PyLadies Seattle is on Thursday, January 29th.

Q: If you repeat scrapes, is there support for discovering DOM structure changes?
A: Good question, I don't know. I assume there must be, but didn't feel I needed it.

Q: If you ran this job over the course of 10 minutes (with 40,000+ GET requests) do you need to use stealth techniques?
A: We haven't so far. Retailers aren't currently setting their web sites up to protect against such techniques.

Q: What's the worst web site you've come across to scrape?
A: I don't want to say; but you can tell a lot about the quality of the dev teams by scraping their pages.

Q: Does Scrapy have support to honor robots.txt
A: No, but the crawler can implement this function easily.

Q: What techniques did you use to match information?
A: Pandas was very helkpful in analysis.

Q: What about web sites with a lot of client-side scripting?
A: We didn't run into that problem, so didn't have to address the issues.

Trey Causey from Facebook rose after the interval to talk on Pythonic Data Science: from __future__ import machine_learning. Try's side job is as a statistical consultant for an unnamed NFL team.

The steps of data science are

1. Get data
2. Build Model
3. Predict

Python is quickly becoming the preferred language of the data science world. NumPy has given rise to Pandas, whose DataFrame structure is based on it. Pandas can interface with scikit-learn.

A DataFrame offers fast ETL operatiopns, descriptive statistics, adn the ability to read in a wide variety of data sources. Trey showed a DataFrame populated with NFL data in which each row represented a play in a specific game, which had been processed to remove irrelevant events.

Scikit-learn is a fast system for machine learning. New algorithms are being added with each release, and the consistent API they offer are a notable feature. It offers facilities for classification, regression, clustering, reducing dimensionality and preprocessing. This last is valuable, due to the high volume of data science work that is just getting the data in the desired form.

Scikit-learn implements the interface of the Estimator class, and subclasses have .fit(X, y=None)m .transform() and .predict() methods. Some have .predict_proba() methods. The "algorithm cheat sheet" is an attempt to show how touse the package's features to obtain desired results.

Suppose you are interested in the probability that a given team wins a game given the appearance of a particular play i that game. This allows coaches to answer questions like "should we punt on this fourth down?". This is therefore a classification problem, under the assumption that players are independent (which seems to be a ridiculous assumption, but in fact works pretty well(,

The janitorial steps will involve looking at the data. Does it suffer frmo class imballances (e.g. many more wins than losses)? Does it need centering and scaling. How do I split my data set into training and prediction sets?

A first study showed a histogram of # of plays vs. remaining time showed a major spike just before halftime and smaller spikes before the quarters due to the use of timeouts. The predictive technique used was "random forests." Testing the predictions was performed on both true and false negatoves and positives. Calibration is important for predictive forecasts. Sometimes you will need to use domain knowledge to wring information out of the data.

Trey showed a number of graphics, showing various statistics which my total lack of football knowledge didn't allow me to interpret sensibly. He pointed out some of his important omissions, being quite frank about the shortcomings of his methodology. Feature engineering depends on subtleties of the data, and no confidence intervals are given. Putting models into production is difficult, and data serialization has not yet been suitably standardized.

Data science may not bet easy, but it can be very rewarding. Read more from @treycausey (trey dot causey at gmail dot com) or at thespread.us.

Q: Does what you are doing become less effective over time?
A: In the NFL case most teams don't trust statistics, so it is difficult to get coaches to implement stats-based decisions making. In the larger context, if you get really good at predicting a particular phenomenon, you would expect performace to decline over time due to changing behavior.

Q: Are there particular teams who are making visibly good or bad decisions?
A: Yes. It's easy to see which coaches aren't optimizing at all, but even the best teams still have a way to go. The New York Times has a "fourthdownbot" that is fun.

Q: Are you trying to develop mental constructs of what is right and wrong in feature engineering?
A: That's a philosophical divide in the data science communities; some prefer more parsimonious models, which should yields actionable features, others prefer highly parameterized models with better predictive ability.

Q: Do you understand more about the features in your data as you work with it?
A: Yes, all the time, and the new features aren't always obvious at first. This is basically a knowledge representation problem. Sometimes there is just no signal ...

Q: How are you giving the coaches this data?
A: I can't tell you how. Cellphone communications are forbidden on the sidelines.

Q: Are you REALLY good at fantasy football?
A: Fantasy football's scoring system is highly variable; a lot of research shows that some scoring features can't be predicted. Usually FF's busy time is Trey's busy time too, so he tends to play like other people do and say "he's looking good this week."

Thanks to all speakers for their amazing talks, and thanks to the group for hosting me.
tag:blogger.com,1999:blog-496482.post-2037908548302271294
Extensions
PyData London, January 2015
bayesian inferencechangepoint detectiondomain namesenglishLondonpydatapythonscikit learnUK
Show full content
[EDIT: Updates talk with additional background and slide links]

Tonight I'm attending the PyData London Meetup group for the first time.

The meeting began with a short "What's New in the Python World," from the joint organizers, who assumed the audience was mainly here for the invited presentations. That's true -- like many others I find it interesting to learn what other Pythonistas are doing with their Py (so to speak), but it's also nice to hear a potted summary of "events of significance."

I know from my own experiences that they (said organizers) will be DELIGHTED if you would offer any feedback at all. They are doing so much good work for nothing (and it can begin to feel like a thankless task) that we all owe it to them to pass on any suggestion that might help the group be even more effective. Similarly, if you would like to let me know anything about this, or future posts of this nature, just add your comment below. If you feel like making a critical comment at the same time, I am old enough and ugly enough to survive.

Frank Kelly was introduced to talk about "Changepoint Detection with Bayesian Inference". After graduation Frank was sentenced to investigate rock strata produced as part of an oil exploration project. One initial problem was the transmission of information from the drill head (hundreds of feet down in the rock). They discovered that they could encode digital information by pulsing the highly viscous mud that lived in the well. As you can imagine, mud is not a very good transmission medium, and Frank's final-year project was to use Bayesian statistics to decode the transmissions.

Frank's discussion of frequentist vs Bayesian methods was interesting. It revealed that Bayesian methods are a fundamentally different technique. Bayes was a non-conformist who is buried about ten minutes away from the meeting space at Lyst Studios. I don't know whether this was intended as a warning. Essentially, Bayesian methods used fixed data sets and tries to use post-hoc processing to understand the experimental results. Data is assumed to be generated as model data plus noise, which for Frank's purposes they could characterize as Gaussian white noise. Essentially the signal is the reading minus the noise, by integrating with respect to the "nuisance parameters."

We saw a graphical demonstration of how this could be used to detect thresholds in noisy data, and how as the data tended to a lower and lower threshold the result of Franks analytical function tended towards a smooth curve, with no detectable thresholds indicated by minima or maxima.

Frank then went on to discuss other applications of his technique related to Google search. There are pressures on Google to reveal the algorithms they use to produce their search results, but this is unlikely to happen as the algorithm represents Google's "secret sauce". Changes to Google's algorithms cause large fluctuations in results and sales for some companies.

Then we were treated to a view of an IPython Notebook, though the code wasn't very readable (remember that Command+ sequence, Mac presenters), but it was interesting to see a demonstration that a Google change had made a detectable difference to the traffic on sites. By presenting this kind of supporting evidence companies can at least give Google some facts about how the changes have affected them.

Frank then went on to talk about applications to tropical storms, which generally have wind speeds over 17 m/s (35 m/s is classified as a hurricane). Data is available for the number of tropical storms per year since 1856, and Frank pointed out that there were spikes that correlated well with changes in the surface ocean temperature.

Frank explained that he is now mixing Bayesian with frequentist techniques, and that he has done some informal research into correlations between external events such as Christmas and the Scottish independence referendum, with no really conclusive results (except that Christmas had more effect on the stock market than the referendum did). Overall a very interesting talk. Frank even promised that the published slides (now linked from the talk title above as well as here) will include a link to a "Matlab to Python" conversion cheat sheet. Well done!

In the Q and A session the first questioner asked whether Frank had benchmarked his methods against other change-detection algorithms. Frank felt this might be difficult because different algorithms produce different types of output. Next, someone asked whether Frank had tried any custom Bayesian analysis tools, but Frank had simply put his own code together. Next, someone asked whether the technology to communicate from the drill head were any better nowadays, and Frank said that things are now more sophisticated, but "you can't just stick a cable down the hole." A commenter pointed out that mud pulsing was still common five years ago, and asked whether it was easy to apply a moving window to the data. I'm not sure I understood the answer, but Frank seemed to think it could be used to produce online analysis tools. that would allow a sliding window to be applied to time series data. Next someone asked whether the technique could cope with different noise spectra/distributions. The answer was that the noise levels had to be modelled, and sometimes the noise was different after the change from before. The talk ended with a robust round of applause.

There was then a break for beer and pizza, so don't blame me for any degradation of quality in the rest of this post. There are no guarantees. I met a few people while we were milling around, including a data scientist who had heard the the PyData meetups were friendly and relevant, and the business development manager of a company whose business is training scientists.

The second talk of the evening was "Learning to Read URLs: Finding word boundaries in multi-word domain names with Python and sklearn" by Calvin Giles.

Calvin started out with a confession that he isn't a computer scientist but a data scientist, so he was describing algorithms that worked to solve his problems rather than theoretically optimal solutions.

The basic problem: given a domain name such as powerwasherchicago.com, resolve it into words. The point is, if this minimal amount of semantic information can be extracted, you can avoid simple string comparisons and determine the themes that might be present in a relatively large collection of domain names. Calvin warned us that the code is the result of a single day's hacking project, based on Adthena's data of ten million unique domain names and third party data such as the Gutenberg project and the Google ngram viewer data sets.

The process was to determine which of a number of possible sentences should be associated with the "words" found in a domain name. The first code snippet showed a way of extracting all the single words from the data (requiring at least two characters per word).  A basic threshold detection was required, since low frequency words are not useful. The initial results were sufficiently interesting to move further research to the Google ngram dataset. This resulted in an English vocabulary or roughly 1,000,000 words. A random selection included "genéticos" and "lanzamantio", but Calvin was happy to allow anything that had a frequency of more than 1,000 in his corpus.

Calvin then presented a neat algorithm to find the words that were present in a string. The list of potential words in powerwasherchicago.com seemed to have about fifty elements in it. catholiccommentaryonsacredscripture.com had 101 words in it, including a two-letter word, making it a very interesting test case.

Calvin's algorithm to find the "most likely" set of words allows you to decide how likely the domain name is to occur given the potential words it could be made up from. Sadly with n substrings of the data you can generate 2^n sentences. Some convincing calculations were used to demonstrate that this wasn't a practical approach. The words should be non-overlapping and contiguous, however, so this allows us to limit the possibilities quite radically, but it isn't easy to find all subsets of non-overlapping words, This is, however, a major win in reducing the number of cases to be considered.

Given the solution with least overlap, Calvin then chose to omit all "sentences" that were less than 95% of the length of the least-overlap solution. The code is all available on the slides, and I am hoping to be able to publish the URL (which Calvin said at the start of his talk would be available).

The get_sentences() wrapper function was only seven lines of code (ignoring the called functionality), and quite comprehensible. The demonstration of its result was extremely convincing, reducing some very large potential sets to manageable proportions. The average domain turned out to have around 10,000 possible interpretations. The domains with more than that number of candidate interpretations turned out to be the most interesting.

In order to produce a probability ordering for the possibilities, the algorithm prefers fewer longer words to a larger number of shorter words.A four-line function gave that ordering - a nice demonstration of Python's high-level abilities. While this did not give perfect results, Calvin convinced me that his methods, while possibly over-trained on his sample domains (modulo some fuzzy word-inference techniques that help to identify one-character words in the domain) are useful and workable.

Calvin has now trained his system to understand which was the correct interpretation for the first hundred domain names. The visual representation of Calvin's latest results showed that even when the algorithm was "wrong" it was because the arbitrary ordering of equally-assessed domains had put the correct answer further down the list.

He expects that in a set of 500 domains his system will currently give roughly two-thirds of the answers to be useful and the remainder to be randomly wrong. A missing part of the model is an assumption that all sentences are equally likely. Using Bayesian techniques one can determine the "likelihood" of the generated sentences being the intended interpretation.  A somewhat pragmatic approach to this problem, inspired by Peter Norvig's spell-checker blog post, used as much existing code as possible. The code

    guess("powerwasherchicago")[0]

returned a result of

    'power washer chicago'

Calvin closed by suggesting that his initial training data set might have been too small, so he plans to use larger data sets and more sophisticated training methods with a rather more rigorous evaluation of the ad hoc decision making incorporated in his existing code base. His list of desired enhancements made sense, usually the sign of a talk that's related closely to the author's real-world experience. I was impressed that he is also considering how to make his work more usable. Another great talk!

Someone opened the Q and A by asking whether the web site content couldn't be analysed algorithmically to provide more input to the parse. Calvin's reply reflected real-world experience that suggested it would not be easy to do this. Given there are 40,000,000 domain names, Calvin felt such a parser would be unlikely to be helpful. The final question asked whether finite-state transducers, as implemented in OpenFST (sadly written in C++) would be useful. Calvin replied that it might well be, and asked to talk to the questioner with a view to updating the slides.

To close the meeting Product Madness announced that they were hiring, and I am happy to say that nobody wanted me to answer any questions, despite the organizers putting me on the spot!

Thanks to Lyst for hosting. This was a most stimulating meeting, and I'll be attending this group again whenever I can.




tag:blogger.com,1999:blog-496482.post-6671428933640414180
Extensions
Python Training Day Feedback
git wranglingintermediateJSONLondonpythonThe Church HousetrainingUK
Show full content
After a day at The Church House I am happy to say that the Intermediate Python repository is in much better shape to move forwards.

Work on the Repository
About eight people turned up throughout the day, with the stalwarts being Kevin Dwyer and João Miguel Neves. With their help I investigated some thorny problems I had created for myself in the area of git filtering. It turns out that there is a subtle bug in Python's JSON generation which has existed for quite a long time.

We eventually worked around it by adding import simplejson as json for now, though I suspect a better fix might be to explicitly add a separator specification. Anyway, with that change the filtering then started to work predictably, and we could move forward with a review of the notebook contents to ensure that changes I made during the teaching were incorporated into the main code base.

With three of us hacking away that work didn't take very long, but before it could commence there was a certain amount of git-wrangling that I confess I probably wouldn't have managed anywhere near as quickly without Kevin's and João's help.

Training Market Discussions
All in all quite a success, and we also spent time discussing the UK training market for Python. I've a few more ideas now about how to approach that market, but if you, dear reader, have any ideas I would be happy to here them either in the comments below or through my web site's contact page.

Thank You
Thanks to everyone who turned up or merely wished the enterprise well. I am really looking forward to spending more time in the UK and helping to encourage even more Python use. Thanks also to the staff at The Church House for their excellent attention. We couldn't have been better taken care of.
tag:blogger.com,1999:blog-496482.post-4003138683425226273
Extensions
Python Dev of the Week
mike driscollpydev of the weekpython
Show full content
I'd like to thank Mike Driscoll for running his Python Dev of the Week series of blog posts. I was fortunate enough to be featured a while ago, and previous victims include Carl Trachte, Michael Herman, Brian Curtin, Luciano Ramalho, Werner Bruhin, Facundo Batista and Ben Rousch.

I hope Mike keeps going with this series. There are many interesting personalities in the Python world, and this brings them just a little closer.
tag:blogger.com,1999:blog-496482.post-415215283615025527
Extensions
UK Python Training Open Day and Lunch
developmentLondonpythonskillstrainingUK
Show full content
Regular readers (both?) know that I live in the USA but hail from the UK, where I still return regularly to stay in touch with family and friends. So to dip a toe in the UK training waters I booked a room (rather a nice one, as those who have attended other events I organized will not be surprised to learn) and put out an announcement that I was running a Python Programming Skills Lab. You could have booked a place here. Of course if this were the movies, the spirit of “if you build it they will come” would rule and I could welcome those wishing to drink at the Python fount. But it isn't.

So
a) I am not a marketing genius;
b) this is not the movies.
Result: I am now planning to spend the day in said reserved room, working on my current open source project, whose sadly neglected repository can be found in a weed-infested corner of Github. This is the code I used as a script for the videos which (if you are reading my blog) you should see advertised up at top right. The code is presented as iPython Notebooks, and only some of them are properly documented in interspersed Markdown cells, so if I end up spending the day alone then at least some sensible purpose will have been served.

With that in mind the Skills Lab is now metamorphosing into an open Python Training Day. I understand this is very short notice (I'm not very good at operations either, go figure), but if you have any interest in either receiving Python training or having such training presented to a target group I would be delighted to talk with you on Tuesday December 9, 2014 at any time between 10:00 am and 4:30 pm at the Church House Conference Centre in Westminster.

If you would like to join me for lunch then please sign up (there are 12 places for lunch) and arrive no later than 12:30. If you simply want to drop in and say hello (or, better still, help work on the codebase) then feel free to arrive at any time during the advertised hours and stay as long as you like (but please do sign up for lunch if you plan to eat). It would be helpful if you reserved a drop-in place even if you aren't coming to eat. Those with an interest in beer might want to arrive towards the end of the proceedings so a post-event excursion to a licensed hostelry can be entertained if appropriate.

The room reserved for this event is absolutely delightful, with a view across the Dean's Yard. I welcome all Python friends and anyone who would like to get to know me professionally to visit at some convenient time during that day. But do remember to reserve a place if you want lunch!

I have had very little time to work on the Github repository since the videos were shot, and yearn for an army of Internet interns to help me improve what I believe are useful open-source training materials. In the absence of visitors that day, any spare time I have on that day will go to improve the Notebooks, so at the very least the curated Notebook collection will become more useful.
tag:blogger.com,1999:blog-496482.post-3134425913187452374
Extensions
“Rock Star” Programmers
egolessprogrammingpython
Show full content
I've finally realized just what, exactly, so gets up my nose when I see organizations advertising for “rock star” programmers. To understand you need to cast your mind back (assuming it then existed) to 1971 (when I was in my first decade as a programmer) and Gerald Weinberg had just produced The Psychology of Computer Programming, in which he concluded that over-identification with the code one produced could, in interesting ways, be counter-productive.

He observed that programmers who were reluctant to share their code tended to hold on to false views of what might be causing issues rather longer than those who were open to review and discussion. My own development as a programmer was greatly aided by this approach, and at university a couple of close friends in particular discussed every aspect of the code we were creating.

Forty years later Weinberg's “egoless” approach, in which mistakes are accepted as inevitable and reviews are performed in a collegial way, remains the sanest way to produce code. Given that computer programming is fast becoming a mainstream activity it seems perverse to deliberately select for ego when seeking programming talent, since the inevitable shortfall in humility will ultimately work to undermine the rock star's programming skills.

When I think of the best programmers I know, the foremost characteristic they share is a modesty about their own achievements which others would do well to emulate. So, can we please dispel the myth of the “rock star” programmer? The best programmers can't be rock stars. Rock star egoism will stand in the way of developing your programming skills.
tag:blogger.com,1999:blog-496482.post-4747410542830263520
Extensions
Is Python Under Threat from the IRS?
501c3irsnon-profitopen sourcepsfpublic goodpython
Show full content
Readers should remember that I no longer have any official standing in the Foundation other than my long-standing membership, but this post is informed by eight years on the board, over three of them as its chair.

Nicholas Tollervey (author and performer of A Programmer Pythonical) asked an interesting question on the Python Software Foundation's membership list today. Despite his misgivings it is one that will be of interest to many Python users, so I am grateful for his permission to quote the essence of it here.

I've noticed rumblings on the web about the IRS denying nonprofit/charitable status to various free software based foundations/organisations/legal entities similar to the PSF. In case you've missed it, here is a high level summary.
My questions are:
1) Is the PSF likely to be affected by this change of view from the IRS?
2) If so, do we have contingency for dealing with this (basically,
what are our options)?


The answer to the first question is absolutely not. The PSF is a long-standing 501(c)(3) non-profit in good standing. The recently-reported issues are all to do with current applications for non-profit status. It's fair to say that the IRS is applying scrutiny to such applications, but they are, after all, responsible for making sure that applications are genuine. As long as an existing non-profit makes the necessary returns and complies with all applicable laws, and as long as it continues to honor its requirement to maintain broad public support, there is no reason why the IRS would represent any kind of threat.

The IRS does not exist to help open source devotees to build a bright new world
Some of those rejected have been advised to apply for a different form of non-profit status, others are reconsidering their options. Good legal advice is imperative when starting any such enterprise, and that requires a specialist. There is a feeling that the IRS might make better decisions if it could be better-informed about open source. From my limited knowledge of the recent cases I'd say that it's essential to ensure that your application has a sound basis in non-profit law. The IRS does not exist to help open source devotees to build a bright new world.

The answer to the second question is that loss of non-profit status would be a blow to the Foundation, but there's no reason why even that should be fatal to Python, though I very much doubt there is serious planning for such an eventuality. Ultimately the Foundation's the bylaws include a standard winding-up clause that requires asset transfer to a similar/suitable non-profit, so assets cannot be stripped even under those circumstances, including the ability to license Python distributions.

The developers could simply migrate to a different development base. They aren't directed or controlled in any way by the Foundation, which in the light of recent decisions it turns out is probably a good model. If the PSF were directing the development of the language there might have been a real risk of it being seen as no different from a software house or vendor, and it is at that point that doubts about non-profit status can be raised.

The Foundation's mission is ... therefore
genuinely educational and charitable
The Foundation's mission is to promote the growth of the language (check) and the development of the international Python community (check) and its mission is therefore genuinely educational and charitable. So even were it to apply again today I suspect the application might succeed. Fortunately, that doesn't have to be put to the test.
tag:blogger.com,1999:blog-496482.post-2387091516317161701
Extensions
Closures Aren't Easy
cellclosureissuepython
Show full content
$(function() { $(".input_prompt,.output_prompt").hide(); $("pre").css({ "font-size": "77%", "background-color": "rgb(240, 240, 240)", "padding": "5px", "border": "3px", "border-color": "rgb(210, 210, 225)", "border-style": "solid", "overflow-x": "auto", "white-space": "pre", "word-wrap": "normal", "font-family": "Monaco,Menlo,Consolas,\"Courier New\",monospace" }); $(".rendered_html").css("margin-bottom", "0.75em"); $(".text_cell_render").css("font-size", "90%"); $(".output_subarea pre").css("background-color", "rgb(200, 200, 200)"); }) Edit: This issue was reported (http://bugs.python.org/issue21904) and closed as "not a bug"

This blog was written as an IPython Notebook. Some of the implementation details it discusses are specific to CPython, the default implementation, and may work differently in other implementations. To keep the code clean, all necessary imports are made immediately below. I habitually import print_function because I have become used to the Python 3 way of doing things, but this particular post was made using CPython 3.3.2. In [1]:
from __future__ import print_function
from dis import dis
import sys
print(sys.version)
3.3.2 (default, Nov 19 2013, 03:15:33) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)]

The Problem In my Intermediate Python video series I discuss decorators, and point out that classes as well as functions can be decorated. As an example of this possibility I used a class decorator that wraps each of the class's methods in a function that prints out a message before calling the original method (or so I thought). Here is the relevant code. In [2]:
def barking(cls):
    for name in cls.__dict__:
        if name.startswith("__"):
            continue
        func = getattr(cls, name)
        def woofer(*args, **kw):
            print("Woof")
            return func(*args, **kw)
        setattr(cls, name, woofer)
    return cls
The essence of the decorator is to iterate over the class's __dict__, ignoring the so-called "dunder" names. Strictly we should perhaps also check that the name ends as well as begins with a double underscore, but it does not affect the example. Each method is then replaced with a wrapped version of itself that prints "Woof" before calling the original method.
This seemed to work fine on a class with a single method. In [3]:
@barking
class dog_1:
    def shout(self):
        print("hello from dog_1")

d1 = dog_1()
d1.shout()
Woof
hello from dog_1

I then defined a further class that inherited from dog_1 with two additional methods, and decorated that. The inheritance is irrelevant: the significant fact is that two methods will be processed in the decorator loop, but it does demonstrate that superclass attributes do not appear in the subclass's __dict__. In [4]:
@barking
class dog_3(dog_1):
    def wag(self):
        print("a dog_3 is happy")
    def sniff(self):
        print("a dog_3 is curious")

d3 = dog_3()
d3.wag(); d3.sniff(); d3.shout()
Woof
a dog_3 is curious
Woof
a dog_3 is curious
Woof
hello from dog_1

You have probably spotted the error already: calling both the wag() and the sniff() methods gives the same result, which is to say that both wrapped methods in fact call the same original method. Unfortunately I missed this during development and production of the video code, but it was soon picked up by an eagle-eyed viewer who reported it via O'Reilly's web site. The Explanation When a nested function makes references to variables in the containing function (non-local references) it is known as a closure. The interpreter has to ensure that the values referred to are still available after the call to the outer function terminates and the function call namespace is destroyed - otherwise, referenced objects could become garbage if the terminating function contained the only reference to the value. It does so by generating a cell object and storing the value in an element of the function's __closure__ attribute, which is either None if the function does not refer to non-local cells or a tuple of non-local references. The next two code blocks each define a function. The first is a regular function without non-local references, the second is a closure with a reference to the name x from the enclosing function's namespace. You can see the difference in the bytecode reported by the dis module, and also that they return different results when created with and called with the same arguments. In [5]:
def f_non_closure(x):
    def inner(y):
        return y
    return inner

non_closure = f_non_closure(240)
dis(non_closure)
print("Value =", non_closure(128))
  3           0 LOAD_FAST                0 (y) 
              3 RETURN_VALUE         
Value = 128

In [6]:
def f_closure(x):
    def inner(y):
        return x
    return inner

closure = f_closure(240)
dis(closure)
print("Value =", closure(128))
  3           0 LOAD_DEREF               0 (x) 
              3 RETURN_VALUE         
Value = 240

You can clearly see the difference in the code. The non-closure uses a LOAD_FAST operation that loads a local value from element 0 of the local namespace. The closure uses LOAD_DEREF, which loads a value from the function's __closure__ attribute. So let's take a look at the __closure__ of both functions. In [7]:
print(non_closure.__closure__)
print(closure.__closure__)
None
(<cell at 0x10bbcb9f0: int object at 0x10a953ba0>,)

Unsurprisingly the regular function does not have a value for its _closure__ attribute. The closure, however, does - it is a tuple of cell objects, created by the interpreter. And if we want, we can obtain the values associated with the cells. In [8]:
print(closure.__closure__[0].cell_contents)
240

This should make it obvious that the cell objects in the __closure__ tuple are there so that values from the enclosing namespace remain available after that namespace has been destroyed. Those values herefore do not become garbage when the enclosing function terminates, returning the inner function (which is a closure). And the LOAD_DEREF 0 opcode simply loads the contents of the cell. It puts the function's __closure__[0].cell_contents onto the stack to be used (in this case) as a return value (and because it's written in C, it's much faster than the Python). Let's complicate things a little by writing a function that returns a tuple of functions. The intention is that each function returned in the tuple should add successively larger numbers to its argument x: the first one should return x+0, the second x+1, the third x+2 and so on. You find, however, that this does not happen. In [9]:
def multiple_closures(n):
    functions = []
    for i in range(n):
        def inner(x):
            return x+i
        functions.append(inner)
        print(inner, "Returned", inner(10), inner.__closure__[0])
    return functions

functions = multiple_closures(3)
print([f(10) for f in functions])
<function multiple_closures.<locals>.inner at 0x10c808440> Returned 10 <cell at 0x10c817948: int object at 0x10a951da0>
<function multiple_closures.<locals>.inner at 0x10c808560> Returned 11 <cell at 0x10c817948: int object at 0x10a951dc0>
<function multiple_closures.<locals>.inner at 0x10c808050> Returned 12 <cell at 0x10c817948: int object at 0x10a951de0>
[12, 12, 12]

The output above might at first glance seem confusing. During creation of the functions inside multiple_closures() they appear to work perfectly well. After returning from that function, however, they all return the same result when called with the same argument. We can find out why by examining the __closure__ of each function. In [10]:
for f in functions:
    print(f.__closure__[0])
<cell at 0x10c817948: int object at 0x10a951de0>
<cell at 0x10c817948: int object at 0x10a951de0>
<cell at 0x10c817948: int object at 0x10a951de0>

The reason that the functions all give the same result is that they all use the same cell in their __closure__. The interpreter assumes that since all functions refer to the same local variable they can all be represented by the same cell (despite the fact that the variable had different values at the different times it was used in different functions). Precisely the same thing is happening with the decorators in Intermediate Python. If you read the code of the barking() decorator carefully you can see that name, func and woofer are all names local to the barking() decorator function, and that func is used inside the inner function, making it a closure. Which means that all the methods end up referring to the last method processed, apparently in this case sniff(). In [11]:
print(d3.wag.__closure__[0].cell_contents.__name__) # In Python 2, use __func__
print(d3.sniff.__closure__[0].cell_contents.__name__) # In Python 2, use __func__
sniff
sniff

It now becomes obvious that the func references in the inner woofer() function are all using the same local variable, which is represented by the same cell each time the loop body is executed. Hence, since a cell can only have a single value, they all refer to the same method. In [12]:
print(d3.sniff.__closure__)
print(d3.wag.__closure__)
(<cell at 0x10c817788: function object at 0x10c81f4d0>,)
(<cell at 0x10c817788: function object at 0x10c81f4d0>,)

Is This a Bug? I suspect this question is above my pay grade. It would certainly be nice if I could get this code to work as-is, but the simple fact is that at present it won't. Whether this is a bug I am happy to leave to the developers, so I will post an issue on bugs.python.org and see what they have to say. There's also the question of whether any current code is likely to be relying on this behavior (though I rather suspect not, given its unhelpful nature) - backwards compatibility should ideally not be broken. Workaround The issue here is that different uses of the same non-local variable from a function will always reference the same cell, and no matter what the value was at the time it was referenced the cell always contains the final value of that variable.
So a fairly simple, though somewhat contorted, workaround is to avoid multiple uses of the same non-local variable in different closures. In [13]:
def isolated_closures(n):
    functions = []
    for i in range(n):
        def wrapper(i=n):
            def inner(x):
                return x+i
            return inner
        f = wrapper(i)
        functions.append(f)
        print(f, "Returned", f(10), f.__closure__[0])
    return functions

functions = isolated_closures(3)
print([f(10) for f in functions])
<function isolated_closures.<locals>.wrapper.<locals>.inner at 0x10c826c20> Returned 10 <cell at 0x10c817e88: int object at 0x10a951da0>
<function isolated_closures.<locals>.wrapper.<locals>.inner at 0x10c8264d0> Returned 11 <cell at 0x10c817ec0: int object at 0x10a951dc0>
<function isolated_closures.<locals>.wrapper.<locals>.inner at 0x10c826b00> Returned 12 <cell at 0x10c817ef8: int object at 0x10a951de0>
[10, 11, 12]

In the code above, inner() is still a closure, but each time it is defined the definition takes plce in a different local namespace associated with a new call to wrapper(), and so each cell is a reference to a different local (to wrapper() - nonlocal to inner()) variable, and they do not collide with each other. Redefining the barking() decorator as follows works the same trick for that. In [14]:
def barking(cls):
    for name in cls.__dict__:
        if name.startswith("__"):
            continue
        func = getattr(cls, name)
        def wrapper(func=func):
            def woofer(*args, **kw):
                print("Woof")
                return func(*args, **kw)
            return woofer
        setattr(cls, name, wrapper(func))
    return cls
In [15]:
@barking
class dog_3(dog_1):
    def wag(self):
        print("a dog_3 is happy")
    def sniff(self):
        print("a dog_3 is curious")

d3 = dog_3()
d3.wag(); d3.sniff(); d3.shout()
Woof
a dog_3 is happy
Woof
a dog_3 is curious
Woof
hello from dog_1

This issue was quite fascinating to debug, and has led me to a much greater understanding of exactly how closures work in Python (though I still have to investigate some details). If I get time I may take a look at the CPython source to determine whether a fix can easily be made, but I wouldn't hold your breath. At this stage I have found the workaround I needed, and so will be able to respond to the viewer who raised it in the first place.
tag:blogger.com,1999:blog-496482.post-2331798667505665317
Extensions
Neat Notebook Trick
arthritisfernando pereziPython Notebookopen sourcepyconpythonraymond hettinger
Show full content
I'm still trying to digest the little I saw of PyCon. Sadly I was pretty wiped out by the three-day recording session for Intermediate Python in California and then the intensive editing work that followed to help the amazing O'Reilly team get the whole thing ready a day before PyCon officially opened.

I also made the tactical (and, as it turned out, strategic) mistake of choosing to stay at the Hyatt in Montreal. This meant a considerable walk (for a gimpy old geezer such as myself) to the conference site, when the Palais des Congres is already intimidatingly large.

So the combination of exhaustion and knee pain meant I hardly got to see any talks (not totally unheard of) but that I also got very little time in the hallway track either. Probably the most upsetting absence was missing the presentation of Raymond Hettinger's Lifetime Achievement Award. As a PSF director I instituted the Community Service Awards, but these have never really been entirely appropriate for developers. This award makes it much clearer just how significant Raymond's contributions have been.

Because of the video releases I did spend some time of the O'Reilly stand, and signed away 25 free copies of the videos. I was also collecting names and addresses to distribute free copied of the Python Pocket Reference. If you filled out a form, you should receive your book within the next three weeks. We'll mail you with a more exact delivery date shortly.

But the real reason for this post is that I had the pleasure of meeting Fernando Perez, one of the leaders of the IPython project. He was excited to hear that the Intermediate Python notebooks are already available on Github, and when he realized the notebooks were all held in the same directory he showed me that if I dropped that URL into the Notebook Viewer site I would get a web page with links to viewable versions of the notebook. [Please note: they aren't currently optimally configured for reading, so it's still best to run the notebooks interactively, but in the absence of a local notebook server this will be a lot better than nothing. It will get better over time].

He also mentioned a couple of other wrinkles I hadn't picked up on, and we briefly discussed some of the interesting aspects of Notebooks being data structures.

The conversation was interesting enough that I plan to visit Berkeley soon to try and infiltrate my way into the documentation team and see if we can't make the whole system even easier to use and understand. One way or another, open source seems to be in my bloodstream.


tag:blogger.com,1999:blog-496482.post-7157824458704042538
Extensions