Planet Python

Subscribe to Planet Python feed
Planet Python - http://planetpython.org/
Updated: 5 hours 30 min ago

Real Python: Creating Asynchronous Tasks With Celery and Django

Tue, 2024-03-05 09:00

You’ve built a shiny Django app and want to release it to the public, but you’re worried about time-intensive tasks that are part of your app’s workflow. You don’t want your users to have a negative experience navigating your app. You can integrate Celery to help with that.

Celery is a distributed task queue for UNIX systems. It allows you to offload work from your Python app. Once you integrate Celery into your app, you can send time-intensive tasks to Celery’s task queue. That way, your web app can continue to respond quickly to users while Celery completes expensive operations asynchronously in the background.

In this video course, you’ll learn how to:

  • Recognize effective use cases for Celery
  • Differentiate between Celery beat and Celery workers
  • Integrate Celery and Redis in a Django project
  • Set up asynchronous tasks that run independently of your Django app
  • Refactor Django code to run a task with Celery instead

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

PyCharm: Deploying Django Apps in Kubernetes

Tue, 2024-03-05 05:55

As an open-source container orchestration platform that automates deployment, scaling, and load balancing, Kubernetes offers unparalleled resilience and flexibility in the management of your Django applications.

Whether you’re launching a small-scale project or managing a complex application, Kubernetes provides a robust environment to enhance your Django application, ensuring it’s ready to meet the demands of modern web development.

By automating the deployment, scaling, and operation of containerized applications, Kubernetes (or K8s) provides numerous benefits for organizations in the fast-paced tech industry.

Whether you’re a Django developer looking to enhance your deployment skills or a Kubernetes enthusiast eager to explore Django integration, this guide has something for everyone.

The introduction to this tutorial explores the symbiotic relationship between Django and Kubernetes, enabling you to seamlessly containerize your web application, distribute workloads across clusters, and ensure high availability.

Django

The Django framework, a high-level Python web framework, stands as a beacon of efficiency and simplicity in the world of web development. Born out of the need to create rapid, robust, and maintainable web applications, Django has become a go-to choice for developers and organizations.

At its core, Django embraces the “batteries-included” philosophy, offering an extensive array of built-in tools, libraries, and conventions that facilitate the development process. It simplifies complex tasks like URL routing, database integration, and user authentication, allowing developers to focus on building their applications.

One of Django’s foremost benefits is its adherence to the “Don’t repeat yourself” (DRY) principle, reducing redundancy and enhancing code maintainability. It also follows the model-view-controller (MVC) architectural pattern, making applications structured and easy to manage.

Django also prioritizes security, making it less prone to common web vulnerabilities. It includes features like cross-site scripting (XSS) and cross-site request forgery (CSRF) protection out of the box. Offering a potent combination of speed, simplicity, and security, Django is an ideal choice for developers looking to create robust, feature-rich web applications with minimal effort.

Container orchestrators

Container orchestrators are essential tools for managing and automating the deployment, scaling, and operation of containerized applications. There are several container orchestrators available on the market, the most popular of which include:

1. Kubernetes, the top open-source container orchestration platform, offers a robust and adaptable environment for handling containerized applications. It automates tasks such as scaling, load balancing, and container health checks, with a broad extension ecosystem.

2. Docker Swarm is a container orchestration solution provided by Docker. Designed to be simple to set up and use, it’s a good choice for smaller applications or organizations already using Docker as it uses the same command-line interface and API as Docker.

3. OpenShift is an enterprise Kubernetes platform developed by Red Hat. It adds developer and operational tools on top of Kubernetes, simplifying the deployment and management of containerized applications.

4. Nomad, developed by HashiCorp, is a lightweight and user-friendly orchestrator capable of managing containers and non-containerized applications.

5. Apache Mesos is an open-source distributed system kernel, and DC/OS (data center operating system) is an enterprise-grade platform built on Mesos. DC/OS extends Mesos with additional features for managing and scaling containerized applications.

Software teams primarily work with managed platforms offered by well-known cloud providers such as AWS, Google Cloud Platform, and Azure. These cloud providers offer services like Amazon EKS, Google GKE, and Azure AKS, all of which are managed Kubernetes solutions. These services streamline the setup, expansion, and administration of Kubernetes clusters and seamlessly integrate with the respective cloud environments, ensuring efficient container orchestration and application deployment.

Creating a Django Application in PyCharm

In this tutorial, we’ll start by generating a minimal Django application. We’ll then containerize the application and, in the final step, deploy it to a local Kubernetes cluster using Docker Desktop.

If you’re new to working with the Django framework but are eager to create a Django application from scratch, read this blog post.

You can access the source code used in this tutorial here.

Let’s begin by creating a new Django application in PyCharm.

To create your project, launch PyCharm and click New Project. If PyCharm is already running, select File | New Project from the main menu.

Furnish essential details such as project name, location, and interpreter type, utilizing either venv or a custom environment.

Then, click Create.

PyCharm will do the heavy lifting by setting up your project and creating the virtual environment.

Gunicorn

Once the project has been created, install Gunicorn – a popular Python web server gateway interface (WSGI) HTTP server. A pre-fork worker model web server used to serve Python web applications, Gunicorn is often used in combination with web frameworks like Django, Flask, and others to deploy web applications and make them accessible over the internet.

The Python Packages tool window provides the quickest and easiest way to preview and install packages for the currently selected Python interpreter.

You can open the tool window via View | Tool Windows | Python Packages.

Psycopg 2

Psycopg 2 is a Python library used to connect to and interact with PostgreSQL databases. It provides a Python interface for working with PostgreSQL, one of the most popular open-source relational database management systems. Psycopg 2 allows Python developers to perform various database operations, such as inserting, updating, and retrieving data, as well as executing SQL queries, and managing database connections from within Python programs.

Before installing psycopg2, you need to install the system-level dependencies, brew install libpq for macOS, and apt-get install libpq-dev for Linux.

Reference: postgresql.org/docs/16/libpq.html

libpq is the client library for PostgreSQL. It’s a C library that provides the necessary functionality for client applications to connect to, interact with, and manage PostgreSQL database servers. 

After completing the particular modifications, update the section within settings.py related to DATABASES.

Always make sure to pass your secret credentials through environment variables.

STATIC_ROOT

In Django, STATIC_ROOT is a configuration setting used to specify the absolute file system path where collected static files will be stored when you run the collectstatic management command. Static files typically include CSS, JavaScript, images, and other assets used by your web application. The STATIC_ROOT setting is an essential part of serving static files in a production environment.

Set an environment variable for STATIC_ROOT at line 127. This variable will point to a file path that leads to a Kubernetes persistent volume. I’ll explain later how to configure this setup.

To collect static files, run the following command:

python manage.py collectstatic

This command will gather the static files and place them in the STATIC_ROOT directory. You can then serve these assets directly through an NGINX or Apache web server – a more efficient approach for production environments.

Dockerfile

A Dockerfile is a straightforward textual document containing directives for constructing Docker images.

1. FROM python:3.11: This line specifies the base image for the Docker image using the official Python 3.11 image from Docker Hub. The application will be built and run on top of this base image, which already has Python pre-installed.

2. ENV PYTHONUNBUFFERED 1: This line sets an environment variable PYTHONUNBUFFERED to 1. It’s often recommended to set this environment variable when running Python within Docker containers to ensure that Python doesn’t buffer the output. This helps in getting real-time logs and debugging information from the application.

3. WORKDIR /app: This line sets the working directory within the Docker container to /app. All subsequent commands will be executed in this directory.

4. COPY . /app: This line copies the contents of the current directory (the directory where the Dockerfile is located) to the /app directory within the container. This includes your application code and any files needed for the Docker image.

5. RUN pip install -r requirements.txt: This line runs the pip install command to install the Python dependencies listed in a requirements.txt file located in the /app directory. This is a common practice for Python applications as it allows you to manage the application’s dependencies.

6. EXPOSE 8000: This line informs Docker that the container listens on port 8000. It doesn’t actually publish the port. It’s a metadata declaration to indicate which ports the container may use.

7. CMD ["gunicorn", "django_kubernetes_tutorial.wsgi:application", "--bind", "0.0.0.0:8000"]: This line specifies the default command to run when the container starts. It uses Gunicorn to serve the Django application and binds Gunicorn to listen on all network interfaces (0.0.0.0) on port 8000 using the WSGI application defined in django_kubernetes_tutorial.wsgi:application.

DockerHub

Visit hub.docker.com and proceed to either log in or sign up on the platform.

Click on Create repository.

Next, provide the repository name and make the visibility public. If you’re working with sensitive or confidential information, set the visibility to Private.

Once the repository has been created, you need to build the docker image and then push the image to the registry.

Before executing the command, ensure that your requirements.txt file is current by running the following command:

pip freeze > requirements.txt

To construct an image, execute the following command: 

docker build -t mukulmantosh/django-kubernetes:1.0 .

docker build -t <USERNAME>/django-kubernetes:1.0 .

This command will vary depending on your specific circumstances, and you will need to utilize your personal username.

You then need to authenticate with Docker Hub to push the image to the registry.

Type the following command in the terminal:

docker login

Enter your username and password. Once they have been successfully authenticated, you can push the image by running:

docker push mukulmantosh/django-kubernetes:1.0 

docker push <USERNAME>/django-kubernetes:1.0 

Once the image has been successfully pushed, you can observe changes in Docker Hub.

If you don’t plan to push any more images to the registry, you can log out by running the following command:

docker logout

If you want to pull this image locally, visit hub.docker.com/r/mukulmantosh/django-kubernetes.

Kubernetes Configuration: Writing YAML Files

This section of the tutorial describes the deployment of applications to local Kubernetes clusters.

For this tutorial, we will be using Docker Desktop, but you could also use minkube or kind.

Namespaces

In Kubernetes, namespaces is a virtual partition within a cluster that is used to group and isolate resources and objects. It’s a way to create multiple virtual clusters within a single physical cluster. 

You can create and manage namespaces using kubectl, the Kubernetes command-line tool, or by defining them in YAML manifests when deploying resources. 

  • If you’ve chosen Docker Desktop as your preferred platform for running Kubernetes, be sure to enable Kubernetes in the settings by clicking the Enable Kubernetes checkbox.

Run the following command in the terminal to create namespace:

kubectl create ns django-app

Deploying databases with K8s

To begin, let’s establish a PostgreSQL instance in our Kubernetes cluster on the local environment.

PersistentVolume

In Kubernetes, a persistent volume (PV) is a piece of storage in the cluster that an administrator has provisioned. By storing data in a way that is independent of a pod’s life cycle, PVs allow for a more decoupled and flexible management and abstraction of storage resources. This means data can persist even if the pod that uses it is deleted or rescheduled to a different node in the cluster.

Let’s create a persistent volume and name it pv.yml.

This YAML configuration defines a PersistentVolume resource named postgres-pv with a capacity of 1 gigabyte, mounted using the ReadWriteOnce access mode, and provided by a local path on the node’s file system located at /data/db. This PV can be used to provide persistent storage for pods that need access to a directory on the node’s file system and is suitable for applications like PostgreSQL or other stateful services that need persistent storage.

For production, we recommend either using cloud solutions like AWS RDS or Google CloudSQL, or use Kubernetes StatefulSets.

PersistentVolumeClaim

In Kubernetes, a PersistentVolumeClaim (PVC) is a resource object used by a pod to request a specific amount of storage with certain properties from a PV. PVCs act as a way for applications to claim storage resources without needing to know the details of the underlying storage infrastructure.

By creating and using PVCs, Kubernetes provides a way to dynamically allocate and manage storage resources for applications while abstracting the underlying storage infrastructure, making it easier to work with and manage stateful applications in containerized environments.

Let’s create a PVC and name it pvc.yml.

A PVC requests storage resources and is bound to a PV that provides the actual storage. 

This YAML configuration defines a PersistentVolumeClaim named postgres-pvc within the django-app namespace. It requests a gigabyte of storage with the ReadWriteOnce access mode, and it explicitly specifies the manual StorageClass. This PVC is intended to be bound to an existing PV with the name postgres-pv, effectively reserving that volume for use by pods within the django-app namespace that reference this PVC.

ConfigMap

In Kubernetes, a ConfigMap is an API object that is used to store configuration data in key-value pairs. ConfigMaps provides a way to decouple configuration data from the application code, making it easier to manage and update configurations without modifying and redeploying containers. They are especially useful for configuring applications, microservices, and other components within a Kubernetes cluster.

Let’s create a ConfigMap and name it cm.yml.

Although this tutorial uses ConfigMaps, for security considerations, it’s recommended to store sensitive credentials in Kubernetes Secrets or explore alternatives like Bitnami Sealed Secrets, AWS Parameter Store, or HashiCorp Vault.

Deployment

In Kubernetes, a Deployment is a resource object used to manage the deployment and scaling of applications. It’s part of the Kubernetes API group and provides a declarative way to define and manage the desired state of your application.

A Deployment is a higher-level Kubernetes resource used for managing and scaling application pods. 

This YAML configuration defines a Deployment named postgres in the django-app namespace. It deploys a single replica of a PostgreSQL database (version 16.0) with persistent storage. The database pod is labeled as app: postgresdb, and the storage is provided by a PVC named postgres-pvc. Configuration and credentials for the PostgreSQL container are provided via a ConfigMap named db-secret-credentials.

Service

In Kubernetes, a Service is a resource object used to expose a set of pods as a network service. Services enable network communication between different parts of your application running in a Kubernetes cluster and provide a stable endpoint for clients to access those parts. Services abstract the underlying network infrastructure, making it easier to connect and discover the components of your application.

This YAML configuration defines a NodePort Service named postgres-service within the django-app namespace. It exposes the PostgreSQL service running in pods labeled with “app: postgresdb” on port 5432 within the cluster. External clients can access the Service on any node’s IP address using port 30004. This Service provides a way to make the PostgreSQL database accessible from outside the Kubernetes cluster.

Creating YAML configurations for a Django application PersistentVolume

This YAML defines a PersistentVolume named staticfiles-pv with a 1 GB storage capacity, allowing multiple pods to read and write to it simultaneously. The storage is provided by a local host path located at /data/static. The Django static files will be stored at this location.

PersistentVolumeClaim

This YAML defines a PVC named staticfiles-pvc in the django-app namespace. It requests storage with a capacity of at least 1 GB from a PV with the “manual” StorageClass, and it specifies that it needs ReadWriteMany access. The claim explicitly binds to an existing PV named staticfiles-pv to satisfy its storage needs. This allows pods in the django-app namespace to use this PVC to access and use the storage provided by the associated PV.

ConfigMap

This YAML defines a ConfigMap named app-cm in the django-app namespace, and it contains various key-value pairs that store configuration data. This ConfigMap can be used by pods or other resources within the django-app namespace to access configuration settings, such as database connection information and static file paths.

Deployment

This YAML defines a Deployment named django-app-deploy in the django-app namespace. It creates one replica (pod) running a container with a specific Docker image and configuration. The pod is associated with two volumes, postgres-db-storage and staticfiles, which are backed by PVCs. The container is configured to use environment variables from a ConfigMap named app-cm and listens on port 8000. The volumes are mounted at specific paths within the container to provide access to database storage and static files. This Deployment is a common way to run a Django application using Kubernetes.

If you are interested in pulling images from a private registry, then read here

Service

The Service listens on port 8000 and directs incoming traffic to pods labeled with app: django-application. This is a common configuration for exposing and load-balancing web applications in a Kubernetes cluster where multiple instances of the same application are running. The Service ensures that traffic is distributed evenly among them.

NGINX

NGINX is a high-performance web and reverse proxy server known for its speed, reliability, and scalability. It efficiently handles web traffic, load balancing, and content delivery, making it a popular choice for serving websites and applications.

ConfigMap

This YAML defines a Kubernetes ConfigMap named nginx-cm in the django-app namespace, and it contains a key-value pair where the key is default.conf and the value is a multiline NGINX configuration file that proxies the request to the backend server. 

Deployment

This YAML defines a Deployment that creates and manages pods running an NGINX container with specific volumes and configurations. The Deployment ensures that one replica of this pod is always running in the django-app namespace. It also overrides the default NGINX configuration by replacing it with the nginx-cm ConfigMap.

Service

This YAML configuration creates a Kubernetes Service named nginx-service in the django-app namespace. It exposes pods with the label app:nginx on port 80 within the cluster and also makes the Service accessible on NodePort 30005 on each cluster node. This allows external traffic to reach the pods running the NGINX application via the NodePort service.

Managing batch workloads with Kubernetes jobs

In Kubernetes, a Job is a resource object that represents a single unit of work or a finite task. Jobs are designed to run tasks to completion, with a specified number of successful completions. 

Database migration

This YAML configuration defines a Kubernetes Job named django-db-migrations in the django-app namespace. The Job runs a container using a custom Docker image for Django migrations and mounts a PVC to provide storage for database-related files. If the Job fails, it can be retried up to 15 times, and it will retain its pod for 100 seconds after completion. This Job will create new tables in PostgreSQL.

Static files

This YAML configuration defines a Kubernetes Job named django-staticfiles in the django-app namespace. The Job runs a container using a custom Docker image for collecting static files for a Django application and mounts a PVC to provide storage for the static files. If the Job fails, it can be retried up to three times, and it will retain its pod for 100 seconds after completion for debugging purposes. This Job will copy the static files to the mountPath, which is /data/static.

Launching the Application

To launch the application, navigate to the k8s directory and execute the following command:

After deploying the application, use the following command to verify the status of running pods:

kubectl get pods -n django-app -w

Creating a superuser in Django

Once all your applications are up and running, create a superuser to login into the Django admin.

Run the following command to get the list of running pods:

kubectl get pods -n django-app

To get inside the container shell, run:

kubectl exec -it <POD_NAME> -n django-app -- sh

Then, run:

python manage.py createsuperuser

Once you’ve successfully created the superuser, open http://127.0.0.1:30005 in a browser. You will be directed to the default welcome page.

Then, head over to the Django admin via http://127.0.0.1:30005/admin.

Enter the username and password that you’ve just created. 

Once authenticated, you will be redirected to the Django administration page. 

If you try logging through localhost:30005/admin, you might receive a 403 Forbidden (CSRF) error.

You can resolve this in the settings.py file under CSRF_TRUSTED_ORIGINS.

CSRF_TRUSTED_ORIGINS is a setting in Django that is used to specify a list of trusted origins for cross-site request forgery (CSRF) protection. CSRF is a security vulnerability that can occur when an attacker tricks a user into unknowingly making an unwanted request to a web application. To prevent this, Django includes built-in CSRF protection.

CSRF_TRUSTED_ORIGINS allows you to define a list of origins (websites) from which CSRF-protected requests are accepted. Any request originating from an origin not included in this list will be considered potentially malicious and duly blocked.

This setting can be used to allow certain cross-origin requests to your Django application while maintaining security against CSRF attacks. It’s particularly helpful in scenarios where your application needs to interact with other web services or APIs that are hosted on different domains.

If you are using GUI tools like Kubernetes Dashboard, you can easily visualize your running pods, deployments, persistent volumes, etc.

Kubernetes Support in PyCharm 

PyCharm offers an enhanced editor and runtime support tailored for Kubernetes, bringing a host of features to streamline your Kubernetes management, including:

  • Browsing cluster objects, extracting and editing their configurations, and describing them.
  • Viewing events.
  • Viewing and downloading pod logs.
  • Attaching the pod console.
  • Running shell in pods.
  • Forwarding ports to a pod.
  • Applying resource YAML configurations from the editor.
  • Deleting resources from the cluster.
  • Completion of ConfigMap and Secret entries from the cluster.
  • Configuring paths to kubectl.
  • Configuring custom kubeconfig files globally and per project.
  • Switching contexts and namespaces.
  • Using API schema (including CRD) from the active cluster to edit resource manifests.

Watch this video to learn more about working with Kubernetes in PyCharm Professional.

Try PyCharm for your Kubernetes tasks for free!

DOWNLOAD PYCHARM References

Already have a solid understanding of Kubernetes? Then, take the next step in your programming journey by exploring cloud solutions, and check out our tutorials on AWS EKS and Google Kubernetes Engine.

Categories: FLOSS Project Planets

Python Bytes: #373 Changing Directories

Tue, 2024-03-05 03:00
<strong>Topics covered in this episode:</strong><br> <ul> <li><a href="https://github.com/ajeetdsouza/zoxide"><strong>zoxide</strong></a></li> <li><a href="https://rahulpai.co.uk/smart-clis-with-typer.html"><strong>Smart CLIs with Typer</strong></a></li> <li><a href="https://twitter.com/samuel_colvin/status/1763339372361814187?s=12&t=RL7Nk7OAFSptvENxe1zIqA"><strong>Python recommended officially by the US Government</strong></a></li> <li><a href="https://www.blog.pythonlibrary.org/tag/tui/"><strong>Textual tutorials at Mouse vs Python</strong></a></li> <li><strong>Extras</strong></li> <li><strong>Joke</strong></li> </ul><a href='https://www.youtube.com/watch?v=AbCuv0wuzP0' style='font-weight: bold;'data-umami-event="Livestream-Past" data-umami-event-episode="373">Watch on YouTube</a><br> <p><strong>About the show</strong></p> <p>Sponsored by ScoutAPM: <a href="https://pythonbytes.fm/scout"><strong>pythonbytes.fm/scout</strong></a></p> <p><strong>Connect with the hosts</strong></p> <ul> <li>Michael: <a href="https://fosstodon.org/@mkennedy"><strong>@mkennedy@fosstodon.org</strong></a></li> <li>Brian: <a href="https://fosstodon.org/@brianokken"><strong>@brianokken@fosstodon.org</strong></a></li> <li>Show: <a href="https://fosstodon.org/@pythonbytes"><strong>@pythonbytes@fosstodon.org</strong></a></li> </ul> <p>Join us on YouTube at <a href="https://pythonbytes.fm/stream/live"><strong>pythonbytes.fm/live</strong></a> to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too.</p> <p><strong>Michael #1:</strong> <a href="https://github.com/ajeetdsouza/zoxide"><strong>zoxide</strong></a></p> <ul> <li>zoxide is a smarter cd command, inspired by z and autojump.</li> <li>It remembers which directories you use most frequently, so you can "jump" to them in just a few keystrokes.</li> <li>zoxide works on all major shells and platforms.</li> </ul> <p><strong>Brian #2:</strong> <a href="https://rahulpai.co.uk/smart-clis-with-typer.html"><strong>Smart CLIs with Typer</strong></a></p> <ul> <li>Rahul Pai</li> <li>Lots of TILs here, even though I’ve been using Typer for years.</li> <li>Examples of <ul> <li>Auto-detection of arguments and types based on type hints</li> <li>Help text is a smidge clunkier</li> <li>Prompting for missing arguments </li> <li>Defaulting to an enviromental variable for missing args</li> <li>Print help if no args given</li> <li>Explicit app and subcommands with a comparison to argparse</li> <li>Reusable commands with result_callback </li> </ul></li> <li>Several topics covered in comparison with argparse</li> <li>See also <a href="https://pythontest.com/testing-argparse-apps/">Testing argparse Applications</a></li> </ul> <p><strong>Michael #3:</strong> <a href="https://twitter.com/samuel_colvin/status/1763339372361814187?s=12&t=RL7Nk7OAFSptvENxe1zIqA"><strong>Python recommended officially by the US Government</strong></a></p> <ul> <li>The US government explicitly recommends memory safe languages.</li> <li>Python is one of them</li> <li>The comparison to big tech by Samuel is interesting</li> </ul> <p><strong>Brian #4:</strong> <a href="https://www.blog.pythonlibrary.org/tag/tui/"><strong>Textual tutorials at Mouse vs Python</strong></a></p> <ul> <li>Mike Driscoll</li> <li>Most recently <a href="https://www.blog.pythonlibrary.org/2024/02/06/creating-a-modal-dialog-for-your-tuis-in-textual/">Creating a Modal Dialog For Your TUIs in Textual</a></li> <li>Textualize already has some pretty great documentation at <a href="https://textual.textualize.io">textual.textualize.io</a></li> <li>But it’s cool to see some different tutorials on it.</li> </ul> <p><strong>Extras</strong> </p> <p>Brian: </p> <ul> <li><a href="https://www.youtube.com/watch?v=_FdjW47Au30">Is UV the FUTURE of Python PACKAGING? 🐍📦</a> - Hynek <ul> <li>Nice context on how uv fits into all of the existing packaging challenges and some hope for the future.</li> </ul></li> <li>venmo feed is public by default</li> </ul> <p>Michael:</p> <ul> <li><a href="https://ngrok.com/blog-post/ngrok-python">ngrok Python SDK</a></li> <li><a href="https://talkpython.fm/episodes/show/451/djangonauts-ready-for-blast-off">Djangonauts on Talk Python</a></li> <li>Maybe <a href="https://python-bytes-static.nyc3.digitaloceanspaces.com/yellow-phone.jpg">just a new case</a> and <a href="https://support.apple.com/iphone/repair/battery-replacement">battery</a> for your phone?</li> </ul> <p><strong>Joke:</strong> <a href="https://workchronicles.com/narrator-they-did-not-in-fact-delegate-maintenance/">Ship it</a>!</p>
Categories: FLOSS Project Planets

CodersLegacy: Exploring Data Tables in Tkinter with PandasTable

Mon, 2024-03-04 15:18

In this tutorial, we will delve into the powerful combination of Pandas and Tkinter through the PandasTable library. PandasTable provides a convenient way to display and interact with pandas DataFrames in a Tkinter GUI.

Prerequisites:
  1. Basic knowledge of Python and Tkinter.
  2. Some Familiarity with Pandas and DataFrames.

You will also need to install the pandas and pandastable libraries. Run the following commands to do so:

pip install pandas pip install pandastable Creating Interactive Data Tables with PandasTable in Tkinter

Let’s start by importing the required libraries for our tutorial.

import tkinter as tk from pandastable import Table, TableModel import pandas as pd

Create a class for your application and initialize the main Tkinter window.

class PandasTableApp: def __init__(self, root): self.frame = tk.Frame(root) self.frame.pack(padx=10, pady=10)

Next, we need to define a DataFrame with some sample data, which we will feature in our PandasTable.

# Create a sample DataFrame data = {'Name': ['John', 'Alice', 'Bob'], 'Age': [28, 24, 22], 'City': ['New York', 'San Francisco', 'Los Angeles']} df = pd.DataFrame(data)

Now, create a PandasTable widget and display the DataFrame within the Tkinter window. Remember to call the show function, as it is responsible for visually rendering (or updating) the PandasTable.

# Create a PandasTable self.table = Table(self.frame, dataframe=df, showtoolbar=True, showstatusbar=True) self.table.show()

Tip: Don’t ever put the root window as the PandasTable object’s parent (first parameter). You must use a container type object, such as a frame as the parent.

Complete the script with the Tkinter main loop.

if __name__ == "__main__": root = tk.Tk() app = PandasTableApp(root) root.mainloop()

This gives us the following output:

You can see the Toolbar on the right which comes with a whole bunch of cool features, such as saving the table and loading it. Various mutations you can apply, deleting rows, adding rows, zoom features, even some advanced plotting features, you name it!

Modifying the PandasTable directly

Most the functions are fairly intuitive, so there is little need to explain how to use them. Instead, there is another important aspect we will focus on explaining.

As a programmer, you need to know how to modify this table internally (through code). In the previous example, we initialized the table with a dataframe, but what if we want to make modifications (e.g. load another dataframe, or add a new record).

To do so, you can access the dataframe using the table.model.df attributes. The following code defines a function which modifies the table by adding a new row:

import tkinter as tk from pandastable import Table, TableModel import pandas as pd class PandasTableApp: def __init__(self, root): self.frame = tk.Frame(root) self.frame.pack(padx=10, pady=10) # Create a sample DataFrame data = {'Name': ['John', 'Alice', 'Bob'], 'Age': [28, 24, 22], 'City': ['New York', 'San Francisco', 'Los Angeles']} self.df = pd.DataFrame(data) # Create a PandasTable self.table = Table(self.frame, dataframe=self.df, showtoolbar=True, showstatusbar=True) self.table.show() self.modify_table() def modify_table(self): new_row = {'Name': 'Eve', 'Age': 25, 'City': 'Paris'} self.df = self.df._append(new_row, ignore_index=True) self.table.model.df = self.df self.table.redraw() if __name__ == "__main__": root = tk.Tk() app = PandasTableApp(root) root.mainloop()

Note that we used the redraw function after making the changes. This function is required for the changes to visually update.

As you can see, our new row has been added:

This marks the end of the Tkinter with PandasTable tutorial. Any suggestions or contributions for CodersLegacy are more than welcome. Questions regarding the tutorial content can be asked in the comments section below.

The post Exploring Data Tables in Tkinter with PandasTable appeared first on CodersLegacy.

Categories: FLOSS Project Planets

TechBeamers Python: Generate Random IP Address (IPv4/IPv6) in Python

Mon, 2024-03-04 14:01

This tutorial dives into the world of generating random IP addresses in Python. It’ll first walk you through the concept of IP addresses and describe the two main versions (IPv4 and IPv6). After that, it’ll equip you with the knowledge and code to create your random IP address generator. Side by side, it’ll highlight potential […]

The post Generate Random IP Address (IPv4/IPv6) in Python appeared first on TechBeamers.

Categories: FLOSS Project Planets

EuroPython: EuroPython March 2024 Newsletter

Mon, 2024-03-04 12:07

Hey ya &#x1F44B; hope you are having a good start to 2024 ❤️

It&aposs been a dog’s age since we last spoke. In case you don’t know the reason for our hiatus: we took Elmo’s question of “How is everybody doing?” to its core and had to face the inner truths of our existence.

Luckily, soon the days got longer and the word news got worse so we had to unlock our doors and come out to organise the bestest of conferences!

We are now pumped to get things rolling and ready to cook up an awesome experience for EuroPython 2024 &#x1F680;

&#x1F1E8;&#x1F1FF;EuroPython 2024 - Prague Congress Centre 08-14 July

We are coming back to Prague! We loved last year so much that we decided to have EuroPython 2024 at the Prague Congress Centre again between the 8th and 14th of July, 2024. To stay up to date with the latest news, please visit our website.

We also encourage you to sign up to our monthly community newsletter.

Mr. Bean knows thingsCall for Proposals &#x1F40D;

The call for proposals for EuroPython 2024 is OPEN! &#x1F389;

This year we’re aiming for a similar schedule as last year, i.e. around 120 talks, more or less 16 tutorials, posters and special events.

  • Tutorials/Workshops (8-9 July): will be hands-on 180 min sessions with 40-100 participants
  • Talks (10-12 July) : 30 or 45 min length presentations of specific and general interest to the European Python community (including a dedicated PyData track).

We are looking for sessions of all levels: beginner, intermediate, and advanced.

You are also welcome to submit posters! They will be printed in large formats. This is a graphical way to showcase your research, project or technology. Posters are exhibited at the conference, can be read at any time by participants, and can be discussed face-to-face with their authors during the Poster Sessions (between July 10th and 12th).

No matter your level of Python or public speaking experience, EuroPython&aposs job is to help you bring yourself to our community so we all flourish and benefit from each other&aposs experience and contribution. &#x1F3C6;

The deadline for submission is March 6th, 2024 Anywhere on Earth.

We would love to see your proposals bubbling in there. Help us make 2024 the year of another incredible EuroPython!

For more information, have a look at https://ep2024.europython.eu/cfp.

Speaker&aposs Mentorship Programme &#x1F3A4;

The Speaker&aposs Mentorship Programme is back for EuroPython 2024!

We had a call for mentees and mentors last month and it was a huge success &#x1F680;So far, we have managed to match 28 speakers to diligent mentors.

On the 26th of February, we hosted an Ask me Anything session for all the people interested in submitting a proposal. Our programme team was there and answered all the questions raised by interested speakers. We clarified information about the Call for Proposals and shared knowledge about Financial Aid, amongst other info.

If you are curious and would like to see what was discussed, the session recording can be found on YouTube at: https://youtu.be/EiCfmf6QVIA

Call for ContributorsConference Organisers &#x1F4AA;

To the wonderful humans who signed up to help organise the EuroPython Conference itself, thank you! We are late in replying to everyone and we are thankful for your patience. We got caught between dengue fevers &#x1F99F; and carnivals &#x1F38A;.

The good news is that we are now back on track and will reach out to everyone this week.

We had a lot of applications this year, so a selection process was required. But fear nothing! In case you don’t get to work with the most fun team of all time, there is always next year. &#x1F31F;

We look forward to working together to make this conference an unforgettable experience for everyone involved &#x1F4BC;✨

Speaker’s mentors &#x1F38F;

For everyone who signed up to either mentor on the Speaker’s Mentorship Programme, a HUGE thank you! This would not be possible without your collaboration and work. We are so very proud to have you around learning and sharing and strengthening the community.

We truly hope you take advantage of the opportunity and develop the skills you’re looking for. After all, we believe the best way to learn is to teach. &#x1F4DA;✨

Proposal Reviewers &#x1F4D4;

We also announced the Call for Proposal Reviewers. These awesome volunteers are the people who review the proposal’s submissions and vote on the ones which they think are more suitable for making up the conference&aposs programme.

This is very crucial work as it plays a significant part in shaping the EuroPython 2024 schedule!

A massive thank you to everyone who has filled the form to help. You will get a cucumber lollipop as a sign of our affection. &#x1F36D;

We will contact you by the end of the Call for Proposals to coordinate all the fun stuff. Please, keep an eye out for our email this month so we can start the labour. ⚒️

Fáilte Ireland Award &#x1F3C6;

The 2022 edition of the EuroPython Conference (EPC) was in Dublin, Ireland. More old news? You bet! But this time it is relevant because in November 2023, the 21st edition of the EPC was awarded a Conference Ambassador Recognition Award from Fáilte Ireland, the National Tourism Development Authority for the country.

The evening was fantastic and a delightful way to acknowledge the people and businesses who have hosted conference events on the little Emerald Island. This is our first prize. We’re feeling proud and happy and wanted to share the news! &#x1F947;

One of our members wrote more about the experience on LinkedIn.

Laís Carvalho (EuroPython) and Nicolas Laurance (Python Ireland) hold the Irish-sized whiskey glass awarded &#x1F943; from Failte IrelandEPS Board

We have a new Board for 2023-2024.

If you want to learn the names of the new board members, head over to the article on our website: https://www.europython-society.org/eps-board-2023-2024/

TL;DR: We hope to do a fine job this year and help the European Python community thrive even more!

If you want to talk to us about anything, give feedback, or ask for a partner to count the stars beside you, shoot us an email at board@europython.eu.

Upcoming Events in Europe

Here are some Python events happening in Europe in the near future.

PyCon Slovakia: March 15-17 2024

PyCon SK will happen in the wonderful city of Bratislava! The conference is organised by the civic association SPy, which focuses on the promotion and dissemination of the Python programming language and other open-source technologies and ideas.

Check out their programme here: https://2024.pycon.sk/en/speakers/index.html. More information can be found on their website: https://2024.pycon.sk/en/index.html

PyCon DE & PyData Berlin: April 22-24 2024

Immerse yourself in three days of Python and PyData excellence at our community-driven conference in the vibrant heart of Berlin. From workshops to live keynote sessions, connect with fellow enthusiasts and experts alike! Join fellow Pythonistas at the iconic BCC venue at Alexanderplatz where we actually hosted EuroPython 2014! Check out their website for more info: https://2024.pycon.de/

PyCon Italy: May 22-25 2024

PyCon Italia 2024 will happen in Florence. The birthplace of Renaissance will receive a wave of Pythonistas looking to geek out this year. The schedule is online and you can check it out at their cutely animated website ( https://2024.pycon.it/). Beginners will have a special treat by having a full day of activities on May 22nd. Starting with Workshops about Python, Data Science, and Public Speaking.

It’s time to get tickets!

GeoPython: May 27-29 2024

GeoPython 2024 will happen in Basel, Switzerland. Focused on exploring the fascinating fusion of Python programming and the boundless world of Geo, the 9th edition of GeoPython has already published a preliminary schedule (here: https://2024.geopython.net/schedule).

For more information about GeoPython 2024, you can visit their website here: https://2024.geopython.net/

Djangocon.eu: June 5-9 2024

DjangoCon Europe 2024 will happen in Vigo, Spain. Organized by Django practitioners from all levels, the 16th edition of the Conference will be hosted in the beautiful Galician city, famous for its amazing food & the Illas Atlanticas.

You can check more information about Django Con Europe at their lovely website: https://2024.djangocon.eu/

Py.Jokespip install pyjokesimport pyjokesprint(pyjokes.get_joke()) Child: Dad, why does the Sun rise in the East and set in the West? Dad: Son, it&aposs working, don&apost touch it! That&aposs all, folks! &#x1F3C1;

Thanks for reading along.

We will have a regular monthly appearance in your inbox from now on. We are happy to tailor our future editions to accommodate what you&aposd like to see here. Influence what gets to your inbox by dropping us a line at communications@europython.eu

With joy and excitement,

EuroPython 2024 Team &#x1F917;

Categories: FLOSS Project Planets

Real Python: Python's __all__: Packages, Modules, and Wildcard Imports

Mon, 2024-03-04 09:00

Python has something called wildcard imports, which look like from module import *. This type of import allows you to quickly get all the objects from a module into your namespace. However, using this import on a package can be confusing because it’s not clear what you want to import: subpackages, modules, objects? Python has the __all__ variable to work around this issue.

The __all__ variable is a list of strings where each string represents the name of a variable, function, class, or module that you want to expose to wildcard imports.

In this tutorial, you’ll:

  • Understand wildcard imports in Python
  • Use __all__ to control the modules that you expose to wildcard imports
  • Control the names that you expose in modules and packages
  • Explore other use cases of the __all__ variable
  • Learn some benefits and best practices of using __all__

To get the most out of this tutorial, you should be familiar with a few Python concepts, including modules and packages, and the import system.

Get Your Code: Click here to download the free sample code that shows you how to use Python’s __all__ attribute.

Importing Objects in Python

When creating a Python project or application, you’ll need a way to access code from the standard library or third-party libraries. You’ll also need to access your own code from the multiple files that may make up your project. Python’s import system is the mechanism that allows you to do this.

The import system lets you get objects in different ways. You can use:

  • Explicit imports
  • Wildcard imports

In the following sections, you’ll learn the basics of both strategies. You’ll learn about the different syntax that you can use in each case and the result of running an import statement.

Explicit Imports

In Python, when you need to get a specific object from a module or a particular module from a package, you can use an explicit import statement. This type of statement allows you to bring the target object to your current namespace so that you can use the object in your code.

To import a module by its name, you can use the following syntax:

Python import module [as name] Copied!

This statement allows you to import a module by its name. The module must be listed in Python’s import path, which is a list of locations where the path based finder searches when you run an import.

The part of the syntax that’s enclosed in square brackets is optional and allows you to create an alias of the imported name. This practice can help you avoid name collisions in your code.

As an example, say that you have the following module:

Python calculations.py def add(a, b): return float(a + b) def subtract(a, b): return float(a - b) def multiply(a, b): return float(a * b) def divide(a, b): return float(a / b) Copied!

This sample module provides functions that allow you to perform basic calculations. The containing module is called calculations.py. To import this module and use the functions in your code, go ahead and start a REPL session in the same directory where you saved the file.

Then run the following code:

Python >>> import calculations >>> calculations.add(2, 4) 6.0 >>> calculations.subtract(8, 4) 4.0 >>> calculations.multiply(5, 2) 10.0 >>> calculations.divide(12, 2) 6.0 Copied!

The import statement at the beginning of this code snippet brings the module name to your current namespace. To use the functions or any other object from calculations, you need to use fully qualified names with the dot notation.

Note: You can create an alias of calculations using the following syntax:

Python import calculations as calc Copied!

This practice allows you to avoid name clashes in your code. In some contexts, it’s also common practice to reduce the number of characters to type when using qualified names.

For example, if you’re familiar with libraries like NumPy and pandas, then you’ll know that it’s common to use the following imports:

Python import numpy as np import pandas as pd Copied!

Using shorter aliases when you import modules facilitates using their content by taking advantage of qualified names.

You can also use a similar syntax to import a Python package:

Read the full article at https://realpython.com/python-all-attribute/ »

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

PyCharm: Best PyCharm Plugins 2024

Mon, 2024-03-04 07:00

PyCharm is designed to be used straight out of the box, but you can customize it further by installing the right plugins. 

In this article, we’ll be highlighting the top PyCharm plugins that can bring great value to you. They are not available out of the box, but if you’re looking for something to further enhance your productivity, they’re great options. 

Every plugin that we mention in this article can be found on JetBrains Marketplace. In sharing our top picks, we offer some plugins that we recommend trying, especially those that are popular with our users. Whether you’re a seasoned developer or just starting out, these plugins are sure to add value to your development process.

Let’s start by covering some basics. 

How to install PyCharm plugins

You can download the plugin from JetBrains Marketplace. Then go to PyCharm, click on Plugins > settings > Install plugin from disk, and select the plugin you just downloaded. 

A much more straightforward way is to find the plugin directly in the IDE. Go to settings > Plugins > Marketplace, find the plugin you want to install, and then click the Install button. 

After installation, you’ll need to restart PyCharm to activate the new features. You can read more about how to install PyCharm plugins here.

How to disable PyCharm plugins

If you don’t want to use a plugin anymore, you can easily disable it.

To do so, navigate to File > Settings (or PyCharm on macOS) and select Plugins from the left-hand menu. On the Installed tab, you’ll see a list of your installed plugins. To disable a plugin, simply uncheck its box and apply the changes. 

Top AI coding tools  1. JetBrains AI Assistant

AI Assistant provides AI-powered features for software development based on the JetBrains AI service (please visit the page to find out more details about AI Assistant). The AI service will not be vendor-exclusive and will transparently connect users to different large language models (LLMs) in the future. 

At the moment, the service supports OpenAI’s GPT-3.5 and GPT-4 models and additionally hosts a number of smaller models created by JetBrains.

Its seamless integration with PyCharm means you can access these AI-driven features directly from the IDE.

This plugin is a must-have for developers who want to code smarter and faster while maximizing their code quality. This is only available for paid PyCharm Professional licenses, so student, open source, and educational licenses are excluded.

Features:

  • Use AI Assistant’s chat tool to ask questions about your code and get context-aware answers.
  • Generate a commit message by clicking the Generate Commit Message with AI Assistant button. 

  • Generate refactoring suggestions, documentation for declarations, and error explanations from the output. 
  • AI Assistant creates and maintains a library of user prompts.
  • Get suggestions for the names of classes, functions, variables, and more for selected languages. 
  • Get insights into the code’s functionality and structure.
  • Generate unit tests and create test files under the right directory.
  • Identify and pinpoint issues within the codebase.
  • Easily convert your code to a different programming language.
  • Craft personalized prompts using AI Assistant to suit your unique requirements.

The deep integration between AI Assistant and PyCharm means that suggestions can be made using deep contextual information, including the current file, recently used files, programming languages, dependencies, and the structure of the project. 

The model prompts are created using embedded ML models. This means that the outputs from AI Assistant are as relevant as possible, as they are able to take the users’ intent and current behavior into account.

2. CoPilot

CoPilot, developed by GitHub, was the first LLM-powered coding assistant to be released, and it demonstrated the potential of these powerful tools. This plugin acts as a collaborative partner, providing real-time code suggestions and assistance as you work within PyCharm.

Research suggests that CoPilot enhances developers’ coding productivity by helping them code faster and reducing the number of repetitive tasks.

Features:

  • CoPilot writes unit tests where the user can select the test cases they want to run.
  • Can’t remember the correct SQL syntax? CoPilot generates the SQL code for you.
  • CoPilot encourages collaboration by suggesting code changes and offering insights on best practices.

3. Full Line Code Completion

The Full Line Code Completion plugin by JetBrains is based on a deep-learning model that runs on your local machine. This means that your data won’t be shared anywhere, and you can access the functionalities even when offline. 

It goes beyond the standard code suggestion functionality by offering complete lines of code tailored to your current context. This means you can quickly insert code, such as if statements, loops, functions, or class definitions with just a few keystrokes. 

This plugin is a productivity booster, especially for those who frequently write boilerplate code.

Features:

  • Perform multiple checks before getting code suggestions, ensuring the semantic correctness of the generated code.
  • Define custom code templates for frequently used code patterns. You can create your own code snippets and insert them with ease, further improving your coding efficiency.
  • Customize completion shortcuts. For example, choose between the right key, tab key, enter key, etc.
  • Navigate to the plugin’s settings and information directly from the hover menu for quick navigation.
4. LLM by Hugging Face

LLM-IntelliJ by Hugging Face is a plugin that provides code completion powered by machine learning. It suggests code completions in your editor as you type your code.

It is well integrated with the Hugging Face platform, while also allowing you to choose different backends to host models. You can also use many different code models, such as StarCoder and CodeLlama, among others.

Features:

  • Benefit from ghost-text code completion.
  • Choose any model that supports code completion.
  • Works with Hugging Face’s Inference API, TGI, and other backends like Ollama. 
5. Tabnine: AI Code Completion & Chat 

Tabnine helps developers write code more efficiently and offers a built-in chat feature for communication with other developers, streamlining the coding process and promoting teamwork and knowledge sharing.

Features:

  • Tabnine provides context-aware code completions and can generate tests and documentation for existing code.
  • Tabnine’s AI assistant will help you get the right code the first time. It provides code guidance that’s consistent with your team’s best practices, saving costly and frustrating code review iterations.
  • It also improves code consistency across your entire project, suggesting completions that align with your best practices for code that’s easier to read, manage, and maintain.
Top PyCharm Plugins For Data Science 1. Big Data Tools

Big Data Tools simplifies the process of working with big data frameworks and technologies, significantly improving the development and debugging experience. 

The plugin seamlessly integrates with Apache Spark and Apache Hadoop, two of the most widely used big data frameworks. This integration empowers developers to create, debug, and optimize big data applications right from PyCharm.

The Big Data Tools plugin is only available for PyCharm Professional users.

Features:

  • Big Data Tools offers tools for visualizing big data results, which means you can spot trends, anomalies, and patterns in your data more efficiently. 
  • It provides performance monitoring capabilities, allowing developers to identify and rectify performance bottlenecks, which is critical in the world of big data.
2. OpenCV Image Viewer

The OpenCV Image Viewer facilitates the manipulation and analysis of images within PyCharm, making it a valuable tool for tasks ranging from image processing to computer vision research. 

Whether you’re developing algorithms for image recognition, object detection, or image filtering, the OpenCV Image Viewer simplifies the process by providing real-time image processing capabilities. 

Features:

  • You can easily load, display, and manipulate images in popular formats for computer vision tasks.
  • Perform real-time image processing and display results without stopping the debugger. 

This plugin is completely free as of November 2023, but the authors are soon going to shift to a freemium model along with many new functionalities that will be available to paid users. 

Check out our blog post entitled ‘How to quickly display OpenCV images during debugging’ for an easy tutorial that will ease you into using this plugin.

3. Lets-Plot in SciView

Lets-Plot in SciView is a plugin that combines the power of the Lets-Plot library with the SciView window for data visualization and analysis. 

This plugin is only available for PyCharm Professional users. 

Features:

  • Users can create a wide range of data visualizations, including scatter plots, bar charts, heatmaps, and more using Lets-Plot’s extensive capabilities.
  • They can also generate interactive plots and charts that can be customized and explored in real time within PyCharm.
Ready to take your coding to the next level?

JetBrains plugins utilize the latest technologies so you can streamline data science and coding tasks, eliminate repetitive work, and so much more. They boost your productivity, reduce errors, and allow you to tailor PyCharm to your specific needs.

It’s time to code smarter, not harder, and embrace the endless opportunities that PyCharm and its plugins offer.

Just head over to JetBrains Marketplace and start exploring!

Categories: FLOSS Project Planets

Django Weblog: Django security releases issued: 5.0.3, 4.2.11, and 3.2.25

Mon, 2024-03-04 03:55

In accordance with our security release policy, the Django team is issuing Django 5.0.3, Django 4.2.11, and Django 3.2.25. These releases addresses the security issue detailed below. We encourage all users of Django to upgrade as soon as possible.

CVE-2024-27351: Potential regular expression denial-of-service in django.utils.text.Truncator.words()

django.utils.text.Truncator.words() method (with html=True) and truncatewords_html template filter were subject to a potential regular expression denial-of-service attack using a suitably crafted string (follow up to CVE-2019-14232 and CVE-2023-43665).

Thanks Seokchan Yoon for the report.

This issue has severity "moderate" according to the Django security policy.

Affected supported versions
  • Django 5.0
  • Django 4.2
  • Django 3.2
Resolution

Patches to resolve the issue have been applied to the 5.0, 4.2, and 3.2 release branches. The patches may be obtained from the following changesets:

The following releases have been issued:

The PGP key ID used for this release is Mariusz Felisiak: 2EF56372BA48CD1B.

General notes regarding security reporting

As always, we ask that potential security issues be reported via private email to security@djangoproject.com, and not via Django's Trac instance or the django-developers list. Please see our security policies for further information.

Categories: FLOSS Project Planets

Python GUIs: Working With Python Virtual Environments — Setting Your Python Working Environment, the Right Way

Mon, 2024-03-04 01:00

As Python developers, we often need to add functionality to our applications which isn't provided by the standard library. Rather than implement everything ourselves, we can instead install 3rd party Python packages from the official Python package index at PyPI using pip. The pip tool downloads and installs these 3rd party packages into our Python installation so we can immediately use them in our scripts and applications.

The Python standard library is a set of Python packages that come bundled with Python installers. This library includes modules and packages like math and usually Tkinter.

There is a caveat here though: we can only install a single version of a package at any one time. While this isn't a problem when you create your first project, when you create the second any changes you make to the dependencies will also affect the first project. If any of your dependencies depend on other packages themselves (usually the case!) you may encounter conflicts where fixing the dependencies for one project breaks the dependencies for another.

This is known as dependency hell.

Thankfully, Python has a solution for this: Python virtual environments. Using virtual environments you can manage the packages for each project independently.

In this tutorial, we will learn how to create virtual environments and use them to manage our Python projects and their dependencies. We will also learn why virtual environments are an essential tool in any Python developer's arsenal.

Table of Contents Understand Why We Need Python Virtual Environments

When working on a project, we often rely on specific external or third-party Python package versions. However, as packages get updated, their way of working may change.

If we update a package, the changes in that package may mean other projects stop functioning. To solve this issue, we have a few different options:

  • Continue using the outdated version of the package in all our projects.
  • Update all our projects whenever a new version of the package comes out.
  • Use Python virtual environments to isolate the projects and their dependencies.

Not updating packages means that we won't be able to take advantage of new features or improvements. It can also affect the security of our project because we're not up-to-date with essential security updates and bug fixes for the Python packages our project relies on.

On the other hand, constantly updating our projects to keep them functional isn't much fun. While not always necessary, it quickly can become tedious and impractical, depending on the scale and the number of projects we have.

The last and best option is to use Python virtual environments. They allow us to manage the Python packages needed for each application separately. So we can choose when to update dependencies without affecting other projects that rely on those packages.

Using virtual environments gives us the benefit of being able to update packages without the risk of breaking all our projects at once. It gives us more time to make sure that each project works properly with the updated package version. It also avoids conflicts between package requirements and dependency requirements in our various projects.

Finally, using Python virtual environments is also recommended to avoid system conflicts because updating a package may break essential system tools or libraries that rely on a particular version of the package.

Explore How Python Virtual Environments Work

A virtual environment is a folder containing a lightweight installation of Python. It creates a stripped-down and isolated copy of the base Python installation on our system without requiring us to install Python again.

Because a virtual environment is an isolated copy of our current system Python, we will find a copy of the python and pip executables inside each virtual environment folder. Once we activate a virtual environment, any python or pip commands will point to these executables instead of the ones in our system installation.

We can check where our system currently points Python commands to by running python -c "import sys; print(sys.executable)". If we are not using a virtual environment, this command will show us where the system Python installation is located. Inside a virtual environment it will point to the environment's executable.

Using a virtual environment also means that pip will install external packages in the environment's site folder rather than in the system's. This way, we can keep different versions of a Python package installed in independent virtual environments. However, we still can only have one version of a given package per virtual environment.

Install Python On Your System

In case you haven't done it yet, you need to install Python on your development machine before being able to use it.

Install Python on Windows or macOS

You can install Python by going to its download page and grabbing the specific installer for either Windows or macOS. Then, you have to run the installer and follow the on-screen instructions. Make sure you select the option to Add Python to PATH during the installation process.

Python is also available for installation through Microsoft Store on Windows machines.

Install Python on Linux

If you are on Linux, you can check if Python is installed on your machine by running the python3 --version command in a terminal. If this command issues an error, you can install Python from your Linux distribution repository.

You will find that the Python version available in most Linux repositories is relatively old. To work around this issue, you can use tools like pyenv, which allows the installation of multiple Python versions.

For example, on Ubuntu and Debian, you can install Python by executing:

sh $ sudo apt install python3

You may also need to install pip, the Python package installer, and venv, the module that allows you to create virtual environments. To do this, run the following command:

sh $ sudo apt install python3-pip python3-venv

You only need to install pip and venv separately in some Linux distributions, including Ubuntu and Debian.

Create Python Virtual Environments

The standard way to create virtual environments in Python is to use the venv module, which is a part of the standard library, so you shouldn't need to install anything additional on most systems.

A virtual environment is a stripped-down and isolated copy of an existing Python installation, so it doesn't require downloading anything.

You'll typically create a virtual environment per project. However, you can also have custom virtual environments with different purposes in your system.

To add a new virtual environment to a project, go to your project folder and run the following command in a terminal:

sh $ python -m venv ./venv

If you check inside your project folder now, you'll see a new subfolder named venv. This folder contains the virtual environment you just made.

Using venv, env, or .venv as the virtual environment name is a common and accepted practice in the Python community.

Use Python Virtual Environments

Now that you've successfully created your Python virtual environment, you can start using it to install whatever packages you need for your project. Note that every new virtual is like a fresh Python installation, with no third-party package available.

Unless you choose to pass the --system-site-packages switch to the venv command when you create the virtual environment, it will only contain the Python standard library and a couple of required packages. For any additional packages, we need to use pip to install them.

In the following sections, you'll learn how to activate your virtual environment for use, install packages, manage dependency, and more.

Activate the Virtual Environment

To start using a virtual environment, you need to activate it. The command to do this depends on your operating system and terminal shell.

On Unix systems, such as macOS and Linux, you can run the following command:

sh $ source venv/bin/activate

This command activates your virtual environment, making it ready for use. You'll know that because your prompt will change from $ to (venv) $. Go ahead and run the following command to check your current Python interpreter:

sh (venv) $ python -c "import sys; print(sys.executable)" /path/to/project/venv/bin/python

The output of this command will contain the path to the virtual environment interpreter. This interpreter is different from your system interpreter.

If you're on Windows and using PowerShell, then you can activate your virtual environment by running the following command:

sh PS> venv\Scripts\activate

Again, you'll know the environment is active because your prompt will change from PS> to (venv) PS>.

Great! With these steps completed, we're now ready to start using our Python virtual environment.

Install Packages in the Virtual Environment

Once the virtual environment is active, we can start using pip to install any packages our project requires. For example, say you want to install the PyQt GUI framework to create desktop apps. In this case, you can run the following command:

sh (venv) $ python -m pip install pyqt6

This command downloads and installs PyQt from the Python package index directly. Now you can start working on your GUI project.

Once you've activated a virtual environment, you can use pip directly without the python -m prefix. However, best practices recommend using this command format.

You can also install multiple packages in one go:

sh (venv) $ python -m pip install black flake8 mypy pytest

To install multiple packages with a single command, you only have to list the desired packages separated by spaces, as you did in the above command.

Finally, sometimes it's also useful to update a given package to its latest version:

sh (venv) $ python -m pip install --upgrade pyqt6

The --upgrade flag tells pip to install the latest available version of an already installed package.

Deactivate a Virtual Environment

Once you are done working on your GUI app, you need to deactivate the virtual environment so you can switch back to your system shell or terminal. Remember that you'll have to reactivate this virtual environment next time you need to work on your project.

Here's how you can deactivate a Python virtual environment:

sh (venv) $ deactivate

This command deactivates your virtual environment and gets you back into your system shell. You can run the python -c "import sys; print(sys.executable)" command to check that your current Python interpreter is your system Python.

Manage the Location of Your Virtual Environments

Although you can place your virtual environments anywhere on your computer, there are a few standardized places for them to live. The most common one is inside the relevant project folder. As you already learned, the folder will usually be named venv or .venv.

If you use Git for version control, make sure to ignore the virtual environment folder by adding it to .gitignore.

If you want to have all your virtual environments in a central location, then you can place them in your home folder. Directories like ~/.venvs and ~/.virtualvenvs are commonly used locations.

The Python extension for Visual Studio Code automatically looks for any virtual environments in a couple of places, including inside your current project folder and specific folders in your home folder (if they exist). If you want to specify additional external folders for it to look in, go to Settings and configure python.venvFolders or python.venvPath. To avoid confusion, a good idea is to name each virtual environment in this folder after the relevant project name.

Delete a Python Virtual Environments

If you are no longer working with a given virtual environment, you can get rid of it and all the related Python packages by simply deleting the virtual environment folder.

If you delete the virtual environment associated with a given project, to run the project again, you'll have to create a new virtual environment and install the required packages.

Manage Your Project's Dependencies With pip

You've already learned how to create Python virtual environments to isolate the dependencies of your projects and avoid package versioning issues across different projects. You also learned how to install external dependencies with pip.

In the following sections, you'll learn how to efficiently manage a project's dependencies using pip and requirement files.

Generate a Requirement File

An important advantage of using a dedicated virtual environment for each of our Python projects is that the environment will only contain the packages for that specific project. We can use the pip freeze command to get the list of currently installed packages in any active virtual environment:

sh (venv) $ python -m pip freeze PyQt6==6.5.0 PyQt6-Qt6==6.5.0 PyQt6-sip==13.5.1

This command allows us to create a text file containing the lists of the packages our project needs for running. To do this, go ahead and run the following command:

sh (venv) $ python -m pip freeze > requirements.txt

After running the above command, you'll have a new file called requirements.txt in your project's directory.

By convention, the Python community uses the name requirements.txt for those files containing the list of dependencies of a given project. This file typically lives in the project's root directory.

Run the following command to check the content of this new file:

sh $ cat requirements.txt PyQt6==6.5.0 PyQt6-Qt6==6.5.0 PyQt6-sip==13.5.1

As you can see, your requirements.txt file lists those packages that you've installed in the active virtual environment. Once you have this file in place, anyone who needs to run your project from its source will know which packages they need to install. More importantly, they can use the file to install all the dependencies automatically, as you'll learn in the following section.

Install Project Dependencies From a Requirement File

Besides of being able to see the list of Python packages our application needs, the requirements file also makes installing those packages in a new virtual environment just one command away:

sh (new_venv) $ python -m pip install -r requirements.txt

The -r option of pip install allows you to provide a requirement file as an argument. Then, pip will read that file and install all the packages listed in it. If you run pip freeze again, you'll note that this new environment has the same packages installed.

Tweak the Requirements File

Although using pip freeze is quite convenient, it often creates a lot of unnecessary clutter by populating the requirement file with Python packages that our application may not rely on directly. For example, packages that are dependencies of required packages and also packages that are only needed for development.

The generated file will also include the exact version of each package we have installed. While this may be useful, it is best to keep the requirement file clean. For example, dependencies of dependencies can often be ignored, since managing those is the responsibility of that package. That way, it'll be easy to know which packages are really required.

For example, in a GUI project, the requirements.txt file may only need to include PyQt6. In that case it would look like this:

sh $ cat requirements.txt PyQt6==6.5.0

Specifying the highest or lowest version of required packages may also be beneficial. To do this, we can replace the equality operator (==) with the less than (<=) or greater than (>=) operators, depending on your needs. If we completely omit the package version, pip will install the latest version available.

Create a Development Requirement File

We should consider splitting our project requirement file into two separate files. For example, requirements.txt and requirements_dev.txt. This separation lets other developers know which packages are required for your project and which are solely relevant for development and testing purposes.

For example, you may use Black for formatting, flake8 for linting, mypy for type checking, and pytest for testing your code. In this case, your requirements_dev.txt file should look something like this:

sh $ cat requirements_dev.txt black flake8 mypy pytest

With this file in place, developers who want to contribute to your project can install the required development dependencies easily.

Conclusion

By now, you have a good understanding of how Python virtual environments work. They are straightforward to create and make it easy to manage the Python packages you need for developing your applications and projects.

Avoid installing Python packages outside of a virtual environment whenever possible. Creating a dedicated environment for a small Python script may not make sense. However, it's always a good idea to start any Python project that requires external packages by creating its own virtual environment.

Categories: FLOSS Project Planets

TechBeamers Python: Python Remove Elements from a List

Fri, 2024-03-01 14:59

Hi everyone – Today’s tutorial brings you various techniques to remove elements from a Python list. Manipulating lists is a fundamental aspect of programming, and understanding how to efficiently remove elements can significantly enhance your Python coding skills. We will cover a range of methods, from basic and straightforward approaches to more advanced techniques that […]

The post Python Remove Elements from a List appeared first on TechBeamers.

Categories: FLOSS Project Planets

TechBeamers Python: Python Remove Elements from a List

Fri, 2024-03-01 14:59

Hi everyone – Today’s tutorial brings you various techniques to remove elements from a Python list. Manipulating lists is a fundamental aspect of programming, and understanding how to efficiently remove elements can significantly enhance your Python coding skills. We will cover a range of methods, from basic and straightforward approaches to more advanced techniques that […]

The post Python Remove Elements from a List appeared first on TechBeamers.

Categories: FLOSS Project Planets

Real Python: The Real Python Podcast – Episode #194: Automate Tasks With Python &amp; Building a Small Search Engine

Fri, 2024-03-01 07:00

What are the typical computer tasks you do manually every week? Could you automate those tasks with a Python script? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder's Weekly articles and projects.

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

PyCharm: PyCharm 2024.1 EAP 7: Support for Flask and FastAPI bigger applications in the Endpoints tool window

Fri, 2024-03-01 06:25

PyCharm 2024.1 EAP 7 is now available, providing a sneak peek into some exciting new features planned for the next major release. Notable updates include support for Flask and FastAPI bigger applications in the Endpoints tool window, improvements to the Version Control integrations and support for WireMock.

You can download the new version from our website, update directly from the IDE or via the free Toolbox App, or use snaps for Ubuntu.

Download PyCharm 2024.1 EAP

User experience Refreshed product icons

The latest EAP build for PyCharm 2024.1 introduces refreshed product icons, aligning with updates across all JetBrains IDEs and enhancing visual appeal and consistency across the ecosystem.

Endpoints tool window [PyCharm Professional] Support for FastAPI/Flask bigger applications (multiple files)

Now, when you are working on your Flask or FastAPI project in PyCharm, the endpoints in the Endpoints tool window are grouped by apps. Also, PyCharm is now able to detect the endpoints declared in libraries, as well as several endpoints per path and endpoints for different HTTP-methods.

WireMock server support

In PyCharm 2024.1 EAP 7, we’re introducing WireMock support via a plugin that you can get from JetBrains Marketplace or install from inside the IDE. This integration includes schema completion for JSON configurations, the ability to generate WireMock stub files from the Endpoints tool window, and a built-in server run configuration that allows users to spin up the server directly from the editor. This addition enables you to swiftly create test data servers or stubs, simplifying the development of web UIs and microservices.

Version control systems Option to exclude folders and files from comparison

We’ve enhanced the diff viewer with an option to specify specific folders and files to be ignored during the comparison process so that you can focus solely on relevant changes. Just right-click on any file or folder you don’t want to appear in the comparison results and select Exclude from results from the context menu. 

Improved search in the Branches popup

We’ve enhanced the search functionality available in the Branches popup. With this update, you can now filter search results by actions and repositories for quicker and more precise navigation within your version control system. 

Support for --update-refs for interactive rebase

The Rebase dialog now features the --update-refs option, meaning that once it is selected, PyCharm ensures that the Git repository’s history accurately reflects the modifications made during the rebase operation. 

Quick fixes for React props and state creation

We’ve introduced several new quick fixes for React. These quick fixes allow you to add props and state on the fly. The Create prop in <CurrentComponent> quick fix allows you to add a prop to the current component from the unresolved symbol. PyCharm will attempt to detect the target props declaration type or interface and add the prop with a correctly inferred type:

The second quick fix has similar mechanics but allows adding props to a component defined in your project directly from the JSX: 

These quick fixes are also compatible with class-based React components.

Finally, a very similar mechanism is available for creating state in functional React components: 

These are the most notable updates brought by this week’s EAP build. For a comprehensive overview of all the implemented changes, please refer to the release notes. 

We highly value your feedback on the new features since your insights play an essential role in molding the final version of the release. Feel free to share your thoughts in the comments below or via X (formerly Twitter). Should you encounter any bugs, please submit a report via our issue tracker

Categories: FLOSS Project Planets

TechBeamers Python: Selenium Python Extent Report Guide

Fri, 2024-03-01 03:19

Automated testing is essential for ensuring that software works reliably. We’ll use two powerful tools, Selenium (for testing websites) and Extent Report (for clear result summaries), to streamline the process. This tutorial will guide you through setting up Selenium automation in Python and integrating Extent Report for thorough and technical reporting. 1. Setup and Installation […]

The post Selenium Python Extent Report Guide appeared first on TechBeamers.

Categories: FLOSS Project Planets

TechBeamers Python: Selenium Python Extent Report Guide

Fri, 2024-03-01 03:19

Automated testing is essential for ensuring that software works reliably. We’ll use two powerful tools, Selenium (for testing websites) and Extent Report (for clear result summaries), to streamline the process. This tutorial will guide you through setting up Selenium automation in Python and integrating Extent Report for thorough and technical reporting. 1. Setup and Installation […]

The post Selenium Python Extent Report Guide appeared first on TechBeamers.

Categories: FLOSS Project Planets

Talk Python to Me: #451: Djangonauts, Ready for Blast-Off

Fri, 2024-03-01 03:00
Are you interested in contributing to Django? Then there is an amazing mentorship program that helps Python and Django enthusiasts, because contributes and potentially core developers of Django. It's called Djangonauts and their slogan is "where contributors launch." On this episode, we have Sarah Boyce from the Django team and former Djangonaut and now Djangonaut mentor, Tushar Gupta. Not only is this excellent for the Django community, many of other open source communities would do well to keep an eye on how this creative project is working.<br/> <br/> <strong>Episode sponsors</strong><br/> <br/> <a href='https://talkpython.fm/neo4j-notes'>Neo4j</a><br> <a href='https://talkpython.fm/posit'>Posit</a><br> <a href='https://talkpython.fm/training'>Talk Python Courses</a><br/> <br/> <strong>Links from the show</strong><br/> <br/> <div><b>Sarah on Mastodon</b>: <a href="https://mastodon.social/@sarahboyce" target="_blank" rel="noopener">@sarahboyce@mastodon.social</a><br/> <b>Sarah on LinkedIn</b>: <a href="https://www.linkedin.com/in/svboyce/" target="_blank" rel="noopener">linkedin.com</a><br/> <b>Tushar on Twitter</b>: <a href="https://twitter.com/tushar5526" target="_blank" rel="noopener">@tushar5526</a><br/> <b>Djangonaut Space on Mastodon</b>: <a href="https://indieweb.social/@djangonaut" target="_blank" rel="noopener">@djangonaut@indieweb.social</a><br/> <b>Djangonaut Space on Twitter</b>: <a href="https://twitter.com/djangonautspace" target="_blank" rel="noopener">@djangonautspace</a><br/> <b>Djangonaut Space on LinkedIn</b>: <a href="https://www.linkedin.com/company/djangonaut-space/" target="_blank" rel="noopener">linkedin.com</a><br/> <br/> <b>Website</b>: <a href="https://djangonaut.space" target="_blank" rel="noopener">djangonaut.space</a><br/> <b>Djangonaut Space Launch Video</b>: <a href="https://www.youtube.com/watch?v=SO5GGTZYK70" target="_blank" rel="noopener">youtube.com</a><br/> <b>Sessions</b>: <a href="https://djangonaut.space/sessions/" target="_blank" rel="noopener">djangonaut.space</a><br/> <b>Djangonaut Space Interest Form</b>: <a href="https://docs.google.com/forms/d/e/1FAIpQLSeauXSeeM45zWYFym_PX9RiAz_arsgFsMtcjWoK1UQ3-kcYnw/viewform" target="_blank" rel="noopener">google.com/forms</a><br/> <b>Program</b>: <a href="https://github.com/djangonaut-space/program" target="_blank" rel="noopener">github.com</a><br/> <b>Watch this episode on YouTube</b>: <a href="https://www.youtube.com/watch?v=bG_EaEDXoNM" target="_blank" rel="noopener">youtube.com</a><br/> <b>Episode transcripts</b>: <a href="https://talkpython.fm/episodes/transcript/451/djangonauts-ready-for-blast-off" target="_blank" rel="noopener">talkpython.fm</a><br/> <br/> <b>--- Stay in touch with us ---</b><br/> <b>Subscribe to us on YouTube</b>: <a href="https://talkpython.fm/youtube" target="_blank" rel="noopener">youtube.com</a><br/> <b>Follow Talk Python on Mastodon</b>: <a href="https://fosstodon.org/web/@talkpython" target="_blank" rel="noopener"><i class="fa-brands fa-mastodon"></i>talkpython</a><br/> <b>Follow Michael on Mastodon</b>: <a href="https://fosstodon.org/web/@mkennedy" target="_blank" rel="noopener"><i class="fa-brands fa-mastodon"></i>mkennedy</a><br/></div>
Categories: FLOSS Project Planets

Tryton News: Newsletter March 2024

Fri, 2024-03-01 02:01

During the last month we mainly focused on fixing bugs, adjusting how things work, improving performance and adding new features.

Changes for the User Sales, Purchases and Projects

Now we assume that most businesses will try and deliver to customers as fast as
possible. So we set the default lead time for products to 0.

Accounting, Invoicing and Payments

Statement journals can now be searched for by the bank account number and the currency.

Tryton now supports the payment of invoices using a different currency to the statement’s currency.

Now Tryton only uses the sign of the combined debit and credit to calculate the kind of payment of the move line.

Stock, Production and Shipments

Now we only set the number on productions and on shipments when they first enter the “waiting” state.

The stock lot trace functionality now shows the stock locations a lot was moved between and also all related stock moves.

Now Tryton manages the stock assignation for customer shipments even when the picking and output locations are the same to ensure the stock is assigned and not available for use by someone else.

Now we use the warehouse of the corresponding location on the internal shipment, in case the transit location is used.

User Interface

Sao now supports drag and drop on the image widget and binary select button.

Editable lists are now selected on the first first click and become editable on the second.

Sao now provides a contextual menu to copy cells and columns.

System Data and Configuration

Now we calculate the name of a product for sales, purchase and invoice lines and stock moves. For example, showing the customer product name or the supplier product name instead of product name in reports.

Now you can use template substitutions for the company header and footer fields used in reports.

New Documentation

We reworked parts of the Tryton documentation.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 6.8.

Changes for the System Administrator

We rewrote the worker using concurrent.futures replacing the former multiprocessing to be able to have a better control of dead child processes which can’t accept further tasks. Also be aware of the new maxtasksperchild option for Python >= 3.11.

Changes for Implementers and Developers

We introduced two mix-ins for deactivating products and templates:

  • trytond.modules.product.ProductDeactivatableMixin
  • trytond.modules.product.TemplateDeactivatableMixin

By default, the copy method no longer copies readonly=True relation fields. But we do keep copying readonly moves on shipments.

The UI now considers the null value as valid empty data for binary fields.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Categories: FLOSS Project Planets

TestDriven.io: Django REST Framework: Pros and Cons

Thu, 2024-02-29 17:28
This article looks at the pros and cons of using Django REST Framework for building RESTful APIS with Django.
Categories: FLOSS Project Planets

Steve Holden: Understanding Python Descriptors

Thu, 2024-02-29 07:29
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. |----------------------------------------------------------------------------*/ /* */ .p-Widget, /* */ .lm-Widget { box-sizing: border-box; position: relative; overflow: hidden; cursor: default; } /* */ .p-Widget.p-mod-hidden, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-CommandPalette, /* */ .lm-CommandPalette { display: flex; flex-direction: column; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* */ .p-CommandPalette-search, /* */ .lm-CommandPalette-search { flex: 0 0 auto; } /* */ .p-CommandPalette-content, /* */ .lm-CommandPalette-content { flex: 1 1 auto; margin: 0; padding: 0; min-height: 0; overflow: auto; list-style-type: none; } /* */ .p-CommandPalette-header, /* */ .lm-CommandPalette-header { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* */ .p-CommandPalette-item, /* */ .lm-CommandPalette-item { display: flex; flex-direction: row; } /* */ .p-CommandPalette-itemIcon, /* */ .lm-CommandPalette-itemIcon { flex: 0 0 auto; } /* */ .p-CommandPalette-itemContent, /* */ .lm-CommandPalette-itemContent { flex: 1 1 auto; overflow: hidden; } /* */ .p-CommandPalette-itemShortcut, /* */ .lm-CommandPalette-itemShortcut { flex: 0 0 auto; } /* */ .p-CommandPalette-itemLabel, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-DockPanel, /* */ .lm-DockPanel { z-index: 0; } /* */ .p-DockPanel-widget, /* */ .lm-DockPanel-widget { z-index: 0; } /* */ .p-DockPanel-tabBar, /* */ .lm-DockPanel-tabBar { z-index: 1; } /* */ .p-DockPanel-handle, /* */ .lm-DockPanel-handle { z-index: 2; } /* */ .p-DockPanel-handle.p-mod-hidden, /* */ .lm-DockPanel-handle.lm-mod-hidden { display: none !important; } /* */ .p-DockPanel-handle:after, /* */ .lm-DockPanel-handle:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; } /* */ .p-DockPanel-handle[data-orientation='horizontal'], /* */ .lm-DockPanel-handle[data-orientation='horizontal'] { cursor: ew-resize; } /* */ .p-DockPanel-handle[data-orientation='vertical'], /* */ .lm-DockPanel-handle[data-orientation='vertical'] { cursor: ns-resize; } /* */ .p-DockPanel-handle[data-orientation='horizontal']:after, /* */ .lm-DockPanel-handle[data-orientation='horizontal']:after { left: 50%; min-width: 8px; transform: translateX(-50%); } /* */ .p-DockPanel-handle[data-orientation='vertical']:after, /* */ .lm-DockPanel-handle[data-orientation='vertical']:after { top: 50%; min-height: 8px; transform: translateY(-50%); } /* */ .p-DockPanel-overlay, /* */ .lm-DockPanel-overlay { z-index: 3; box-sizing: border-box; pointer-events: none; } /* */ .p-DockPanel-overlay.p-mod-hidden, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-Menu, /* */ .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; } /* */ .p-Menu-content, /* */ .lm-Menu-content { margin: 0; padding: 0; display: table; list-style-type: none; } /* */ .p-Menu-item, /* */ .lm-Menu-item { display: table-row; } /* */ .p-Menu-item.p-mod-hidden, .p-Menu-item.p-mod-collapsed, /* */ .lm-Menu-item.lm-mod-hidden, .lm-Menu-item.lm-mod-collapsed { display: none !important; } /* */ .p-Menu-itemIcon, .p-Menu-itemSubmenuIcon, /* */ .lm-Menu-itemIcon, .lm-Menu-itemSubmenuIcon { display: table-cell; text-align: center; } /* */ .p-Menu-itemLabel, /* */ .lm-Menu-itemLabel { display: table-cell; text-align: left; } /* */ .p-Menu-itemShortcut, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-MenuBar, /* */ .lm-MenuBar { outline: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* */ .p-MenuBar-content, /* */ .lm-MenuBar-content { margin: 0; padding: 0; display: flex; flex-direction: row; list-style-type: none; } /* */ .p--MenuBar-item, /* */ .lm-MenuBar-item { box-sizing: border-box; } /* */ .p-MenuBar-itemIcon, .p-MenuBar-itemLabel, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-ScrollBar, /* */ .lm-ScrollBar { display: flex; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* */ .p-ScrollBar[data-orientation='horizontal'], /* */ .lm-ScrollBar[data-orientation='horizontal'] { flex-direction: row; } /* */ .p-ScrollBar[data-orientation='vertical'], /* */ .lm-ScrollBar[data-orientation='vertical'] { flex-direction: column; } /* */ .p-ScrollBar-button, /* */ .lm-ScrollBar-button { box-sizing: border-box; flex: 0 0 auto; } /* */ .p-ScrollBar-track, /* */ .lm-ScrollBar-track { box-sizing: border-box; position: relative; overflow: hidden; flex: 1 1 auto; } /* */ .p-ScrollBar-thumb, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-SplitPanel-child, /* */ .lm-SplitPanel-child { z-index: 0; } /* */ .p-SplitPanel-handle, /* */ .lm-SplitPanel-handle { z-index: 1; } /* */ .p-SplitPanel-handle.p-mod-hidden, /* */ .lm-SplitPanel-handle.lm-mod-hidden { display: none !important; } /* */ .p-SplitPanel-handle:after, /* */ .lm-SplitPanel-handle:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; } /* */ .p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle, /* */ .lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle { cursor: ew-resize; } /* */ .p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle, /* */ .lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle { cursor: ns-resize; } /* */ .p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after, /* */ .lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after { left: 50%; min-width: 8px; transform: translateX(-50%); } /* */ .p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-TabBar, /* */ .lm-TabBar { display: flex; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* */ .p-TabBar[data-orientation='horizontal'], /* */ .lm-TabBar[data-orientation='horizontal'] { flex-direction: row; align-items: flex-end; } /* */ .p-TabBar[data-orientation='vertical'], /* */ .lm-TabBar[data-orientation='vertical'] { flex-direction: column; align-items: flex-end; } /* */ .p-TabBar-content, /* */ .lm-TabBar-content { margin: 0; padding: 0; display: flex; flex: 1 1 auto; list-style-type: none; } /* */ .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content, /* */ .lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content { flex-direction: row; } /* */ .p-TabBar[data-orientation='vertical'] > .p-TabBar-content, /* */ .lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content { flex-direction: column; } /* */ .p-TabBar-tab, /* */ .lm-TabBar-tab { display: flex; flex-direction: row; box-sizing: border-box; overflow: hidden; } /* */ .p-TabBar-tabIcon, .p-TabBar-tabCloseIcon, /* */ .lm-TabBar-tabIcon, .lm-TabBar-tabCloseIcon { flex: 0 0 auto; } /* */ .p-TabBar-tabLabel, /* */ .lm-TabBar-tabLabel { flex: 1 1 auto; overflow: hidden; white-space: nowrap; } .lm-TabBar-tabInput { user-select: all; width: 100%; box-sizing : border-box; } /* */ .p-TabBar-tab.p-mod-hidden, /* */ .lm-TabBar-tab.lm-mod-hidden { display: none !important; } .lm-TabBar-addButton.lm-mod-hidden { display: none !important; } /* */ .p-TabBar.p-mod-dragging .p-TabBar-tab, /* */ .lm-TabBar.lm-mod-dragging .lm-TabBar-tab { position: relative; } /* */ .p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab, /* */ .lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab { left: 0; transition: left 150ms ease; } /* */ .p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab, /* */ .lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab { top: 0; transition: top 150ms ease; } /* */ .p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging, /* */ .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. |----------------------------------------------------------------------------*/ /* */ .p-TabPanel-tabBar, /* */ .lm-TabPanel-tabBar { z-index: 1; } /* */ .p-TabPanel-stackedPanel, /* */ .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. |----------------------------------------------------------------------------*/ /* */ body.p-mod-override-cursor *, /* */ 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; } }

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.

Categories: FLOSS Project Planets

Pages