diff --git a/Dockerfile b/Dockerfile index 196a19b..8be6386 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,56 +1,43 @@ -# Use an official Python runtime as a parent image -FROM python:3.7-slim - -# Set ENV VARS -ENV FLASK_ENV=development -ENV PYTHONUNBUFFERED=0 -ENV PLATFORM=linux -ENV K8SVERSION=1.14.0 -ENV KS_VERSION=0.13.1 -ENV KF_VERSION=0.5.1 - -# Set the working directory to /app -WORKDIR /app - - -# Install for ssh-keygen -RUN apt-get update && apt-get install -y \ -curl \ -wget \ -openssh-client - -# Install needed executables -RUN wget https://storage.googleapis.com/kubernetes-release/release/v${K8SVERSION}/bin/${PLATFORM}/amd64/kubectl -RUN chmod +x ./kubectl -RUN mv ./kubectl /usr/local/bin/ - -RUN wget https://github.com/ksonnet/ksonnet/releases/download/v${KS_VERSION}/ks_${KS_VERSION}_${PLATFORM}_amd64.tar.gz -RUN tar -xvf ks_${KS_VERSION}_${PLATFORM}_amd64.tar.gz -RUN rm ks_${KS_VERSION}_${PLATFORM}_amd64.tar.gz -RUN chmod +x ks_${KS_VERSION}_${PLATFORM}_amd64/ks -RUN mv ks_${KS_VERSION}_${PLATFORM}_amd64/ks /usr/local/bin/ -RUN rm -rf ks_${KS_VERSION}_${PLATFORM}_amd64/ - -RUN wget https://github.com/kubeflow/kubeflow/releases/download/v${KF_VERSION}/kfctl_v${KF_VERSION}_${PLATFORM}.tar.gz -RUN tar -xvf kfctl_v${KF_VERSION}_${PLATFORM}.tar.gz -RUN rm kfctl_v${KF_VERSION}_${PLATFORM}.tar.gz -RUN chmod +x ./kfctl -RUN mv ./kfctl /usr/local/bin/ - - - -# Copy the current directory contents into the container at /app -COPY . /app - - -# Install any needed packages specified in requirements.txt -RUN pip install --trusted-host pypi.python.org -r requirements.txt - -WORKDIR /app/mla_app_code -RUN chmod +x helmInstall.sh -RUN ./helmInstall.sh - - -# Run amla_core_code.py when the container launches -CMD python "./mla_core_code.py" - +# Use an official Python runtime as a parent image +FROM python:3.7-slim + +# Set ENV VARS +ENV FLASK_ENV=development +ENV PYTHONUNBUFFERED=0 +ENV PLATFORM=linux +ENV K8SVERSION=1.14.0 + +# Set the working directory to /app +WORKDIR /app + + +# Install for ssh-keygen +RUN apt-get update && apt-get install -y \ +curl \ +wget + + +# Install kubectl +RUN wget https://storage.googleapis.com/kubernetes-release/release/v${K8SVERSION}/bin/${PLATFORM}/amd64/kubectl +RUN chmod +x ./kubectl +RUN mv ./kubectl /usr/local/bin/ + + +#Upgrade pip +RUN pip install --upgrade pip + + +# Copy the current directory contents into the container at /app +COPY . /app + + +# Install any needed packages specified in requirements.txt +RUN pip install --trusted-host pypi.python.org -r requirements.txt + + +WORKDIR /app/mla_app_code + + +# Run amla_core_code.py when the container launches +CMD python "./mla_core_code.py" + diff --git a/mla_app_code/ccp.py b/mla_app_code/ccp.py index 8fbed9f..e5c5c06 100644 --- a/mla_app_code/ccp.py +++ b/mla_app_code/ccp.py @@ -25,53 +25,129 @@ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) class CCP: - def __init__(self, url=None, username=None,password=None,cookie=None): + def __init__(self, url=None, username=None,password=None,cookie=None, token=None, apiVersion = 3): self.url = url self.username = username self.password = password self.cookie = cookie + self.token = token + self.apiVersion = apiVersion - def login(self): + def loginV2(self): headers = { 'content-type': 'application/json', } + # vip pools UUID still requires the v2 API so you need to login for both the v2 and v3 API + response = requests.request("POST", self.url + "/2/system/login?username=" + self.username + "&password=" + self.password, headers=headers, verify=False) if response: self.cookie = response.cookies return response + + + def loginV3(self): + + headers = { + 'content-type': 'application/json', + } + + # vip pools UUID still requires the v2 API so you need to login for both the v2 and v3 API + + data = {"username":self.username,"password":self.password} + + response = requests.request("POST", self.url + "/v3/system/login",data=json.dumps(data), headers=headers, verify=False) + + if "X-Auth-Token" in response.headers: + self.token = response.headers["X-Auth-Token"] + return response.headers["X-Auth-Token"] + return None + + def getConfig(self, uuid): - response = requests.request("GET", self.url + "/2/clusters/" + uuid + "/env", cookies=self.cookie, verify=False) - + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/clusters/" + uuid + "/env", cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/clusters/" + uuid ,headers=headers, verify=False) + return response + + def getClusters(self): - response = requests.request("GET", self.url + "/2/clusters",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/clusters",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/clusters",headers=headers, verify=False) + return response def getCluster(self,name): - response = requests.request("GET", self.url + "/2/clusters/"+name,cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/clusters/"+name,cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/clusters/"+name,headers=headers, verify=False) return response def getProviderClientConfigs(self): - response = requests.request("GET", self.url + "/2/providerclientconfigs",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } - return response + # the v2 API had a "uuid" attribute while the v3 API has renamed this to "id". for the v3 API I'm adding a "uuid" key to the response (newProvidersList) + # so that we don't have to update the front end calls as it's expecting "uuid", not "id" + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers",headers=headers, verify=False) + if response: + newProviderList = [] + for provider in response.json(): + provider["uuid"] = provider["id"] + newProviderList.append(provider) + return newProviderList + + return response.text def getProviderVsphereDatacenters(self,providerClientUUID): - response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers/" + providerClientUUID + "/datacenters",headers=headers, verify=False) response = response.json() @@ -82,8 +158,17 @@ def getProviderVsphereDatacenters(self,providerClientUUID): def getProviderVsphereClusters(self,providerClientUUID,datacenterName): - response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/cluster",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/cluster",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers/" + providerClientUUID + "/clusters?datacenter="+datacenterName,headers=headers, verify=False) + response = response.json() if "Clusters" in response: @@ -93,7 +178,15 @@ def getProviderVsphereClusters(self,providerClientUUID,datacenterName): def getProviderVsphereNetworks(self,providerClientUUID,datacenterName): - response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/network",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/network",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers/" + providerClientUUID + "/networks?datacenter="+datacenterName,headers=headers, verify=False) response = response.json() @@ -104,7 +197,15 @@ def getProviderVsphereNetworks(self,providerClientUUID,datacenterName): def getProviderVsphereVMs(self,providerClientUUID,datacenterName): - response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/vm",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/vm",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers/" + providerClientUUID + "/vms?datacenter="+datacenterName,headers=headers, verify=False) response = response.json() @@ -115,7 +216,15 @@ def getProviderVsphereVMs(self,providerClientUUID,datacenterName): def getProviderVsphereDatastores(self,providerClientUUID,datacenterName): - response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/datastore",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/datastore",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers/" + providerClientUUID + "/datastores?datacenter="+datacenterName,headers=headers, verify=False) response = response.json() @@ -126,7 +235,15 @@ def getProviderVsphereDatastores(self,providerClientUUID,datacenterName): def getProviderVsphereResourcePools(self,providerClientUUID,datacenterName,clusterName): - response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/cluster/" + clusterName + "/pool",cookies=self.cookie, verify=False) + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + + if self.apiVersion == 2: + response = requests.request("GET", self.url + "/2/providerclientconfigs/" + providerClientUUID + "/vsphere/datacenter/" + datacenterName + "/cluster/" + clusterName + "/pool",cookies=self.cookie, verify=False) + else: + response = requests.request("GET", self.url + "/v3/providers/" + providerClientUUID + "/resource-pools?datacenter="+datacenterName,headers=headers, verify=False) response = response.json() @@ -138,7 +255,7 @@ def getProviderVsphereResourcePools(self,providerClientUUID,datacenterName,clust def getVIPPools(self): response = requests.request("GET", self.url + "/2/network_service/subnets",cookies=self.cookie, verify=False) - + response = response.json() if "Pools" in response: @@ -150,9 +267,20 @@ def deployCluster(self, newClusterDetails): headers = { 'content-type': 'application/json', + 'x-auth-token': self.token, } - response = requests.request("POST", self.url + "/2/clusters", json=newClusterDetails,cookies=self.cookie, headers=headers, verify=False) + if self.apiVersion == 2: + headers = { + 'content-type': 'application/json', + } + response = requests.request("POST", self.url + "/2/clusters", json=newClusterDetails,cookies=self.cookie, headers=headers, verify=False) + else: + headers = { + 'content-type': 'application/json', + 'x-auth-token': self.token, + } + response = requests.request("POST", self.url + "/v3/clusters/", json=newClusterDetails, headers=headers, verify=False) return response diff --git a/mla_app_code/ccpRequestV2.json b/mla_app_code/ccpRequestV2.json new file mode 100644 index 0000000..de16390 --- /dev/null +++ b/mla_app_code/ccpRequestV2.json @@ -0,0 +1,47 @@ +{ + "is_harbor_enabled": false, + "provider_client_config_uuid": "", + "name": "", + "kubernetes_version": "1.14.6", + "datacenter": "lab", + "cluster": "hx-cluster", + "resource_pool": "hx-cluster/Resources", + "networks": [""], + "datastore": "", + "storage_class": "vsphere", + "workers": 3, + "ssh_user": "ccpuser", + "ssh_key": "", + "type": 1, + "masters": 1, + "deployer_type": "kubeadm", + "ingress_vip_pool_id": "", + "load_balancer_ip_num": 1, + "is_istio_enabled": false, + "aws_iam_enabled": false, + "worker_node_pool": { + "vcpus": 4, + "memory": 16384, + "template": "CCP/ccp-tenant-image-1.14.6-ubuntu18-3.2.1" + }, + "master_node_pool": { + "vcpus": 2, + "memory": 16384, + "template": "CCP/ccp-tenant-image-1.12.7-ubuntu18-3.2.1" + }, + "node_ip_pool_uuid": "", + "network_plugin": { + "name": "calico", + "status": "", + "details": "{\"pod_cidr\":\"192.168.0.0/16\"}" + }, + "deployer": { + "provider_type": "vsphere", + "provider": { + "vsphere_datacenter": "lab", + "vsphere_datastore": "", + "vsphere_client_config_uuid": "", + "vsphere_working_dir": "/lab/vm" + } + } +} diff --git a/mla_app_code/ccpRequestV3.json b/mla_app_code/ccpRequestV3.json new file mode 100644 index 0000000..f16a6d9 --- /dev/null +++ b/mla_app_code/ccpRequestV3.json @@ -0,0 +1,48 @@ + { + "network_plugin_profile": { + "name": "calico", + "details": { + "pod_cidr": "192.168.0.0/16" + } + }, + "vsphere_infra": { + "datacenter": "", + "datastore": "", + "networks": [""], + "cluster": "", + "resource_pool": "" + }, + "load_balancer_num": 1, + "subnet_id": "", + "node_groups": [{ + "name": "node-group", + "size": 2, + "vcpus": 8, + "memory_mb": 16384, + "gpus": [], + "template": "ccp-tenant-image-1.14.8-ubuntu18-5.1.0", + "kubernetes_version": "1.14.8", + "ssh_user": "ccpuser", + "ssh_key": "" + }], + "master_group": { + "name": "master-group", + "size": 1, + "vcpus": 8, + "memory_mb": 16384, + "gpus": [], + "template": "ccp-tenant-image-1.14.8-ubuntu18-5.1.0", + "kubernetes_version": "1.14.8", + "ssh_user": "ccpuser", + "ssh_key": "" + }, + "kubernetes_version": "1.14.8", + "insecure_registries": [], + "root_ca_registries": [], + "ntp_servers": [], + "ntp_pools": [], + "ip_allocation_method": "ccpnet", + "provider": "", + "name": "", + "type": "vsphere" + } \ No newline at end of file diff --git a/mla_app_code/error-messages.cfg b/mla_app_code/error-messages.cfg index 5cc5c58..113bf4c 100644 --- a/mla_app_code/error-messages.cfg +++ b/mla_app_code/error-messages.cfg @@ -31,7 +31,7 @@ ERROR_CONFIGURING_NODEPORT = There was an error configuring the Kubernetes NodeP ERROR_KUBEFLOW_DASHBOARD_REACHABILITY = The Kubeflow dashboard is not reachable -ERROR_JUPYTER_NOTEBOOK = There was an error creating the Jupyter Notebook +ERROR_MLA_YAML = MLA Deployment failed INFO_CCP_LOGIN = Successfully logged into CCP @@ -80,4 +80,4 @@ INFO_CONFIGURING_NODEPORT = Configured Kubernetes NodePort INFO_JUPYTER_NOTEBOOK = The Jupyter Notebook was created -UPLOAD_FILE = Uploading notebook file failed \ No newline at end of file +INFO_MLA_YAML = MLA Deployment has started \ No newline at end of file diff --git a/mla_app_code/helmInstall.sh b/mla_app_code/helmInstall.sh deleted file mode 100755 index ad12aef..0000000 --- a/mla_app_code/helmInstall.sh +++ /dev/null @@ -1,245 +0,0 @@ -#!/usr/bin/env bash - -# Copyright The Helm Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# The install script is based off of the MIT-licensed script from glide, -# the package manager for Go: https://github.com/Masterminds/glide.sh/blob/master/get - -PROJECT_NAME="helm" -TILLER_NAME="tiller" - -: ${USE_SUDO:="true"} -: ${HELM_INSTALL_DIR:="/usr/local/bin"} - -# initArch discovers the architecture for this system. -initArch() { - ARCH=$(uname -m) - case $ARCH in - armv5*) ARCH="armv5";; - armv6*) ARCH="armv6";; - armv7*) ARCH="arm";; - aarch64) ARCH="arm64";; - x86) ARCH="386";; - x86_64) ARCH="amd64";; - i686) ARCH="386";; - i386) ARCH="386";; - esac -} - -# initOS discovers the operating system for this system. -initOS() { - OS=$(echo `uname`|tr '[:upper:]' '[:lower:]') - - case "$OS" in - # Minimalist GNU for Windows - mingw*) OS='windows';; - esac -} - -# runs the given command as root (detects if we are root already) -runAsRoot() { - local CMD="$*" - - if [ $EUID -ne 0 -a $USE_SUDO = "true" ]; then - CMD="sudo $CMD" - fi - - $CMD -} - -# verifySupported checks that the os/arch combination is supported for -# binary builds. -verifySupported() { - local supported="darwin-386\ndarwin-amd64\nlinux-386\nlinux-amd64\nlinux-arm\nlinux-arm64\nlinux-ppc64le\nwindows-386\nwindows-amd64" - if ! echo "${supported}" | grep -q "${OS}-${ARCH}"; then - echo "No prebuilt binary for ${OS}-${ARCH}." - echo "To build from source, go to https://github.com/helm/helm" - exit 1 - fi - - if ! type "curl" > /dev/null && ! type "wget" > /dev/null; then - echo "Either curl or wget is required" - exit 1 - fi -} - -# checkDesiredVersion checks if the desired version is available. -checkDesiredVersion() { - if [ "x$DESIRED_VERSION" == "x" ]; then - # Get tag from release URL - local latest_release_url="https://github.com/helm/helm/releases/latest" - if type "curl" > /dev/null; then - TAG=$(curl -Ls -o /dev/null -w %{url_effective} $latest_release_url | grep -oE "[^/]+$" ) - elif type "wget" > /dev/null; then - TAG=$(wget $latest_release_url --server-response -O /dev/null 2>&1 | awk '/^ Location: /{DEST=$2} END{ print DEST}' | grep -oE "[^/]+$") - fi - else - TAG=$DESIRED_VERSION - fi -} - -# checkHelmInstalledVersion checks which version of helm is installed and -# if it needs to be changed. -checkHelmInstalledVersion() { - if [[ -f "${HELM_INSTALL_DIR}/${PROJECT_NAME}" ]]; then - local version=$("${HELM_INSTALL_DIR}/${PROJECT_NAME}" version -c | grep '^Client' | cut -d'"' -f2) - if [[ "$version" == "$TAG" ]]; then - echo "Helm ${version} is already ${DESIRED_VERSION:-latest}" - return 0 - else - echo "Helm ${TAG} is available. Changing from version ${version}." - return 1 - fi - else - return 1 - fi -} - -# downloadFile downloads the latest binary package and also the checksum -# for that binary. -downloadFile() { - HELM_DIST="helm-$TAG-$OS-$ARCH.tar.gz" - DOWNLOAD_URL="https://get.helm.sh/$HELM_DIST" - CHECKSUM_URL="$DOWNLOAD_URL.sha256" - HELM_TMP_ROOT="$(mktemp -dt helm-installer-XXXXXX)" - HELM_TMP_FILE="$HELM_TMP_ROOT/$HELM_DIST" - HELM_SUM_FILE="$HELM_TMP_ROOT/$HELM_DIST.sha256" - echo "Downloading $DOWNLOAD_URL" - if type "curl" > /dev/null; then - curl -SsL "$CHECKSUM_URL" -o "$HELM_SUM_FILE" - elif type "wget" > /dev/null; then - wget -q -O "$HELM_SUM_FILE" "$CHECKSUM_URL" - fi - if type "curl" > /dev/null; then - curl -SsL "$DOWNLOAD_URL" -o "$HELM_TMP_FILE" - elif type "wget" > /dev/null; then - wget -q -O "$HELM_TMP_FILE" "$DOWNLOAD_URL" - fi -} - -# installFile verifies the SHA256 for the file, then unpacks and -# installs it. -installFile() { - HELM_TMP="$HELM_TMP_ROOT/$PROJECT_NAME" - local sum=$(openssl sha1 -sha256 ${HELM_TMP_FILE} | awk '{print $2}') - local expected_sum=$(cat ${HELM_SUM_FILE}) - if [ "$sum" != "$expected_sum" ]; then - echo "SHA sum of ${HELM_TMP_FILE} does not match. Aborting." - exit 1 - fi - - mkdir -p "$HELM_TMP" - tar xf "$HELM_TMP_FILE" -C "$HELM_TMP" - HELM_TMP_BIN="$HELM_TMP/$OS-$ARCH/$PROJECT_NAME" - TILLER_TMP_BIN="$HELM_TMP/$OS-$ARCH/$TILLER_NAME" - echo "Preparing to install $PROJECT_NAME and $TILLER_NAME into ${HELM_INSTALL_DIR}" - runAsRoot cp "$HELM_TMP_BIN" "$HELM_INSTALL_DIR" - echo "$PROJECT_NAME installed into $HELM_INSTALL_DIR/$PROJECT_NAME" - if [ -x "$TILLER_TMP_BIN" ]; then - runAsRoot cp "$TILLER_TMP_BIN" "$HELM_INSTALL_DIR" - echo "$TILLER_NAME installed into $HELM_INSTALL_DIR/$TILLER_NAME" - else - echo "info: $TILLER_NAME binary was not found in this release; skipping $TILLER_NAME installation" - fi -} - -# fail_trap is executed if an error occurs. -fail_trap() { - result=$? - if [ "$result" != "0" ]; then - if [[ -n "$INPUT_ARGUMENTS" ]]; then - echo "Failed to install $PROJECT_NAME with the arguments provided: $INPUT_ARGUMENTS" - help - else - echo "Failed to install $PROJECT_NAME" - fi - echo -e "\tFor support, go to https://github.com/helm/helm." - fi - cleanup - exit $result -} - -# testVersion tests the installed client to make sure it is working. -testVersion() { - set +e - HELM="$(which $PROJECT_NAME)" - if [ "$?" = "1" ]; then - echo "$PROJECT_NAME not found. Is $HELM_INSTALL_DIR on your "'$PATH?' - exit 1 - fi - set -e - echo "Run '$PROJECT_NAME init' to configure $PROJECT_NAME." -} - -# help provides possible cli installation arguments -help () { - echo "Accepted cli arguments are:" - echo -e "\t[--help|-h ] ->> prints this help" - echo -e "\t[--version|-v ] . When not defined it defaults to latest" - echo -e "\te.g. --version v2.4.0 or -v latest" - echo -e "\t[--no-sudo] ->> install without sudo" -} - -# cleanup temporary files to avoid https://github.com/helm/helm/issues/2977 -cleanup() { - if [[ -d "${HELM_TMP_ROOT:-}" ]]; then - rm -rf "$HELM_TMP_ROOT" - fi -} - -# Execution - -#Stop execution on any error -trap "fail_trap" EXIT -set -e - -# Parsing input arguments (if any) -export INPUT_ARGUMENTS="${@}" -set -u -while [[ $# -gt 0 ]]; do - case $1 in - '--version'|-v) - shift - if [[ $# -ne 0 ]]; then - export DESIRED_VERSION="${1}" - else - echo -e "Please provide the desired version. e.g. --version v2.4.0 or -v latest" - exit 0 - fi - ;; - '--no-sudo') - USE_SUDO="false" - ;; - '--help'|-h) - help - exit 0 - ;; - *) exit 1 - ;; - esac - shift -done -set +u - -initArch -initOS -verifySupported -checkDesiredVersion -if ! checkHelmInstalledVersion; then - downloadFile - installFile -fi -testVersion -cleanup \ No newline at end of file diff --git a/mla_app_code/mla_core_code.py b/mla_app_code/mla_core_code.py index 80558a4..6c8a67a 100644 --- a/mla_app_code/mla_core_code.py +++ b/mla_app_code/mla_core_code.py @@ -13,7 +13,8 @@ or implied. ''' -from flask import Flask, json, render_template, request, session, Response, jsonify, send_file, redirect +from flask import Flask, json, render_template, request, session, Response, jsonify, send_file, redirect, url_for +from werkzeug.utils import secure_filename from kubernetes import client, utils import kubernetes.utils from kubernetes.client.rest import ApiException @@ -29,6 +30,8 @@ import subprocess from datetime import timedelta +import time + import uuid import secrets @@ -48,11 +51,95 @@ ALLOWED_EXTENSIONS = set(['py']) +API_VERSION = 3 @app.route("/") def index(): if request.method == 'GET': - return render_template('stageTitle.html') + return render_template('splashScreen.html') + + +################################## +# Overview of existing Clusters +################################## +@app.route("/clusterOverview", methods = ['GET']) +def clusterOverview(): + session['sessionUUID'] = uuid.UUID(bytes=secrets.token_bytes(16)) + + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + + files = [f for f in os.listdir(kubeConfigDir) if os.path.isfile(os.path.join(kubeConfigDir, f))] + + kubeConfigs = [] + for file in files: + kubeConfigs.append(file[4:]) + + return render_template('clusterOverview.html', clusters=kubeConfigs) + + +################################## +# REGISTER EXISTING CLUSTER +################################## + +@app.route("/existingClusterUpload", methods = ['POST', 'GET']) +def existingClusterUpload(): + if request.method == 'GET': + return render_template('existingClusterUpload.html') + else: + session['sessionUUID'] = uuid.UUID(bytes=secrets.token_bytes(16)) + session['customCluster'] = True + + if 'file' not in request.files: + return 'No file provided', 400 + + #if 'clusterName' not in request.form: + #return 'Cluster name not defined', 400 + + file = request.files['file'] + #clusterName = request.form['clusterName'] + clusterName = str(session['sessionUUID']) + + if file.filename == '': + return 'No file provided', 400 + + if clusterName == '': + return 'Cluster name not defined', 400 + + if file: + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + + clusterName = clusterName.replace(' ', '_') + filename = 'k8s_' + clusterName + + file.save(os.path.join(kubeConfigDir, filename)) + return jsonify(dict(redirectURL='/deployKubeflow?cluster=' + filename)) + + +################################## +# LOGIN TO CCP +################################## + +@app.route("/ccpLogin") +def run_ccpLogin(): + + if request.method == 'POST': + + ccp = CCP("https://" + request.form['IP Address'],request.form['Username'],request.form['Password']) + + loginV2 = ccp.loginV2() + loginV3 = ccp.loginV3() + + if not loginV2 and not loginV3: + print ("There was an issue with login: " + login.text) + return render_template('ccpLogin.html') + else: + session['ccpURL'] = "https://" + request.form['IP Address'] + session['ccpToken'] = loginV2.cookies.get_dict() + session['x-auth-token'] = loginV3 + + return render_template('ccpClusterCreation.html') + + return render_template('ccpLogin.html') @app.route("/testConnection", methods = ['POST', 'GET']) @@ -63,60 +150,73 @@ def run_testConnection(): jsonData = request.get_json() ccp = CCP("https://" + jsonData['ipAddress'],jsonData['username'],jsonData['password']) - - login = ccp.login() - if not login: + + # vip pools UUID still requires the v2 API so you need to login for both the v2 and v3 API until the vip pools has been moved to v3 + + loginV2 = ccp.loginV2() + loginV3 = ccp.loginV3() + + if not loginV2 and not loginV3: socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_CCP_LOGIN }) return json.dumps({'success':False}), 401, {'ContentType':'application/json'} else: session['ccpURL'] = "https://" + jsonData['ipAddress'] - session['ccpToken'] = login.cookies.get_dict() + session['ccpToken'] = loginV2.cookies.get_dict() session['sessionUUID'] = uuid.UUID(bytes=secrets.token_bytes(16)) + session['x-auth-token'] = loginV3 socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_CCP_LOGIN }) - return jsonify(dict(redirectURL='/stage2')) + return jsonify(dict(redirectURL='/ccpClusterCreation')) - return render_template('stage1.html') - -@app.route("/stage1") -def run_stage1(): + return render_template('ccpLogin.html') - if request.method == 'POST': - ccp = CCP("https://" + request.form['IP Address'],request.form['Username'],request.form['Password']) - - login = ccp.login() +################################## +# CREATE CCP CLUSTER +################################## - if not login: - print ("There was an issue with login: " + login.text) - return render_template('stage1.html') - else: - session['ccpURL'] = "https://" + request.form['IP Address'] - session['ccpToken'] = login.cookies.get_dict() - return render_template('stage2.html') +@app.route('/checkClusterAlreadyExists', methods=['GET', 'POST']) +def checkClusterAlreadyExists(): + + if request.method == 'GET': + + if "ccpToken" in session and "x-auth-token" in session: + + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) + + jsonData = request.args.to_dict() + + clusterName = jsonData["clusterName"] - return render_template('stage1.html') + if not ccp.checkClusterAlreadyExists(clusterName): + return json.dumps({'success':True}), 200, {'ContentType':'application/json'} + else: + return json.dumps({'success':False}), 400, {'ContentType':'application/json'} -@app.route("/stage2", methods = ['POST', 'GET']) -def run_stage2(): + +@app.route("/ccpClusterCreation", methods = ['POST', 'GET']) +def run_ccpClusterCreation(): if request.method == 'POST': uuid = "" - if "ccpToken" not in session: - return render_template('stage1.html') + if "ccpToken" not in session or "x-auth-token" not in session: + return render_template('ccpLogin.html') - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) formData = request.get_json() try: - with open("ccpRequest.json") as json_data: - - clusterData = json.load(json_data) - + if API_VERSION == 2: + with open("ccpRequestV2.json") as json_data: + clusterData = json.load(json_data) + print(clusterData) + else: + with open("ccpRequestV3.json") as json_data: + clusterData = json.load(json_data) except IOError as e: socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_DEPLOY_CLUSTER_FAILED}) @@ -170,59 +270,121 @@ def run_stage2(): else: clusterData["ssh_key"] = formData["sshKey"] - - clusterData["name"] = formData["clusterName"] - clusterData["provider_client_config_uuid"] = formData["vsphereProviders"] - clusterData["name"] = formData["clusterName"] - clusterData["datacenter"] = formData["vsphereDatacenters"] - clusterData["cluster"] = formData["vsphereClusters"] - clusterData["resource_pool"] = formData["vsphereClusters"] + "/" + formData["vsphereResourcePools"] - clusterData["datastore"] = formData["vsphereDatastores"] - clusterData["deployer"]["provider"]["vsphere_client_config_uuid"] = formData["vsphereProviders"] - clusterData["deployer"]["provider"]["vsphere_datacenter"] = formData["vsphereDatacenters"] - clusterData["deployer"]["provider"]["vsphere_datastore"] = formData["vsphereDatastores"] - clusterData["deployer"]["provider"]["vsphere_working_dir"] = "/" + formData["vsphereDatacenters"] + "/vm" - clusterData["ingress_vip_pool_id"] = formData["vipPools"] - clusterData["master_node_pool"]["template"] = formData["tenantImageTemplate"] - clusterData["worker_node_pool"]["template"] = formData["tenantImageTemplate"] - clusterData["node_ip_pool_uuid"] = formData["vipPools"] - - clusterData["networks"] = [formData["vsphereNetworks"] ] + if "vsphereResourcePools" not in formData: + formData["vsphereResourcePools"] = "" + + if API_VERSION == 2: + clusterData["name"] = formData["clusterName"] + clusterData["datacenter"] = formData["vsphereDatacenters"] + clusterData["cluster"] = formData["vsphereClusters"] + clusterData["resource_pool"] = formData["vsphereClusters"] + "/" + formData["vsphereResourcePools"] + clusterData["datastore"] = formData["vsphereDatastores"] + clusterData["ingress_vip_pool_id"] = formData["vipPools"] + clusterData["master_node_pool"]["template"] = formData["tenantImageTemplate"] + clusterData["worker_node_pool"]["template"] = formData["tenantImageTemplate"] + clusterData["node_ip_pool_uuid"] = formData["vipPools"] + clusterData["networks"] = [formData["vsphereNetworks"] ] + clusterData["provider_client_config_uuid"] = formData["vsphereProviders"] + clusterData["deployer"]["provider"]["vsphere_client_config_uuid"] = formData["vsphereProviders"] + clusterData["deployer"]["provider"]["vsphere_datacenter"] = formData["vsphereDatacenters"] + clusterData["deployer"]["provider"]["vsphere_datastore"] = formData["vsphereDatastores"] + clusterData["deployer"]["provider"]["vsphere_working_dir"] = "/" + formData["vsphereDatacenters"] + "/vm" + else: + clusterData["name"] = formData["clusterName"] + clusterData["subnet_id"] = formData["vipPools"] + clusterData["master_group"]["template"] = formData["tenantImageTemplate"] + clusterData["node_groups"][0]["template"] = formData["tenantImageTemplate"] + clusterData["provider"] = formData["vsphereProviders"] + clusterData["vsphere_infra"]["datacenter"] = formData["vsphereDatacenters"] + clusterData["vsphere_infra"]["datastore"] = formData["vsphereDatastores"] + clusterData["vsphere_infra"]["networks"] = [ formData["vsphereNetworks"] ] + clusterData["vsphere_infra"]["cluster"] = formData["vsphereClusters"] + clusterData["vsphere_infra"]["resource_pool"] = formData["vsphereResourcePools"] + clusterData["node_groups"][0]["ssh_key"] = clusterData["ssh_key"] + clusterData["master_group"]["ssh_key"] = clusterData["ssh_key"] + clusterData.pop('ssh_key', None) socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DEPLOY_CLUSTER }) - + response = ccp.deployCluster(clusterData) - if (response.status_code == 200) or (response.status_code == 201) : - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DEPLOY_CLUSTER_COMPLETE }) + if API_VERSION == 2 : + + if (response.status_code == 200) or (response.status_code == 201) : + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DEPLOY_CLUSTER_COMPLETE }) - if "uuid" not in response.json(): - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_DEPLOY_CLUSTER_FAILED }) - return json.dumps({'success':False,"errorCode":"ERROR_DEPLOY_CLUSTER_FAILED","errorMessage":config.ERROR_DEPLOY_CLUSTER_FAILED,"errorMessageExtended":response.text}), 400, {'ContentType':'application/json'} + if "uuid" not in response.json(): + socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_DEPLOY_CLUSTER_FAILED }) + return json.dumps({'success':False,"errorCode":"ERROR_DEPLOY_CLUSTER_FAILED","errorMessage":config.ERROR_DEPLOY_CLUSTER_FAILED,"errorMessageExtended":response.text}), 400, {'ContentType':'application/json'} + + uuid = response.json()["uuid"] + else: + if "id" not in response.json(): + socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_DEPLOY_CLUSTER_FAILED }) + return json.dumps({'success':False,"errorCode":"ERROR_DEPLOY_CLUSTER_FAILED","errorMessage":config.ERROR_DEPLOY_CLUSTER_FAILED,"errorMessageExtended":response.text}), 400, {'ContentType':'application/json'} - uuid = response.json()["uuid"] + uuid = response.json()["id"] kubeConfig = ccp.getConfig(uuid) - if "apiVersion" in kubeConfig.text: + if API_VERSION == 2 : - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_CREATING_KUBE_CONFIG }) + if "apiVersion" in kubeConfig.text: - kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - if not os.path.exists(kubeConfigDir): - try: - os.makedirs(kubeConfigDir) - except OSError as e: - if e.errno != errno.EEXIST: - raise + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_CREATING_KUBE_CONFIG }) + + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + if not os.path.exists(kubeConfigDir): + try: + os.makedirs(kubeConfigDir) + except OSError as e: + if e.errno != errno.EEXIST: + raise + + + with open("{}/{}".format(kubeConfigDir,'k8s_' + str(session["sessionUUID"])), "w") as f: + f.write(kubeConfig.text) + else: + socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_KUBECONFIG_MISSING}) + return json.dumps({'success':False,"errorCode":"ERROR_KUBECONFIG_MISSING","errorMessage":config.ERROR_KUBECONFIG_MISSING}), 400, {'ContentType':'application/json'} - - with open("{}/{}".format(kubeConfigDir,session["sessionUUID"]), "w") as f: - f.write(kubeConfig.text) else: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_KUBECONFIG_MISSING}) - return json.dumps({'success':False,"errorCode":"ERROR_KUBECONFIG_MISSING","errorMessage":config.ERROR_KUBECONFIG_MISSING}), 400, {'ContentType':'application/json'} + # it looks like the CCP V3 API has made the cluster creation async so we get back a response straight away however + # theres a status field which shows "CREATING". Will need to wait until this is "READY" + + if "status" in kubeConfig.text: + while kubeConfig.json()["status"] == "CREATING": + kubeConfig = ccp.getConfig(uuid) + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DEPLOY_CLUSTER }) + time.sleep(30) + + if kubeConfig.json()["status"] != "READY": + socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_DEPLOY_CLUSTER_FAILED }) + return json.dumps({'success':False,"errorCode":"ERROR_DEPLOY_CLUSTER_FAILED","errorMessage":config.ERROR_DEPLOY_CLUSTER_FAILED,"errorMessageExtended":response.text}), 400, {'ContentType':'application/json'} + + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DEPLOY_CLUSTER_COMPLETE }) + + if "kubeconfig" in kubeConfig.text: + + kubeConfig = kubeConfig.json()["kubeconfig"] + + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_CREATING_KUBE_CONFIG }) + + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + if not os.path.exists(kubeConfigDir): + try: + os.makedirs(kubeConfigDir) + except OSError as e: + if e.errno != errno.EEXIST: + raise + + + with open("{}/{}".format(kubeConfigDir,session["sessionUUID"]), "w") as f: + f.write(kubeConfig) + else: + socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': config.ERROR_KUBECONFIG_MISSING}) + return json.dumps({'success':False,"errorCode":"ERROR_KUBECONFIG_MISSING","errorMessage":config.ERROR_KUBECONFIG_MISSING}), 400, {'ContentType':'application/json'} # if a proxy is required then we need to insert his once the worker nodes have been deployed @@ -252,247 +414,135 @@ def run_stage2(): socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DEPLOY_CLUSTER_COMPLETE}) - return jsonify(dict(redirectURL='/stage3')) + return jsonify(dict(redirectURL='/deployKubeflow')) elif request.method == 'GET': if "ccpToken" in session: - return render_template('stage2.html') - else: - return render_template('stage1.html') - -@app.route("/stage3", methods = ['POST', 'GET']) -def run_stage3(): - - if request.method == 'POST': - if "ccpToken" in session: - - kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"]),"KFAPP":config.KFAPP} - - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KUBECTL_STARTING_INSTALL)}) - - proc = subprocess.Popen(["kubectl","apply","-f","https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/master/nvidia-device-plugin.yml"],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_KUBECTL_NVIDIA_YAML,stderr.decode("utf-8") )}) - return json.dumps({'success':False,"errorCode":"ERROR_KUBECTL_NVIDIA_YAML","errorMessage":config.ERROR_KUBECTL_NVIDIA_YAML}), 400, {'ContentType':'application/json'} - else: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KUBECTL_NVIDIA_YAML)}) - - proc = subprocess.Popen(["helm","init", "--upgrade"],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - - - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_HELM,stderr.decode("utf-8"))}) - return json.dumps({'success': False, "errorCode": "ERROR_HELM","errorMessage": config.ERROR_HELM}), 400, {'ContentType': 'application/json'} + return render_template('ccpClusterCreation.html') else: - socketio.emit('consoleLog',{'loggingType': 'INFO', 'loggingMessage': "{}".format(config.INFO_HELM_SERVER)}) - - - # Update Helm - proc = subprocess.Popen(["helm","repo","update"],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - - - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_HELM,stderr.decode("utf-8"))}) - return json.dumps({'success': False, "errorCode": "ERROR_HELM","errorMessage": config.ERROR_HELM}), 400, {'ContentType': 'application/json'} - else: - socketio.emit('consoleLog',{'loggingType': 'INFO', 'loggingMessage': "{}".format(config.INFO_HELM_CLIENT)}) - - # Make sure all Pods are ready - helm_wait = True - while helm_wait: - helm_change = True - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + return render_template('ccpLogin.html') - kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"]),"KFAPP":config.KFAPP} - - kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,session["sessionUUID"])) - - api_instance = kubernetes.client.CoreV1Api() - api_response = api_instance.list_pod_for_all_namespaces(watch=False) - - for i in api_response.items: - if i.status.phase != "Running" and i.status.phase != "Succeeded": - helm_change = False - - if helm_change == True: - helm_wait = False - time.sleep(8) - - # Deploy NFS Server Provisioner - proc = subprocess.Popen(["helm","install","stable/nfs-server-provisioner","--name","kf-nfs","--set=persistence.enabled=true,persistence.storageClass=standard,persistence.size=200Gi"],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_NFS_SERVER,stderr.decode("utf-8"))}) - return json.dumps({'success': False, "errorCode": "ERROR_NFS_SERVER","errorMessage": config.ERROR_KUBECTL_NFS_PVC}), 400, {'ContentType': 'application/json'} - else: - socketio.emit('consoleLog',{'loggingType': 'INFO', 'loggingMessage': "{}".format(config.INFO_NFS_SERVER)}) - - # Change default storage class - try: - configuration = kubernetes.client.Configuration() - storage_api = kubernetes.client.StorageV1Api(kubernetes.client.ApiClient(configuration)) - body = { - 'metadata': { - 'annotations': { - 'storageclass.beta.kubernetes.io/is-default-class': 'false' - } - } - } - resp = storage_api.patch_storage_class('standard', body) - logging.warn(api_response) - except ApiException as e: - logging.warn("Exception when calling StorageV1Api->patch_storage_class: %s\n" % e) - - try: - configuration = kubernetes.client.Configuration() - storage_api = kubernetes.client.StorageV1Api(kubernetes.client.ApiClient(configuration)) - body = { - 'metadata': { - 'annotations': { - 'storageclass.kubernetes.io/is-default-class': 'true' - } - } - } - resp = storage_api.patch_storage_class('nfs', body) - logging.warn(api_response) - except ApiException as e: - logging.warn("Exception when calling StorageV1Api->patch_storage_class: %s\n" % e) +################################## +# DEPLOY KUBEFLOW +################################## - # Deploy PVC for RWX -# proc = subprocess.Popen(["kubectl", "apply", "-f","nfs.yaml"],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) -# proc.wait() -# (stdout, stderr) = proc.communicate() -# -# -# if proc.returncode != 0: -# socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_KUBECTL_NFS_PVC,stderr.decode("utf-8"))}) -# return json.dumps({'success': False, "errorCode": "ERROR_KUBECTL_NFS_PVC","errorMessage": config.ERROR_KUBECTL_NFS_PVC}), 400, {'ContentType': 'application/json'} -# else: -# socketio.emit('consoleLog',{'loggingType': 'INFO', 'loggingMessage': "{}".format(config.INFO_KUBECTL_NFS_PVC)}) - - - proc = subprocess.Popen(["export","KFAPP=","{}".format(config.KFAPP)],stdout=subprocess.PIPE, stderr=subprocess.PIPE,shell=True, env=kubeSessionEnv) - - proc.wait() - (stdout, stderr) = proc.communicate() - - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_EXPORT_KFAPP,stderr.decode("utf-8") )}) - return json.dumps({'success':False,"errorCode":"ERROR_EXPORT_KFAPP","errorMessage":config.ERROR_EXPORT_KFAPP}), 400, {'ContentType':'application/json'} - else: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_EXPORT_KFAPP)}) - - - if not os.path.isdir("{}".format(config.KFAPP)): - proc = subprocess.Popen(["mkdir {}".format(config.KFAPP)],stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_MKDIR_KFAPP,stderr.decode("utf-8") )}) - else: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_MKDIR_KFAPP)}) - +@app.route("/deploy", methods = ['POST']) +def deploy(): + deploy_mla('asdf') +def deploy_mla(kubeconfig_name): + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir, kubeconfig_name)} + + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KUBECTL_STARTING_INSTALL)}) + + proc = subprocess.Popen(["kubectl","apply","-f","mla_tenant.yaml"],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) + proc.wait() + (stdout, stderr) = proc.communicate() + + if proc.returncode != 0: + socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_MLA_YAML,stderr.decode("utf-8") )}) + return json.dumps({'success':False,"errorCode": "ERROR_KUBEFLOW_YAML","errorMessage":config.ERROR_MLA_YAML}), 400, {'ContentType':'application/json'} + else: + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_MLA_YAML)}) + + return - proc = subprocess.Popen(["kfctl","init", "{}".format(config.KFAPP)],stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_KFCTL_INIT,stderr.decode("utf-8") )}) - return json.dumps({'success':False,"errorCode":"ERROR_KFCTL_INIT","errorMessage":config.ERROR_KFCTL_INIT}), 400, {'ContentType':'application/json'} +@app.route("/deployKubeflow", methods = ['POST', 'GET']) +def run_deployKubeflow(): + + if request.method == 'POST': + if "customCluster" in session or ("ccpToken" in session and "x-auth-token" in session): + if "customCluster" in session: + deploy_mla('k8s_' + str(session["sessionUUID"])) else: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KFCTL_INIT)}) - - - - proc = subprocess.Popen(["kfctl","generate","all", "-V"],stdout=subprocess.PIPE, stderr=subprocess.PIPE,cwd="{}".format(config.KFAPP), env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() + deploy_mla(str(session["sessionUUID"])) + + return jsonify(dict(redirectURL='/postInstallTasks')) + else: + return jsonify(dict(redirectURL='/clusterOverview')) + + elif request.method == 'GET': - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_KFCTL_GENERATE_ALL,stderr.decode("utf-8") )}) - return json.dumps({'success':False,"errorCode":"ERROR_KFCTL_GENERATE_ALL","errorMessage":config.ERROR_KFCTL_GENERATE_ALL}), 400, {'ContentType':'application/json'} + if "customCluster" in session or ("ccpToken" in session and "x-auth-token" in session): + return render_template('deployKubeflow.html') else: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KFCTL_GENERATE_ALL)}) - - + return render_template('clusterOverview.html') - proc = subprocess.Popen(["kfctl","apply","all", "-V"],stdout=subprocess.PIPE, stderr=subprocess.PIPE,cwd="{}".format(config.KFAPP), env=kubeSessionEnv) - proc.wait() - (stdout, stderr) = proc.communicate() - if proc.returncode != 0: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_KFCTL_APPLY_ALL,stderr.decode("utf-8") )}) - return json.dumps({'success':False,"errorCode":"ERROR_KFCTL_APPLY_ALL","errorMessage":config.ERROR_KFCTL_APPLY_ALL}), 400, {'ContentType':'application/json'} - else: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KFCTL_APPLY_ALL)}) +################################## +# POST INSTALL VIEW +################################## - - - return jsonify(dict(redirectURL='/stage4')) +@app.route("/postInstallTasks", methods = ['GET']) +def run_postInstallTasks(): + cluster = request.args.get('cluster') + if "customCluster" in session or ("ccpToken" in session and "x-auth-token" in session): + if cluster != '' and cluster != None: + return render_template('postInstallTasks.html') else: - return jsonify(dict(redirectURL='/stage1')) - - elif request.method == 'GET': + return render_template('postInstallTasks.html') + else: + return render_template('clusterOverview.html') + - if "ccpToken" in session: - return render_template('stage3.html') - else: - return render_template('stage1.html') +@app.route("/mladeploymentstatus", methods = ['GET']) +def mladeploymentstatus(): + cluster = request.args.get('cluster') - -@app.route("/stage4") -def run_stage4(): + if "customCluster" in session: + cluster = 'k8s_' + str(session["sessionUUID"]) + else: + cluster = str(session["sessionUUID"]) - if request.method == 'GET': + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"])} + kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,cluster)) - if "ccpToken" in session: - return render_template('stage4.html') - else: - return render_template('stage1.html') + api_instance = kubernetes.client.CoreV1Api() -@app.route("/stage5", methods = ['POST', 'GET']) -def run_stage5(): + nodes = api_instance.list_node(watch=False) + for node in nodes.items: + for address in node.status.addresses: + if address.type == 'ExternalIP': + node_ip = address.address - if request.method == 'GET': + services = api_instance.list_namespaced_service('default') + for service in services.items: + if service.metadata.name == 'mla-svc': + node_port = service.spec.ports[0].node_port - if "ccpToken" in session: - return render_template('stage5.html') - else: - return render_template('stage1.html') + session["mla_endpoint"] = str(node_ip) + ':' + str(node_port) + + try: + status = requests.get("http://{}/status".format(session["mla_endpoint"])) + except: + return 'Pod not reachable yet', 200 + + if status.status_code == 200: + return status.text, 200 + else: + return 'Pod not reachable yet', 200 @app.route("/vsphereProviders", methods = ['POST', 'GET']) def run_vsphereProviders(): if request.method == 'GET': + + if "ccpToken" in session and "x-auth-token" in session: - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) response = ccp.getProviderClientConfigs() if response: socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VSPHERE_PROVIDERS }) - return response.text + return jsonify(response) else: - return [config.ERROR_VSPHERE_PROVIDERS] + return config.ERROR_VSPHERE_PROVIDERS, 400 @app.route("/vsphereDatacenters", methods = ['POST', 'GET']) def run_vsphereDatacenters(): @@ -500,8 +550,8 @@ def run_vsphereDatacenters(): if request.method == 'GET': - if "ccpToken" in session: - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -519,8 +569,8 @@ def run_vsphereClusters(): if request.method == 'GET': - if "ccpToken" in session: - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -530,7 +580,7 @@ def run_vsphereClusters(): socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VSPHERE_CLUSTERS }) return jsonify(response) else: - return [] + return jsonify("[]") @app.route("/vsphereResourcePools", methods = ['POST', 'GET']) def run_vsphereResourcePools(): @@ -538,9 +588,8 @@ def run_vsphereResourcePools(): if request.method == 'GET': - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -548,9 +597,10 @@ def run_vsphereResourcePools(): if response: socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VSPHERE_RESOURCE_POOLS }) + return jsonify(response) else: - return [] + return jsonify("[]") @app.route("/vsphereNetworks", methods = ['POST', 'GET']) def run_vsphereNetworks(): @@ -558,9 +608,8 @@ def run_vsphereNetworks(): if request.method == 'GET': - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -570,7 +619,7 @@ def run_vsphereNetworks(): socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VSPHERE_NETWORKS }) return jsonify(response) else: - return [] + return jsonify("[]") @app.route("/vsphereDatastores", methods = ['POST', 'GET']) def run_vsphereDatastores(): @@ -578,9 +627,8 @@ def run_vsphereDatastores(): if request.method == 'GET': - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -590,7 +638,7 @@ def run_vsphereDatastores(): socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VSPHERE_DATASTORES }) return jsonify(response) else: - return [] + return jsonify("[]") @app.route("/vsphereVMs", methods = ['POST', 'GET']) def run_vsphereVMs(): @@ -598,9 +646,8 @@ def run_vsphereVMs(): if request.method == 'GET': - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -610,16 +657,15 @@ def run_vsphereVMs(): socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VSPHERE_VMS }) return jsonify(response) else: - return [] + return jsonify("[]") @app.route("/vipPools", methods = ['POST', 'GET']) def run_vipPools(): if request.method == 'GET': - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) jsonData = request.args.to_dict() @@ -629,45 +675,47 @@ def run_vipPools(): socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_VIP_POOLS }) return jsonify(response) else: - return [] + return jsonify("[]") @app.route("/clusterConfigTemplate", methods = ['POST', 'GET']) def run_clusterConfigTemplate(): if request.method == 'GET': - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) + if "ccpToken" in session and "x-auth-token" in session: + ccp = CCP(session['ccpURL'],"","",session['ccpToken'],session['x-auth-token']) try: - with open("ccpRequest.json") as json_data: - clusterData = json.load(json_data) - return jsonify(clusterData) + + if API_VERSION == 2: + with open("ccpRequestV2.json") as json_data: + clusterData = json.load(json_data) + return jsonify(clusterData) + else: + with open("ccpRequestV3.json") as json_data: + clusterData = json.load(json_data) + return jsonify(clusterData) + except IOError as e: return "I/O error({0}): {1}".format(e.errno, e.strerror) @app.route("/viewPods", methods = ['POST', 'GET']) def run_viewPods(): - if request.method == 'GET': + if "customCluster" in session or ("ccpToken" in session and "x-auth-token" in session): - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) - + if "customCluster" in session: + cluster = 'k8s_' + str(session["sessionUUID"]) + else: + cluster = str(session["sessionUUID"]) kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"]),"KFAPP":config.KFAPP} - #kubeSessionEnv = {**os.environ, 'KUBECONFIG': "kubeconfig.yaml","KFAPP":config.KFAPP} - - kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,session["sessionUUID"])) - #kubeConfig.load_kube_config(config_file="kubeconfig.yaml") - + kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,cluster),"KFAPP":config.KFAPP} + + kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,cluster)) + api_instance = kubernetes.client.CoreV1Api() - - api_response = api_instance.list_pod_for_all_namespaces( watch=False) podsToReturn = [] @@ -676,14 +724,17 @@ def run_viewPods(): return jsonify(podsToReturn) +# No longer need to toggle the ingress since Kubeflow is using Istio for ingress +''' @app.route("/toggleIngress", methods = ['POST', 'GET']) def run_toggleIngress(): if request.method == 'POST': - if "ccpToken" in session: + if "ccpToken" in session and "x-auth-token" in session: + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"]),"KFAPP":config.KFAPP} + kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,'k8s_' + str(session["sessionUUID"])),"KFAPP":config.KFAPP} #kubeSessionEnv = {**os.environ, 'KUBECONFIG': "kubeconfig.yaml","KFAPP":config.KFAPP} socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KUBECTL_DEPLOY_INGRESS)}) @@ -716,19 +767,20 @@ def run_toggleIngress(): return getIngressDetails() +''' @app.route("/checkIngress", methods = ['POST', 'GET']) def run_checkIngress(): if request.method == 'GET': - if "ccpToken" in session: + if "ccpToken" in session and "x-auth-token" in session: return getIngressDetails() @app.route("/checkKubeflowDashboardReachability", methods = ['POST', 'GET']) def run_checkKubeflowDashboardReachability(): if request.method == 'GET': - if "ccpToken" in session: + if "ccpToken" in session and "x-auth-token" in session: ingress = getIngressDetails() if ingress == None: @@ -747,16 +799,18 @@ def run_checkKubeflowDashboardReachability(): return json.dumps({'success':False,"errorCode":"ERROR_KUBEFLOW_DASHBOARD_REACHABILITY","errorMessage":config.ERROR_KUBEFLOW_DASHBOARD_REACHABILITY}), 400, {'ContentType':'application/json'} +# Don't need this since the details come from the Istio Ingress +''' def getIngressDetails(): - if "ccpToken" in session: + if "ccpToken" in session and "x-auth-token" in session: kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"]),"KFAPP":config.KFAPP} + kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,'k8s_' + str(session["sessionUUID"])),"KFAPP":config.KFAPP} socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': "{}".format(config.INFO_KUBECTL_DEPLOY_INGRESS)}) - kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,session["sessionUUID"])) + kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,'k8s_' + str(session["sessionUUID"]))) #kubeConfig.load_kube_config(config_file="kubeconfig.yaml") api_instance = kubernetes.client.ExtensionsV1beta1Api() @@ -793,217 +847,21 @@ def getIngressDetails(): if workerAddress and workerPort: return jsonify({"ACCESSTYPE": "NodePort", "IP":"{}:{}".format(workerAddress,workerPort)}) +''' - - - -@app.route('/downloadKubeconfig', methods=['GET', 'POST']) -def downloadKubeconfig_redirect(): - - return redirect('/downloadKubeconfig/kubeconfig.yaml') - -@app.route('/downloadKubeconfig/', methods=['GET', 'POST']) +@app.route('/downloadKubeconfig/', defaults={'filename': None}, methods=['GET']) def downloadKubeconfig(filename): - - if request.method == 'GET': - - if "ccpToken" in session: - socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DOWNLOAD_KUBECONFIG }) - kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - return send_file("{}/{}".format(kubeConfigDir,session['sessionUUID'])) - #return send_file("kubeconfig.yaml") - else: - return render_template('stage1.html') - -@app.route('/checkClusterAlreadyExists', methods=['GET', 'POST']) -def checkClusterAlreadyExists(): - - if request.method == 'GET': - - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) - - jsonData = request.args.to_dict() - - clusterName = jsonData["clusterName"] - - if not ccp.checkClusterAlreadyExists(clusterName): - return json.dumps({'success':True}), 200, {'ContentType':'application/json'} - else: - return json.dumps({'success':False}), 400, {'ContentType':'application/json'} - -@app.route('/createNotebookServer', methods=['GET', 'POST']) -def run_createNotebookServer(): - - if request.method == 'POST': - - if "ccpToken" in session: - - ingress = getIngressDetails() - - if ingress == None: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_CONFIGURING_INGRESS,stderr.decode("utf-8") )}) - else: - ingress = ingress.json - - headers = { - 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' - } - - new_notebooks = [ - { - 'name': config.NOTEBOOK_NAME, - 'cpu': config.NOTEBOOK_CPU, - 'memory': config.NOTEBOOK_MEMORY - } - ] - - for new_nb in new_notebooks: - data = 'nm=' + new_nb['name'] + '&ns=kubeflow&imageType=standard&standardImages=gcr.io%2Fkubeflow-images-public%2Ftensorflow-1.13.1-notebook-cpu%3Av0.5.0&customImage=&cpu=' + new_nb['cpu'] + '&memory=' + new_nb['memory'] + '&ws_size=10&ws_access_modes=ReadWriteOnce&ws_type=New&ws_name=' + new_nb['name'] + '&ws_mount_path=%2Fhome%2Fjovyan&extraResources=%7B%7D' - #data = 'nm=' + new_nb['name'] + '&ns=kubeflow&imageType=standard&standardImages=gcr.io%2Fkubeflow-images-public%2Ftensorflow-1.13.1-notebook-cpu%3Av0.5.0&customImage=&cpu=' + new_nb['cpu'] + '&memory=' + new_nb['memory'] + '&ws_type=Existing&ws_name=' + new_nb['name'] + '&ws_mount_path=%2Fhome%2Fjovyan&extraResources=%7B%7D' - - response = requests.post('http://' + ingress["IP"] + '/jupyter/api/namespaces/kubeflow/notebooks', data, headers=headers, verify=False) - - status = response.json() - - if not status["success"]: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_JUPYTER_NOTEBOOK,status["log"] )}) - return json.dumps({'success':False,"errorCode":"ERROR_JUPYTER_NOTEBOOK","message":config.ERROR_JUPYTER_NOTEBOOK}), 400, {'ContentType':'application/json'} - - ready = False - timeout = False - counter = 0 - - while not (ready or timeout): - - counter += 1 - nblist = get_notebooks(ingress["IP"]) - loop_ready = True - for nb in nblist: - if 'running' not in nb['status'].keys(): - loop_Ready = False - - if loop_ready == True: - ready = True - - if counter > 1000 and ready == False: - timeout = True - - if response.status_code == 200: - return json.dumps({'success':True,"errorCode":"INFO_JUPYTER_NOTEBOOK","message":config.INFO_JUPYTER_NOTEBOOK}), 200, {'ContentType':'application/json'} - else: - return json.dumps({'success':False,"errorCode":"ERROR_JUPYTER_NOTEBOOK","message":config.ERROR_JUPYTER_NOTEBOOK}), 400, {'ContentType':'application/json'} - - - else: - return render_template('stage1.html') - -@app.route('/uploadFiletoJupyter', methods=['GET', 'POST']) -def run_uploadFiletoJupyter(): - - if request.method == 'POST': - - if "ccpToken" in session: - - # Read IPYNB and PVC file names - path = './demos/ipynb/' - ipynb = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))] - - path = './demos/pvc/' - pvcfiles = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))] - - # Load Kubeconfig - kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) - kubeSessionEnv = {**os.environ, 'KUBECONFIG': "{}/{}".format(kubeConfigDir,session["sessionUUID"]),"KFAPP":config.KFAPP} - - kubeConfig.load_kube_config(config_file="{}/{}".format(kubeConfigDir,session["sessionUUID"])) - - # # Apply PVC - client_config = client.Configuration() - client_config.verify_ssl = False - k8s_client = client.ApiClient(client_config) - - for file in pvcfiles: - logging.warning(file) - utils.create_from_yaml( - k8s_client = k8s_client, - yaml_file = os.path.join(os.getcwd(),'demos', 'pvc', file), - namespace = "kubeflow" - ) - # Upload file - ingress = getIngressDetails() - - if ingress == None: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.UPLOAD_FILE,stderr.decode("utf-8") )}) - else: - ingress = ingress.json - - xsrf = get_jupyter_cookie(ingress["IP"]) - - headers = { - 'Content-Type': 'application/json', - 'X-XSRFToken': xsrf - } - - overall_status = True - for file in ipynb: - file_path = os.path.join(os.getcwd(),'demos', 'ipynb') - file_content = json.loads(open(os.path.join(file_path, file)).read()) - - data = {'name':file,'path':file,'type':'notebook','format':'json','content':file_content} - - response = requests.put('http://' + ingress["IP"] + '/notebook/kubeflow/'+ config.NOTEBOOK_NAME +'/api/contents/' + file, cookies=dict(_xsrf=xsrf), headers=headers, data=json.dumps(data), verify=False) - - status = response.json() - - if response.status_code == 200 or response.status_code == 201: - pass - else: - overall_status = False - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_JUPYTER_NOTEBOOK,status["message"] )}) - - if overall_status == True: - return json.dumps({'success':True,"errorCode":"INFO_JUPYTER_NOTEBOOK","message":config.INFO_JUPYTER_NOTEBOOK}), 200, {'ContentType':'application/json'} - else: - return json.dumps({'success':False,"errorCode":"ERROR_JUPYTER_NOTEBOOK","message":config.ERROR_JUPYTER_NOTEBOOK}), 400, {'ContentType':'application/json'} - + if "customCluster" in session or ("ccpToken" in session and "x-auth-token" in session): + socketio.emit('consoleLog', {'loggingType': 'INFO','loggingMessage': config.INFO_DOWNLOAD_KUBECONFIG }) + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + if "customCluster" in session: + cluster = 'k8s_' + str(session["sessionUUID"]) else: - return render_template('stage1.html') + cluster = str(session["sessionUUID"]) -@app.route('/verifyNotebooks', methods=['GET']) -def verifyNotebooks(): - - if request.method == 'GET': - - if "ccpToken" in session: - - ccp = CCP(session['ccpURL'],"","",session['ccpToken']) - - ingress = getIngressDetails() - - if ingress == None: - socketio.emit('consoleLog', {'loggingType': 'ERROR','loggingMessage': "{} - {}".format(config.ERROR_CONFIGURING_INGRESS,stderr.decode("utf-8") )}) - else: - ingress = ingress.json - - notebooks = get_notebooks(ingress["IP"]) - - for notebook in notebooks: - if notebook["name"] == config.NOTEBOOK_NAME: - return jsonify(notebook) - - return jsonify([]) - -def get_notebooks(ip): - nblist = requests.get('http://' + ip + '/jupyter/api/namespaces/kubeflow/notebooks', verify=False) - nblist = json.loads(nblist.content) - return nblist['notebooks'] - - -def get_jupyter_cookie(ip): - req = requests.get('http://' + ip + '/notebook/kubeflow/'+ config.NOTEBOOK_NAME +'/tree?',verify=False) - return req.cookies['_xsrf'] + return send_file("{}/{}".format(kubeConfigDir,cluster)) + else: + return "Not found", 400 def allowed_file(filename): @@ -1021,5 +879,10 @@ def make_session_permanent(): if __name__ == "__main__": app.secret_key = "4qDID0dZoQfZOdVh5BzG" + + kubeConfigDir = os.path.expanduser(config.KUBE_CONFIG_DIR) + if not os.path.exists(kubeConfigDir): + os.mkdir(kubeConfigDir) + app.run(host='0.0.0.0', port=5000) socketio.run(app) diff --git a/mla_app_code/mla_tenant.yaml b/mla_app_code/mla_tenant.yaml new file mode 100644 index 0000000..4f56bfa --- /dev/null +++ b/mla_app_code/mla_tenant.yaml @@ -0,0 +1,66 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mla-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50M +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: mlav2-role +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mlav2-role +subjects: +- kind: ServiceAccount + name: mlav2-role + namespace: default +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +--- +apiVersion: v1 +kind: Pod +metadata: + name: mlav2 + labels: + app: mla +spec: + serviceAccountName: mlav2-role + volumes: + - name: mla-pv + persistentVolumeClaim: + claimName: mla-pvc + containers: + - name: setup + imagePullPolicy: Always + image: mimaurer/mlav2setup:test + volumeMounts: + - name: mla-pv + mountPath: /usr/mnt + - name: webserver + imagePullPolicy: Always + image: mimaurer/mlav2web:test + volumeMounts: + - name: mla-pv + mountPath: /usr/mnt +--- +apiVersion: v1 +kind: Service +metadata: + name: mla-svc +spec: + type: NodePort + ports: + - port: 5000 + protocol: TCP + selector: + app: mla \ No newline at end of file diff --git a/mla_app_code/nfs.yaml b/mla_app_code/nfs.yaml deleted file mode 100644 index 9faec4d..0000000 --- a/mla_app_code/nfs.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: kubeflow ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: nfs - namespace: kubeflow - annotations: - dummy: "test" -spec: - storageClassName: "nfs" - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 20Gi diff --git a/mla_app_code/static/css/style.css b/mla_app_code/static/css/style.css index 4073b2c..adbd969 100644 --- a/mla_app_code/static/css/style.css +++ b/mla_app_code/static/css/style.css @@ -7,4 +7,40 @@ .card_form{ margin-top:10px; } + +.resultrow { + height: 48px; +} + +#clusterButtonRow { + background-color: rgba(0,0,0,0.08); + height: 58px; + position: relative; +} + +#clusterButtonRow div { + line-height: 58px; + font-size: 22px; + margin-left: 40px; +} + +#clusterButtonRow input[type=submit] { + width: 250px; + margin-top: 9px; + position: absolute; +} + +.clusterAction { + background-color: #017CAD !important; + color: #FFF !important; + border-radius: 2rem !important; + width: 150px !important; + margin-top: 5px !important; +} + +.clusterAction:hover { + background-color: #017CAD !important; + color: #FFF !important; +} + .container,.container-fluid{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto;width:100%}.cui .blurred,.cui .disable-pointer{pointer-events:none!important}.cui .hero--blue a:not(.btn),.cui .hero--danger a:not(.btn),.cui .hero--dkgray a:not(.btn),.cui .hero--green a:not(.btn),.cui .hero--indigo a:not(.btn),.cui .hero--success a:not(.btn),.cui .hero--vibblue a:not(.btn),.cui .hero--warning a:not(.btn),.cui .panel--blue a:not(.btn),.cui .panel--dkgray a:not(.btn),.cui .panel--green a:not(.btn),.cui .panel--indigo a:not(.btn),.cui .panel--success a:not(.btn),.cui .panel--vibblue a:not(.btn),.cui .panel--warning a:not(.btn){-webkit-text-decoration:underline dotted}.cui .grid,.cui .grid.grid--spacing-qtr{grid-gap:5px}.cui .breadcrumb,.cui .dropdown__menu,.cui .list,.cui .sidebar ul,.cui .ui-steps,.cui ol.list--unstyled,.cui ol.list--unstyled ol,.cui ol.list--unstyled ul,.cui ul.list--unstyled,.cui ul.list--unstyled ol,.cui ul.list--unstyled ul{list-style:none}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:992px}}@media (min-width:1200px){.container{max-width:1440px}}.row{display:flex;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:10px;padding-left:10px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:none}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:none}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:none}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:none}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:none}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center,.cui .flex-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.full-page{position:fixed;top:0;right:0;bottom:0;left:0}.divider--vertical>:after{color:#9e9ea2;content:'|';margin:0 5px;padding:0}.cui .btn,.cui .btn.btn--icon,.cui .btn.btn--icon.btn--large,.cui .btn.btn--icon.btn--small,.cui .btn.btn--small,.cui .link,.cui a:not(.btn),.cui.cui--compressed .btn,.cui.cui--compressed .btn.btn--icon{display:inline-block;-moz-appearance:none;-webkit-appearance:none;border-width:0;border-radius:30px;font-weight:inherit;cursor:pointer;-webkit-font-smoothing:inherit}@font-face{font-family:CiscoSans;font-style:normal;font-weight:100;src:url(/static/fonts/CiscoSans/CiscoSansTTThin.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTThin.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:oblique;font-weight:100;src:url(/static/fonts/CiscoSans/CiscoSansTTThinOblique.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTThinOblique.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:normal;font-weight:200;src:url(/static/fonts/CiscoSans/CiscoSansTTExtraLight.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTExtraLight.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:oblique;font-weight:200;src:url(/static/fonts/CiscoSans/CiscoSansTTExtraLightOblique.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTExtraLightOblique.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:normal;font-weight:300;src:url(/static/fonts/CiscoSans/CiscoSansTTLight.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTLight.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:oblique;font-weight:300;src:url(/static/fonts/CiscoSans/CiscoSansTTLightOblique.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTLightOblique.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:normal;font-weight:400;src:url(/static/fonts/CiscoSans/CiscoSansTTRegular.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTRegular.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:oblique;font-weight:400;src:url(/static/fonts/CiscoSans/CiscoSansTTRegularOblique.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTRegularOblique.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:bold;font-weight:700;src:url(/static/fonts/CiscoSans/CiscoSansTTBold.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTBold.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:oblique;font-weight:700;src:url(/static/fonts/CiscoSans/CiscoSansTTBoldOblique.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTBoldOblique.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:normal;font-weight:900;src:url(/static/fonts/CiscoSans/CiscoSansTTHeavy.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTHeavy.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:CiscoSans;font-style:oblique;font-weight:900;src:url(/static/fonts/CiscoSans/CiscoSansTTHeavyOblique.woff2) format("woff2"),url(/static/fonts/CiscoSans/CiscoSansTTHeavyOblique.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}html{height:100%;font-size:62.5%}.cui body,body.cui{color:#58585b;font-family:CiscoSans,Arial,sans-serif;line-height:2rem;font-weight:400;font-size:1.4rem;position:relative;min-width:320px;max-width:2560px;height:100%;margin:0;padding:0;overflow:hidden;direction:ltr;text-align:left;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:cui-font;src:url(/static/fonts/cui-font.eot);src:url(/static/fonts/cui-font.eot?#iefix) format("eot"),url(/static/fonts/cui-font.woff2) format("woff2"),url(/static/fonts/cui-font.woff) format("woff"),url(/static/fonts/cui-font.ttf) format("truetype"),url(/static/fonts/cui-font.svg#cui-font) format("svg")}.cui .checkbox .checkbox__input:after,.cui .dropdown>.btn:after,.cui .dropdown>a:after,.cui .dropdown__menu a.selected:after,.cui .form-dropdown__chevron:after,.cui .form-group .form-group__text.select:after,.cui .form-group--error .form-group__text.select:after,.cui .form-group--error .form-group__text:after,.cui .panel.panel--blue .checkbox .checkbox__input:after,.cui .panel.panel--dkgray .checkbox .checkbox__input:after,.cui .panel.panel--indigo .checkbox .checkbox__input:after,.cui .panel.panel--success .checkbox .checkbox__input:after,.cui .sidebar ul li.sidebar-drawer>a:after,.cui .sidebar ul li.sidebar__drawer>a:after,[class*=icon-]{position:relative;display:inline-block;font-family:cui-font;font-size:inherit;font-style:normal;font-weight:400;speak:none;text-decoration:inherit;text-transform:none;text-rendering:optimizeLegibility;vertical-align:middle;text-indent:.5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cui .absolute,.cui .absolute-bottom,.cui .absolute-center,.cui .absolute-left,.cui .absolute-right,.cui .absolute-top{position:absolute!important}.icon--medium{font-size:3.2rem}.icon--large{font-size:4.8rem}.icon-4-way-nav:before{content:""}.icon-ac-power:before{content:""}.icon-account:before{content:""}.icon-acessibility:before{content:""}.icon-active-speaker-cross:before{content:""}.icon-active-speaker:before{content:""}.icon-activities:before{content:""}.icon-add-contact:before{content:""}.icon-add-contain:before{content:""}.icon-add-outline:before{content:""}.icon-add:before{content:""}.icon-admin:before{content:""}.icon-alarm:before{content:""}.icon-alert-blank:before{content:""}.icon-alert:before{content:""}.icon-alerting:before{content:""}.icon-all-calls:before{content:""}.icon-analysis:before{content:""}.icon-android-home:before{content:""}.icon-animation:before{content:""}.icon-annotation:before{content:""}.icon-answer-oldest:before{content:""}.icon-applause:before{content:""}.icon-application:before{content:""}.icon-applications:before{content:""}.icon-arrow-down-tail:before{content:""}.icon-arrow-left-tail:before{content:""}.icon-arrow-right-tail:before{content:""}.icon-arrow-up-tail:before{content:""}.icon-arrow:before{content:""}.icon-asterisk:before{content:""}.icon-at-contain:before{content:""}.icon-at:before{content:""}.icon-attachment:before{content:""}.icon-audio-broadcast:before{content:""}.icon-audio-min:before{content:""}.icon-audio-plus:before{content:""}.icon-audio-settings:before{content:""}.icon-aux-camera:before{content:""}.icon-back:before{content:""}.icon-backup-data:before{content:""}.icon-battery-0:before{content:""}.icon-battery-25:before{content:""}.icon-battery-50:before{content:""}.icon-battery-75:before{content:""}.icon-battery-full:before{content:""}.icon-battery:before{content:""}.icon-bell-cross:before{content:""}.icon-bell:before{content:""}.icon-blocked:before{content:""}.icon-bluetooth-contain-cross:before{content:""}.icon-bluetooth-contained:before{content:""}.icon-bluetooth-outline:before{content:""}.icon-bluetooth:before{content:""}.icon-bookmark:before{content:""}.icon-briefcase:before{content:""}.icon-brightness:before{content:""}.icon-broadcast-message:before{content:""}.icon-broken-image:before{content:""}.icon-browser:before{content:""}.icon-bug:before{content:""}.icon-calendar-meetings:before{content:""}.icon-calendar-weekly:before{content:""}.icon-calendar:before{content:""}.icon-call-forward-divert:before{content:""}.icon-call-handling:before{content:""}.icon-call-log:before{content:""}.icon-call-rate:before{content:""}.icon-callback:before{content:""}.icon-camera:before{content:""}.icon-cart:before{content:""}.icon-certified:before{content:""}.icon-chapters:before{content:""}.icon-charging:before{content:""}.icon-chats:before{content:""}.icon-check-outline:before{content:""}.icon-check-square-o:before{content:""}.icon-check-square:before{content:""}.icon-check:before{content:""}.icon-chevron-down:before{content:""}.icon-chevron-left:before{content:""}.icon-chevron-right-circle:before{content:""}.icon-chevron-right:before{content:""}.icon-chevron-up:before{content:""}.icon-circle:before{content:""}.icon-cisco:before{content:""}.icon-clipboard-md:before{content:""}.icon-clipboard-sm:before{content:""}.icon-clipboard:before{content:""}.icon-clock:before{content:""}.icon-close-keyboard:before{content:""}.icon-close:before{content:""}.icon-cloud-upload:before{content:""}.icon-cloud:before{content:""}.icon-cog:before{content:""}.icon-comment:before{content:""}.icon-communities:before{content:""}.icon-community:before{content:""}.icon-compass:before{content:""}.icon-computer-queue:before{content:""}.icon-computer:before{content:""}.icon-conference:before{content:""}.icon-contact-card:before{content:""}.icon-contact:before{content:""}.icon-contract-login-md:before{content:""}.icon-contract-login-sm:before{content:""}.icon-contract-login:before{content:""}.icon-cpu-chip:before{content:""}.icon-create-page:before{content:""}.icon-data-usage:before{content:""}.icon-day:before{content:""}.icon-dc-power:before{content:""}.icon-default-app:before{content:""}.icon-delete:before{content:""}.icon-desk-phone:before{content:""}.icon-devices:before{content:""}.icon-diagnostics:before{content:""}.icon-dial:before{content:""}.icon-directory:before{content:""}.icon-disc-not-connected:before{content:""}.icon-disc:before{content:""}.icon-display:before{content:""}.icon-dms:before{content:""}.icon-document-camera-cross:before{content:""}.icon-document-camera:before{content:""}.icon-document:before{content:""}.icon-download-contain:before{content:""}.icon-download:before{content:""}.icon-draw:before{content:""}.icon-dropdown:before{content:""}.icon-dual-line:before{content:""}.icon-edit-call:before{content:""}.icon-edit:before{content:""}.icon-email:before{content:""}.icon-emoticons:before{content:""}.icon-endpoint:before{content:""}.icon-eraser:before{content:""}.icon-error-outline:before{content:""}.icon-error:before{content:""}.icon-ethernet:before{content:""}.icon-exclamation-circle:before{content:""}.icon-exclamation-triangle:before{content:""}.icon-exernal-calendar:before{content:""}.icon-exit-contain:before{content:""}.icon-exit-fullscreen:before{content:""}.icon-exit-outline:before{content:""}.icon-exit:before{content:""}.icon-export:before{content:""}.icon-extension-mobility:before{content:""}.icon-eye-closed:before{content:""}.icon-eye:before{content:""}.icon-fbw:before{content:""}.icon-feedback-clear:before{content:""}.icon-feedback-result:before{content:""}.icon-feedback:before{content:""}.icon-ffw:before{content:""}.icon-file-archive-o:before{content:""}.icon-file-audio-o:before{content:""}.icon-file-code-o:before{content:""}.icon-file-excel-o:before{content:""}.icon-file-image-o:before{content:""}.icon-file-o:before{content:""}.icon-file-pdf-o:before{content:""}.icon-file-powerpoint-o:before{content:""}.icon-file-text-o:before{content:""}.icon-file-text:before{content:""}.icon-file-video-o:before{content:""}.icon-file-word-o:before{content:""}.icon-file:before{content:""}.icon-filter:before{content:""}.icon-flagged:before{content:""}.icon-folder:before{content:""}.icon-forced-sign-in:before{content:""}.icon-forward-to-mobility:before{content:""}.icon-fullscreen:before{content:""}.icon-general-source-cross:before{content:""}.icon-general-source:before{content:""}.icon-google-analytics:before{content:""}.icon-gpu-graphicscard:before{content:""}.icon-graph:before{content:""}.icon-grid-view:before{content:""}.icon-ground:before{content:""}.icon-group-call:before{content:""}.icon-group-chat:before{content:""}.icon-headset-cross:before{content:""}.icon-headset:before{content:""}.icon-help-alt:before{content:""}.icon-help-outline:before{content:""}.icon-help:before{content:""}.icon-hide-editor:before{content:""}.icon-highlight-line:before{content:""}.icon-highlight:before{content:""}.icon-highlighter-check:before{content:""}.icon-highlighter:before{content:""}.icon-home:before{content:""}.icon-hue:before{content:""}.icon-hunt-group:before{content:""}.icon-idefix:before{content:""}.icon-image-contain:before{content:""}.icon-image:before{content:""}.icon-import:before{content:""}.icon-inbox:before{content:""}.icon-incoming-call:before{content:""}.icon-info-circle:before{content:""}.icon-info-outline:before{content:""}.icon-info:before{content:""}.icon-instant-meeting:before{content:""}.icon-intercom-duplex-connected:before{content:""}.icon-intercom-whisper:before{content:""}.icon-intercom:before{content:""}.icon-invite:before{content:""}.icon-jump-out:before{content:""}.icon-key-expansion-module:before{content:""}.icon-keyboard-close:before{content:""}.icon-keyboard:before{content:""}.icon-keywords:before{content:""}.icon-language:before{content:""}.icon-laser-pointer:before{content:""}.icon-layers:before{content:""}.icon-layout:before{content:""}.icon-leave-meeting:before{content:""}.icon-left-arrow:before{content:""}.icon-lightbulb:before{content:""}.icon-like:before{content:""}.icon-line-out-left:before{content:""}.icon-line-out-right:before{content:""}.icon-link-broken:before{content:""}.icon-link:before{content:""}.icon-list-menu:before{content:""}.icon-list-view:before{content:""}.icon-location:before{content:""}.icon-lock-contain:before{content:""}.icon-lock:before{content:""}.icon-locked-speaker:before{content:""}.icon-mail-read:before{content:""}.icon-mail:before{content:""}.icon-manage-cable:before{content:""}.icon-maximize:before{content:""}.icon-media-viewer:before{content:""}.icon-meet-me:before{content:""}.icon-meeting-room:before{content:""}.icon-memory-ram:before{content:""}.icon-merge-call:before{content:""}.icon-message:before{content:""}.icon-mic-in:before{content:""}.icon-micro-blog:before{content:""}.icon-microphone:before{content:""}.icon-minimize:before{content:""}.icon-missed-call:before{content:""}.icon-mlpp-1:before{content:""}.icon-mlpp-2:before{content:""}.icon-mlpp-3:before{content:""}.icon-mlpp-4:before{content:""}.icon-mlpp-5:before{content:""}.icon-mobile-phone:before{content:""}.icon-mobile-presenter:before{content:""}.icon-month:before{content:""}.icon-more:before{content:""}.icon-move-page:before{content:""}.icon-multi-display:before{content:""}.icon-music:before{content:""}.icon-mute:before{content:""}.icon-network:before{content:""}.icon-new-call:before{content:""}.icon-no-signal:before{content:""}.icon-notebook-in:before{content:""}.icon-notes:before{content:""}.icon-numbered-input:before{content:""}.icon-numbered-output:before{content:""}.icon-off-hook:before{content:""}.icon-other-phone:before{content:""}.icon-outbox:before{content:""}.icon-outgoing-call:before{content:""}.icon-paired-audio:before{content:""}.icon-paired-call:before{content:""}.icon-panel-shift-left:before{content:""}.icon-panel-shift-right:before{content:""}.icon-parked:before{content:""}.icon-participant-list:before{content:""}.icon-pass-mouse:before{content:""}.icon-pause:before{content:""}.icon-pc:before{content:""}.icon-pencil:before{content:""}.icon-persistent-chat:before{content:""}.icon-phone-cross:before{content:""}.icon-phone:before{content:""}.icon-picture-in-picture:before{content:""}.icon-pin:before{content:""}.icon-pip-0:before{content:""}.icon-pip-1:before{content:""}.icon-pip-2:before{content:""}.icon-pip-3:before{content:""}.icon-pip:before{content:""}.icon-play-contained:before{content:""}.icon-play:before{content:""}.icon-playlist:before{content:""}.icon-plugin:before{content:""}.icon-plus:before{content:""}.icon-point:before{content:""}.icon-poll:before{content:""}.icon-popout:before{content:""}.icon-popup-dialogue:before{content:""}.icon-power-contain:before{content:""}.icon-power:before{content:""}.icon-presence-available:before{content:""}.icon-presence-end:before{content:""}.icon-presence-offline:before{content:""}.icon-presentation:before{content:""}.icon-prevent-download-contain:before{content:""}.icon-prevent-download:before{content:""}.icon-print:before{content:""}.icon-priority:before{content:""}.icon-privacy:before{content:""}.icon-private:before{content:""}.icon-profile-settings:before{content:""}.icon-proximity-not-connected:before{content:""}.icon-proximity:before{content:""}.icon-quality:before{content:""}.icon-question-circle:before{content:""}.icon-raise-hand:before{content:""}.icon-read-email:before{content:""}.icon-recent-apps:before{content:""}.icon-record:before{content:""}.icon-redial:before{content:""}.icon-refresh:before{content:""}.icon-remove-contact:before{content:""}.icon-remove-contain:before{content:""}.icon-remove-outline:before{content:""}.icon-remove:before{content:""}.icon-reply-all:before{content:""}.icon-report:before{content:""}.icon-reset:before{content:""}.icon-right-arrow-closed-contained:before{content:""}.icon-right-arrow-closed-outline:before{content:""}.icon-right-arrow-contain:before{content:""}.icon-right-arrow-contained:before{content:""}.icon-right-arrow-outline:before{content:""}.icon-right-arrow:before{content:""}.icon-ringer-settings:before{content:""}.icon-rotate-object-ccw:before{content:""}.icon-rotate-object-cw:before{content:""}.icon-rtprx-rtptx-duplex:before{content:""}.icon-rtprx:before{content:""}.icon-rtptx:before{content:""}.icon-running-application:before{content:""}.icon-save:before{content:""}.icon-schedule-add:before{content:""}.icon-screen-capture-square:before{content:""}.icon-screen-capture:before{content:""}.icon-sd:before{content:""}.icon-search:before{content:""}.icon-self-view-alt:before{content:""}.icon-self-view-crossed:before{content:""}.icon-self-view:before{content:""}.icon-send-email:before{content:""}.icon-send:before{content:""}.icon-sent:before{content:""}.icon-setup-assistant:before{content:""}.icon-share-contain:before{content:""}.icon-share-content:before{content:""}.icon-share:before{content:""}.icon-shipment:before{content:""}.icon-show-editor:before{content:""}.icon-sign-in:before{content:""}.icon-sign-out:before{content:""}.icon-signal-1:before{content:""}.icon-signal-2:before{content:""}.icon-signal-3:before{content:""}.icon-signal-4:before{content:""}.icon-skip-bw:before{content:""}.icon-skip-fw:before{content:""}.icon-slides:before{content:""}.icon-soft-phone:before{content:""}.icon-software-certified-md:before{content:""}.icon-software-certified-sm:before{content:""}.icon-software-certified:before{content:""}.icon-software-suggested-md:before{content:""}.icon-software-suggested-sm:before{content:""}.icon-software-suggested:before{content:""}.icon-software:before{content:""}.icon-sort-amount-asc:before{content:""}.icon-sort-amount-desc:before{content:""}.icon-sound:before{content:""}.icon-space:before{content:""}.icon-spam:before{content:""}.icon-spark:before{content:""}.icon-speaker-cross:before{content:""}.icon-speaker-out-left:before{content:""}.icon-speaker:before{content:""}.icon-speed-dial:before{content:""}.icon-spinner:before{content:""}.icon-square-o:before{content:""}.icon-star-empty:before{content:""}.icon-star-half:before{content:""}.icon-star:before{content:""}.icon-step-backward:before{content:""}.icon-step-forward:before{content:""}.icon-step-next:before{content:""}.icon-step-prev:before{content:""}.icon-stop:before{content:""}.icon-storage:before{content:""}.icon-subscribe:before{content:""}.icon-swap-calls:before{content:""}.icon-swap-camera:before{content:""}.icon-swap-video-camera:before{content:""}.icon-tables:before{content:""}.icon-tablet:before{content:""}.icon-tags:before{content:""}.icon-team-collapsed-view:before{content:""}.icon-team-expanded-view:before{content:""}.icon-terminalalt:before{content:""}.icon-text-color:before{content:""}.icon-text-format:before{content:""}.icon-text-size:before{content:""}.icon-text:before{content:""}.icon-thumbnail-view:before{content:""}.icon-time:before{content:""}.icon-timeline:before{content:""}.icon-toggle-menu:before{content:""}.icon-too-fast:before{content:""}.icon-too-slow:before{content:""}.icon-tools:before{content:""}.icon-touch-gesture:before{content:""}.icon-touch-point:before{content:""}.icon-touch:before{content:""}.icon-transcript:before{content:""}.icon-transfer-to-mobile:before{content:""}.icon-transfer:before{content:""}.icon-transit:before{content:""}.icon-trash:before{content:""}.icon-tree-closed:before{content:""}.icon-tree-opened:before{content:""}.icon-universal-inbox:before{content:""}.icon-unlock:before{content:""}.icon-upload-contain:before{content:""}.icon-upload:before{content:""}.icon-usb:before{content:""}.icon-user-queue:before{content:""}.icon-user:before{content:""}.icon-vibrate:before{content:""}.icon-video-cross:before{content:""}.icon-video-input:before{content:""}.icon-video-layout:before{content:""}.icon-video-settings:before{content:""}.icon-video-tips:before{content:""}.icon-video:before{content:""}.icon-view-feed-dual:before{content:""}.icon-view-feed-multi:before{content:""}.icon-view-feed-single:before{content:""}.icon-view-preview-telepresence:before{content:""}.icon-view-side-by-side:before{content:""}.icon-view-split:before{content:""}.icon-view-stacked:before{content:""}.icon-virtual-machine:before{content:""}.icon-voicemail:before{content:""}.icon-volume-cross:before{content:""}.icon-volume:before{content:""}.icon-waiting-silence:before{content:""}.icon-wallpaper:before{content:""}.icon-warning-outline:before{content:""}.icon-warning:before{content:""}.icon-watchlist:before{content:""}.icon-web-camera:before{content:""}.icon-web-sharing:before{content:""}.icon-webex-meetings-16:before{content:""}.icon-webex-meetings-24:before{content:""}.icon-webex-meetings-48:before{content:""}.icon-webex-teams-16:before{content:""}.icon-webex-teams-24:before{content:""}.icon-webex-teams-48:before{content:""}.icon-webex:before{content:""}.icon-webhook:before{content:""}.icon-week:before{content:""}.icon-whisper:before{content:""}.icon-whiteboard-cross:before{content:""}.icon-whiteboard:before{content:""}.icon-wifi-1:before{content:""}.icon-wifi-2:before{content:""}.icon-wifi-3:before{content:""}.icon-wifi:before{content:""}.icon-work:before{content:""}.icon-zip:before{content:""}.icon-zoom-in:before{content:""}.icon-zoom-out:before{content:""}.cui .text-left{text-align:left!important}.cui .text-right{text-align:right!important}.cui .text-bold{font-weight:700!important}.cui .text-muted{color:#9e9ea2!important}.cui .text-normal{font-weight:400!important}.cui .text-light{font-weight:200!important}.cui .text-center{text-align:center!important}.cui .text-justify{text-align:justify!important}.cui .text-nowrap{white-space:nowrap!important}.cui .text-lowercase{text-transform:lowercase!important}.cui .text-uppercase{text-transform:uppercase!important}.cui .text-capitalize{text-transform:capitalize!important}.cui .text-tiny{font-size:.8rem!important;line-height:.8rem!important}.cui .text-xsmall{font-size:1rem!important;line-height:1rem!important}.cui .text-small{font-size:1.2rem!important}.cui .text-medium{font-size:1.4rem!important;line-height:1.4rem!important}.cui .text-large{font-size:1.6rem!important;line-height:1.6rem!important}.cui .text-xlarge{font-size:2.4rem!important;line-height:2.4rem!important}.cui .text-huge{font-size:4.8rem!important;line-height:4.8rem!important}.cui .text-goliath{font-size:6.4rem!important;line-height:6.4rem!important}.cui .text-italic{font-style:italic!important}.cui .text-ghost{color:#fff!important}.cui .text-transparent-qtr{opacity:.25!important}.cui .monospace,.cui .text-monospace{font-family:Monaco,Inconsolata,Consolas,"Courier New",Courier,"Lucida Console",monospace!important}.cui .swatch.swatch--accentorange:after,.cui .swatch.swatch--accentred:after,.cui .swatch.swatch--ciscoblue:after,.cui .swatch.swatch--ciscogreen:after,.cui .swatch.swatch--ciscoindigo:after,.cui .swatch.swatch--darkgray1:after,.cui .swatch.swatch--darkgray2:after,.cui .swatch.swatch--darkgray4:after,.cui .swatch.swatch--litegray2:after,.cui .swatch.swatch--litegray3:after,.cui .swatch.swatch--litegray5:after,.cui .swatch.swatch--ltblue:after,.cui .swatch.swatch--medgray2:after,.cui .swatch.swatch--medgray4:after,.cui .swatch.swatch--statusblue:after,.cui .swatch.swatch--statusgreen:after,.cui .swatch.swatch--statusorange:after,.cui .swatch.swatch--statusred:after,.cui .swatch.swatch--statusturq:after,.cui .swatch.swatch--statusyellow:after,.cui .swatch.swatch--vibblue:after,.cui .swatch.swatch--white:after{font-family:sans-serif;bottom:5px;left:10px}.cui .text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cui .text-noellipsis{white-space:normal}.cui .text-noselect{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.cui .text-break{word-wrap:break-word!important;word-break:break-all!important}.cui .text-marquee{font-size:3.2rem!important}@media (min-width:576px){.cui .text-marquee{font-size:4rem!important}}@media (min-width:768px){.cui .text-marquee{font-size:4.8rem!important}}.cui .text-billboard{font-size:6rem!important}@media (max-width:991.98px){.cui .text-billboard{font-size:5.4rem!important}}.cui .text-billboard-title{font-size:3.6rem!important}.cui .text-billboard-subtitle{font-size:2rem!important}.cui .text-subheading{text-transform:uppercase!important;font-weight:700!important;margin-bottom:10px!important}.cui .text--primary,.cui .text--secondary,.cui .text-primary,.cui .text-secondary{color:#00bceb!important}.cui .text--default,.cui .text-default{color:#58585b!important}.cui .text--cta,.cui .text-cta{color:#6ebe4a!important}.cui .text--info,.cui .text-info{color:#64bbe3!important}.cui .text--success,.cui .text-success{color:#6ebe4a!important}.cui .text--danger,.cui .text-danger{color:#e2231a!important}.cui .text--warning,.cui .text-warning{color:#fbab18!important}.cui .text--warning-alt,.cui .text-warning-alt{color:#fc0!important}.cui .text--turquoise,.cui .text-turquoise{color:#14a792!important}.cui .text-default-color{color:#58585b!important}.cui .text-blue{color:#00bceb!important}.cui .text-darkgreen{color:#487B32!important}.cui .text-dkgray-1{color:#39393b!important}.cui .text-dkgray-4{color:#7f7f86!important}.cui .text--indigo,.cui .text-indigo{color:#005073!important}.cui .text-vibrant{color:#017CAD!important}.cui .inline-qtr-spacing>*+*{margin-left:5px}.cui .no-margin{margin:0!important}.cui .no-margin-top{margin-top:0!important}.cui .no-margin-right{margin-right:0!important}.cui .no-margin-bottom{margin-bottom:0!important}.cui .no-margin-left{margin-left:0!important}.cui .qtr-margin{margin:5px!important}.cui .qtr-margin-top{margin-top:5px!important}.cui .qtr-margin-right{margin-right:5px!important}.cui .qtr-margin-bottom{margin-bottom:5px!important}.cui .qtr-margin-left{margin-left:5px!important}.cui .half-margin{margin:10px!important}.cui .half-margin-top{margin-top:10px!important}.cui .half-margin-right{margin-right:10px!important}.cui .half-margin-bottom{margin-bottom:10px!important}.cui .half-margin-left{margin-left:10px!important}.cui .base-margin{margin:20px!important}.cui .base-margin-top{margin-top:20px!important}.cui .base-margin-right{margin-right:20px!important}.cui .base-margin-bottom{margin-bottom:20px!important}.cui .base-margin-left{margin-left:20px!important}.cui .dbl-margin{margin:40px!important}.cui .dbl-margin-top{margin-top:40px!important}.cui .dbl-margin-right{margin-right:40px!important}.cui .dbl-margin-bottom{margin-bottom:40px!important}.cui .dbl-margin-left{margin-left:40px!important}.cui .no-padding{padding:0!important}.cui .no-padding-top{padding-top:0!important}.cui .no-padding-right{padding-right:0!important}.cui .no-padding-bottom{padding-bottom:0!important}.cui .no-padding-left{padding-left:0!important}.cui .qtr-padding{padding:5px!important}.cui .qtr-padding-top{padding-top:5px!important}.cui .qtr-padding-right{padding-right:5px!important}.cui .qtr-padding-bottom{padding-bottom:5px!important}.cui .qtr-padding-left{padding-left:5px!important}.cui .half-padding{padding:10px!important}.cui .half-padding-top{padding-top:10px!important}.cui .half-padding-right{padding-right:10px!important}.cui .half-padding-bottom{padding-bottom:10px!important}.cui .half-padding-left{padding-left:10px!important}.cui .base-padding{padding:20px!important}.cui .base-padding-top{padding-top:20px!important}.cui .base-padding-right{padding-right:20px!important}.cui .base-padding-bottom{padding-bottom:20px!important}.cui .base-padding-left{padding-left:20px!important}.cui .dbl-padding{padding:40px!important}.cui .dbl-padding-top{padding-top:40px!important}.cui .dbl-padding-right{padding-right:40px!important}.cui .dbl-padding-bottom{padding-bottom:40px!important}.cui .dbl-padding-left{padding-left:40px!important}.cui .disabled,.cui [disabled]{opacity:.75;cursor:not-allowed!important;pointer-events:none!important;z-index:0!important}.cui .readonly{opacity:.5;cursor:not-allowed!important;z-index:0!important}.cui .blurred{-webkit-filter:blur(5px)!important;filter:blur(5px)!important}.cui .clearfix:after{clear:both!important;content:""!important;display:table!important}.cui .absolute-center{z-index:10!important;top:50%!important;left:50%!important;-webkit-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.cui .absolute-center--top{top:30%!important}.cui .absolute-center--right{left:70%!important}.cui .absolute-center--bottom{top:70%!important}.cui .absolute-center--left{left:30%!important}.cui .absolute-top{top:0!important}.cui .absolute-bottom{bottom:0!important}.cui .absolute-left{left:0!important}.cui .absolute-right{right:0!important}.cui .absolute-top-half-negative{position:absolute!important;top:-50%}.cui .pull-left{float:left!important}.cui .pull-center{float:center!important}.cui .pull-right{float:right!important}.cui .opacity-20{opacity:.2!important}.cui .opacity-30{opacity:.3!important}.cui .opacity-40{opacity:.4!important}.cui .opacity-50{opacity:.5!important}.cui .opacity-60{opacity:.6!important}.cui .opacity-70{opacity:.7!important}.cui .opacity-80{opacity:.8!important}.cui .opacity-90{opacity:.9!important}.cui .rotate-30{-webkit-transform:rotate(30deg)!important;transform:rotate(30deg)!important}.cui .rotate-45{-webkit-transform:rotate(45deg)!important;transform:rotate(45deg)!important}.cui .rotate-60{-webkit-transform:rotate(60deg)!important;transform:rotate(60deg)!important}.cui .rotate-90{-webkit-transform:rotate(90deg)!important;transform:rotate(90deg)!important}.cui .rotate-135{-webkit-transform:rotate(135deg)!important;transform:rotate(135deg)!important}.cui .rotate-180{-webkit-transform:rotate(180deg)!important;transform:rotate(180deg)!important}.cui .rotate-225{-webkit-transform:rotate(225deg)!important;transform:rotate(225deg)!important}.cui .rotate-270{-webkit-transform:rotate(270deg)!important;transform:rotate(270deg)!important}.cui .rotate-315{-webkit-transform:rotate(315deg)!important;transform:rotate(315deg)!important}.cui .flex{display:flex!important}.cui .flex-inline{display:inline-flex!important}.cui .flex-center{display:flex!important;justify-content:center!important}.cui .flex-center-vertical{display:flex!important;align-items:center!important}.cui .flex-center-horizontal{display:flex!important;justify-content:center!important}.cui .flex-fluid{flex:1!important;flex-shrink:1!important;flex-wrap:wrap!important}.cui .flex-inline-center-horizontal{display:inline-flex!important;flex-direction:column!important;align-items:center!important}.cui .flex-inline-center-vertical{display:inline-flex!important;justify-content:center!important}.cui .flex-align-end{align-items:flex-end!important}.cui .flex-align-start{align-items:flex-start!important}.cui .flex--compressed>*{flex-basis:10px!important}.cui .flex--regular>*{flex-basis:20px!important}.cui .flex--loose>*{flex-basis:40px!important}.cui .flex-right{justify-content:flex-end!important}@media (max-width:575.98px){.cui .padding-none-xs{padding:0!important}.cui .flex-center-xs{display:flex!important;align-items:center!important;justify-content:center!important}}@media (max-width:767.98px){.cui .text-center-sm{text-align:center!important}.cui .flex-center-sm{display:flex!important;align-items:center!important;justify-content:center!important}}@media (max-width:1199.98px){.cui .text-center-lg{text-align:center!important}.cui .flex-center-lg{display:flex!important;align-items:center!important;justify-content:center!important}}.cui .icon-action:before{line-height:3.4rem!important;font-size:3.4rem!important}.cui .icon-huge:before{line-height:8.4rem!important;font-size:8.4rem!important}.cui .icon-large:before{line-height:5.6rem!important;font-size:5.6rem!important}.cui .icon-medium-large:before{line-height:3.6rem!important;font-size:3.6rem!important}.cui .icon-medium:before{line-height:2.8rem!important;font-size:2.8rem!important}.cui .icon-medium-small:before{line-height:2.4rem!important;font-size:2.4rem!important}.cui .icon-small:before{line-height:1.8rem!important;font-size:1.8rem!important}.cui .icon-tiny:before{line-height:1rem!important;font-size:1rem!important}.cui .is-ios-device .hide-on-ios{display:none!important}.cui .toggle{cursor:pointer!important}.cui .v-separator{border-right:1px solid #dfdfdf;margin:5px 10px 5px 0;padding-left:10px;display:inline-flex;vertical-align:middle;height:15px}.cui .v-separator--small{height:10px}.cui .v-separator--large{height:20px}.cui .v-separator--huge{height:40px}.cui .hide{display:none!important}.cui .show{display:block!important}.cui .hide-overflow{overflow:hidden!important}.cui .visible{visibility:visible!important}.cui .invisible{visibility:hidden!important}.cui .user-entered-data{white-space:pre-line!important}.cui .small{font-size:1.2rem!important}.cui .btn,.cui .btn>span[class^=icon-]{font-size:1.6rem}@media (max-width:767px){.cui .center-xs{text-align:center!important}.cui .pull-right-xs{float:right!important}.cui .pull-left-xs{float:left!important}.cui .visible-inline-xs{display:inline-block!important}}.cui .row.no-gutters{margin-right:0!important;margin-left:0!important}.cui .row.no-gutters>[class*=" col-"],.cui .row.no-gutters>[class^=col-]{padding-right:0!important;padding-left:0!important}@media (min-width:576px) and (max-width:767px){.cui .hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.cui .hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.cui .hidden-lg{display:none!important}}@media (min-width:1200px){.cui .hidden-xl{display:none!important}}.cui .visible-lg .visible-xl,.cui .visible-md,.cui .visible-sm,.cui .visible-xs{display:none!important}@media (max-width:575px){.cui .hidden-xs{display:none!important}.cui .visible-xs{display:block!important}}@media (min-width:576px) and (max-width:767px){.cui .visible-sm{display:block!important}}@media (min-width:768px) and (max-width:991px){.cui .visible-md{display:block!important}}@media (min-width:992px) and (max-width:1199px){.cui .visible-lg{display:block!important}}@media (min-width:1200px){.cui .visible-xl{display:block!important}}@media (max-width:991.98px){.cui .hidden-md-down{display:none!important}}@media (max-width:1199.98px){.cui .hidden-lg-down{display:none!important}}.cui .hidden-xl-down{display:none!important}@media (max-width:767.98px){.cui .hidden-sm-down{display:none!important}.cui .visible-sm-down{display:block!important}}@media (max-width:991.98px){.cui .visible-md-down{display:block!important}}@media (max-width:1199.98px){.cui .visible-lg-down{display:block!important}}.cui .visible-xl-down{display:block!important}@media (min-width:576px){.cui .hidden-sm-up{display:none!important}}@media (min-width:768px){.cui .hidden-md-up{display:none!important}}@media (min-width:992px){.cui .hidden-lg-up{display:none!important}}@media (min-width:1200px){.cui .hidden-xl-up{display:none!important}.cui .visible-xl-up{display:block!important}}@media (min-width:576px){.cui .visible-sm-up{display:block!important}}@media (min-width:768px){.cui .visible-md-up{display:block!important}}@media (min-width:992px){.cui .visible-lg-up{display:block!important}}.cui .max-height{height:100%!important}.cui .max-width{width:100%!important}.cui .no-link{color:#58585b!important;font-weight:inherit!important}.cui .no-link:focus,.cui .no-link:hover{color:#007493!important;text-decoration:none!important}.cui .btn,.cui .btn.btn--negative,.cui .btn.btn--negative:active,.cui .btn.btn--negative:focus,.cui .btn.btn--negative:hover,.cui .btn.btn--primary,.cui .btn.btn--primary-ghost,.cui .btn.btn--primary:active,.cui .btn.btn--primary:focus,.cui .btn.btn--primary:hover,.cui .btn.btn--secondary,.cui .btn.btn--secondary:active,.cui .btn.btn--secondary:focus,.cui .btn.btn--secondary:hover,.cui .btn.btn--success,.cui .btn.btn--success:active,.cui .btn.btn--success:focus,.cui .btn.btn--success:hover,.cui .btn:active,.cui .btn:focus,.cui .btn:hover{text-decoration:none}.cui .relative{position:relative!important}.cui .opacity-10{opacity:.1!important}@-webkit-keyframes blink{from,to{opacity:1}50%{opacity:0}}@keyframes blink{from,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blowup{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes blowup{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes bounce{0%,100%,20%,40%,60%,80%{transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounce{0%,100%,20%,40%,60%,80%{transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes load{0%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load{0%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes pop{0%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}33%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}66%{-webkit-transform:scale3d(.95,.95,.95);transform:scale3d(.95,.95,.95)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pop{0%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}33%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}66%{-webkit-transform:scale3d(.95,.95,.95);transform:scale3d(.95,.95,.95)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes pulse{0%,100%,80%{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}40%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%,100%,80%{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}40%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes pulseShadow{0%{box-shadow:0 0 0 0 rgba(88,88,91,.5)}70%{box-shadow:0 0 0 10px rgba(88,88,91,0)}100%{box-shadow:0 0 0 0 rgba(88,88,91,0)}}@keyframes pulseShadow{0%{box-shadow:0 0 0 0 rgba(88,88,91,.5)}70%{box-shadow:0 0 0 10px rgba(88,88,91,0)}100%{box-shadow:0 0 0 0 rgba(88,88,91,0)}}@-webkit-keyframes pulseShadowInfo{0%{box-shadow:0 0 0 0 rgba(0,188,235,.5)}70%{box-shadow:0 0 0 10px rgba(0,188,235,0)}100%{box-shadow:0 0 0 0 rgba(0,188,235,0)}}@keyframes pulseShadowInfo{0%{box-shadow:0 0 0 0 rgba(0,188,235,.5)}70%{box-shadow:0 0 0 10px rgba(0,188,235,0)}100%{box-shadow:0 0 0 0 rgba(0,188,235,0)}}@-webkit-keyframes pulseShadowSuccess{0%{box-shadow:0 0 0 0 rgba(110,190,74,.5)}70%{box-shadow:0 0 0 10px rgba(110,190,74,0)}100%{box-shadow:0 0 0 0 rgba(110,190,74,0)}}@keyframes pulseShadowSuccess{0%{box-shadow:0 0 0 0 rgba(110,190,74,.5)}70%{box-shadow:0 0 0 10px rgba(110,190,74,0)}100%{box-shadow:0 0 0 0 rgba(110,190,74,0)}}@-webkit-keyframes pulseShadowWarning{0%{box-shadow:0 0 0 0 rgba(251,171,24,.5)}70%{box-shadow:0 0 0 10px rgba(251,171,24,0)}100%{box-shadow:0 0 0 0 rgba(251,171,24,0)}}@keyframes pulseShadowWarning{0%{box-shadow:0 0 0 0 rgba(251,171,24,.5)}70%{box-shadow:0 0 0 10px rgba(251,171,24,0)}100%{box-shadow:0 0 0 0 rgba(251,171,24,0)}}@-webkit-keyframes pulseShadowDanger{0%{box-shadow:0 0 0 0 rgba(226,35,26,.5)}70%{box-shadow:0 0 0 10px rgba(226,35,26,0)}100%{box-shadow:0 0 0 0 rgba(226,35,26,0)}}@keyframes pulseShadowDanger{0%{box-shadow:0 0 0 0 rgba(226,35,26,.5)}70%{box-shadow:0 0 0 10px rgba(226,35,26,0)}100%{box-shadow:0 0 0 0 rgba(226,35,26,0)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes fade-in{from{opacity:0}100%{opacity:1}}@keyframes fade-in{from{opacity:0}100%{opacity:1}}@-webkit-keyframes slideInLeftSmall{from{opacity:0;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeftSmall{from{opacity:0;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideInRightSmall{from{opacity:0;-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRightSmall{from{opacity:0;-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideInUpSmall{from{opacity:0;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUpSmall{from{opacity:0;-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.cui .slideInLeft{-webkit-animation:slideInLeft 1s;animation:slideInLeft 1s}.cui .slideInLeftSmall{-webkit-animation:slideInLeftSmall 1s;animation:slideInLeftSmall 1s}.cui .slideInRight{-webkit-animation:slideInRight 1s;animation:slideInRight 1s}.cui .slideInRightSmall{-webkit-animation:slideInRightSmall 1s;animation:slideInRightSmall 1s}.cui .spin{-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}.cui .fadeIn{-webkit-animation:fadeIn 1s;animation:fadeIn 1s}.cui .fade-in-pop{-webkit-animation:pop 1.5s 1 linear,fade-in 1.5s 1 linear;animation:pop 1.5s 1 linear,fade-in 1.5s 1 linear}.cui .fade-in-and-out{transition:opacity .15s ease-in-out}.cui .rotate-right{transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .rotate-left{transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.cui .animation-delay-1{-webkit-animation-delay:1s;animation-delay:1s}.cui .animation-delay-2{-webkit-animation-delay:2s;animation-delay:2s}.cui .animation-delay-3{-webkit-animation-delay:3s;animation-delay:3s}.cui .animation-delay-100{-webkit-animation-delay:.1s;animation-delay:.1s}.cui .animation-delay-200{-webkit-animation-delay:.2s;animation-delay:.2s}.cui .animation-delay-250{-webkit-animation-delay:.25s;animation-delay:.25s}.cui .animation-delay-500{-webkit-animation-delay:.5s;animation-delay:.5s}.cui .animation-delay-750{-webkit-animation-delay:.75s;animation-delay:.75s}.cui blockquote{margin:0;padding:10px;border-color:#dfdfdf;border-width:0 0 0 5px;border-style:none none none solid}.cui blockquote.blockquote--compressed{padding:5px}.cui blockquote.blockquote--loose{padding:20px}.cui blockquote.blockquote--blue,.cui blockquote.blockquote--blue cite{border-color:#017CAD}.cui blockquote.blockquote--danger,.cui blockquote.blockquote--danger cite{border-color:#e2231a}.cui blockquote cite{border-color:#dfdfdf}.cui blockquote.blockquote--indigo,.cui blockquote.blockquote--indigo cite{border-color:#005073}.cui blockquote.blockquote--info,.cui blockquote.blockquote--info cite{border-color:#64bbe3}.cui blockquote.blockquote--success,.cui blockquote.blockquote--success cite{border-color:#6ebe4a}.cui blockquote.blockquote--warning,.cui blockquote.blockquote--warning cite{border-color:#fbab18}.cui blockquote p{-webkit-animation-name:slideInLeftSmall;animation-name:slideInLeftSmall}.cui blockquote.blockquote--center{border-width:0;border-style:none;text-align:center}.cui blockquote.blockquote--center cite{width:50%;padding-top:10px;margin-top:10px;border-top-width:5px;border-top-style:solid}.cui blockquote.blockquote--center p{-webkit-animation-name:slideInUpSmall;animation-name:slideInUpSmall}.cui blockquote.blockquote--right{border-width:0 5px 0 0;border-style:none solid none none;text-align:right}.cui .btn,.cui .btn.btn--small{text-overflow:ellipsis;white-space:nowrap;text-align:center;vertical-align:middle;font-weight:400;min-width:0;overflow:visible}.cui blockquote.blockquote--right p{-webkit-animation-name:slideInRightSmall;animation-name:slideInRightSmall}.cui cite{display:inline-block;color:#98989b;font-style:italic}.cui cite:before{content:"\2014 \00A0"}.cui a.btn,.cui a.btn.btn--icon,.cui a.btn.btn--icon.btn--small{display:inline-flex!important;align-items:center;justify-content:center}.cui .btn+.btn{margin-left:10px}.cui .btn.small+.btn.small{margin-left:5px}.cui .btn{padding:0 35px;line-height:4rem;height:40px;max-width:300px;border:1px solid transparent;background:#58585b;color:#fff}.cui .btn .btn__subtext{top:45px}.cui .btn.btn--icon.btn--small .btn__subtext,.cui .btn.btn--small .btn__subtext{top:35px}.cui .btn.selected{background-color:#fff}.cui .btn.btn--small{border-width:1px;padding:0 20px;font-size:1.4rem;line-height:2.4rem;height:30px;max-width:200px}.cui .btn.btn--small>span[class^=icon-]{font-size:1.4rem}.cui .btn.btn--wide{padding-left:60px;padding-right:60px;max-width:300px}.cui .btn:hover{box-shadow:0 0 0 0 transparent;background-color:#4b4b4e;color:#fff}.cui .btn.focus,.cui .btn:focus{outline:0;box-shadow:0 0 1px 1px #58585b;border:1px solid #fff}.cui .btn.active,.cui .btn:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#3f3f41}.cui .btn.disabled,.cui .btn[disabled]{opacity:.5;color:#fff;outline:0;box-shadow:none;background-color:#bebec1}.cui .btn.selected{box-shadow:inset 0 0 0 1px #58585b;color:#58585b}.cui .btn.btn--primary{border:1px solid transparent;background:#017CAD;color:#fff}.cui .btn.btn--primary:hover{box-shadow:0 0 0 0 transparent;background-color:#016a94;color:#fff}.cui .btn.btn--primary.focus,.cui .btn.btn--primary:focus{outline:0;box-shadow:0 0 1px 1px #017CAD;border:1px solid #fff}.cui .btn.btn--primary.active,.cui .btn.btn--primary:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#01587a}.cui .btn.btn--primary.disabled,.cui .btn.btn--primary[disabled]{opacity:.5;color:#fff;outline:0;box-shadow:none;background-color:#aee8ff}.cui .btn.btn--primary.selected{background-color:#fff;box-shadow:inset 0 0 0 1px #017CAD;color:#017CAD}.cui .btn.btn--primary-ghost{border:1px solid transparent;background:0 0;color:#017CAD;box-shadow:inset 0 0 0 1px #017CAD}.cui .btn.btn--primary-ghost:active,.cui .btn.btn--primary-ghost:focus,.cui .btn.btn--primary-ghost:hover{text-decoration:none}.cui .btn.btn--primary-ghost:hover{box-shadow:0 0 0 0 transparent;background-color:#017CAD;color:#fff}.cui .btn.btn--primary-ghost.focus,.cui .btn.btn--primary-ghost:focus{outline:0;box-shadow:0 0 1px 1px #017CAD;border:1px solid #fff;color:#fff;background-color:#017CAD}.cui .btn.btn--primary-ghost.active,.cui .btn.btn--primary-ghost:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#016a94}.cui .btn.btn--primary-ghost.disabled,.cui .btn.btn--primary-ghost[disabled]{opacity:.5;color:#017CAD;outline:0;box-shadow:none;background-color:transparent;border:1px solid #017CAD}.cui .btn.btn--primary-ghost.selected{background-color:#017CAD;box-shadow:inset 0 0 0 1px #017CAD;color:#fff}.cui .btn.btn--secondary{border:1px solid transparent;background:0 0;color:#017CAD;box-shadow:inset 0 0 0 1px #017CAD}.cui .btn.btn--secondary:hover{box-shadow:0 0 0 0 transparent;background-color:#017CAD;color:#fff}.cui .btn.btn--secondary.focus,.cui .btn.btn--secondary:focus{outline:0;box-shadow:0 0 1px 1px #017CAD;border:1px solid #fff;color:#fff;background-color:#017CAD}.cui .btn.btn--secondary.active,.cui .btn.btn--secondary:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#016a94}.cui .btn.btn--secondary.disabled,.cui .btn.btn--secondary[disabled]{opacity:.5;color:#017CAD;outline:0;box-shadow:none;background-color:transparent;border:1px solid #017CAD}.cui .btn.btn--secondary.selected{background-color:#017CAD;box-shadow:inset 0 0 0 1px #017CAD;color:#fff}.cui .btn.btn--negative{border:1px solid transparent;background:#e2231a;color:#fff}.cui .btn.btn--negative:hover{box-shadow:0 0 0 0 transparent;background-color:#cb1f17;color:#fff}.cui .btn.btn--negative.focus,.cui .btn.btn--negative:focus{outline:0;box-shadow:0 0 1px 1px #e2231a;border:1px solid #fff}.cui .btn.btn--negative.active,.cui .btn.btn--negative:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#b41c15}.cui .btn.btn--negative.disabled,.cui .btn.btn--negative[disabled]{opacity:.5;color:#fff;outline:0;box-shadow:none;background-color:#f28f8a}.cui .btn.btn--negative.selected{background-color:#fff}.cui .btn.btn--success{border:1px solid transparent;background:#6ebe4a;color:#fff;box-shadow:inset 0 0 0 1px #6ebe4a}.cui .btn.btn--success:hover{box-shadow:0 0 0 0 transparent;background-color:#62af3f;color:#fff}.cui .btn.btn--success.focus,.cui .btn.btn--success:focus{outline:0;box-shadow:0 0 1px 1px #6ebe4a;border:1px solid #fff;background-color:#62af3f}.cui .btn.btn--white,.cui .btn.btn--white-ghost{border:1px solid transparent;text-decoration:none}.cui .btn.btn--success.active,.cui .btn.btn--success:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#579d38}.cui .btn.btn--success.disabled,.cui .btn.btn--success[disabled]{opacity:.5;color:#fff;outline:0;box-shadow:none;background-color:#b9e0a8}.cui .btn.btn--success.selected{background-color:#6ebe4a;box-shadow:inset 0 0 0 1px #6ebe4a;color:#fff}.cui .btn.btn--white{background:#fff;color:#58585b;box-shadow:inset 0 0 0 1px transparent}.cui .btn.btn--white:active,.cui .btn.btn--white:focus,.cui .btn.btn--white:hover{text-decoration:none}.cui .btn.btn--white:hover{box-shadow:0 0 0 0 transparent;background-color:#f2f2f2;color:#58585b}.cui .btn.btn--white.focus,.cui .btn.btn--white:focus{background-color:#f2f2f2}.cui .btn.btn--white.active,.cui .btn.btn--white:active{box-shadow:0 0 0 0 transparent;color:#58585b;background-color:#e6e6e6}.cui .btn.btn--white.disabled,.cui .btn.btn--white[disabled]{opacity:.5;color:#58585b;outline:0;box-shadow:none;background-color:#dfdfdf}.cui .btn.btn--white.selected{background-color:#e6e6e6;box-shadow:inset 0 0 0 1px #e6e6e6;color:#58585b}.cui .btn.btn--white-ghost{background:0 0;color:#fff;box-shadow:inset 0 0 0 1px #fff}.cui .btn.btn--white-ghost.focus,.cui .btn.btn--white-ghost:focus,.cui .btn.btn--white-ghost:hover{background-color:#fff;color:#58585b}.cui .btn.btn--white-ghost:active,.cui .btn.btn--white-ghost:focus,.cui .btn.btn--white-ghost:hover{text-decoration:none}.cui .btn.btn--white-ghost:hover{box-shadow:0 0 0 0 transparent}.cui .btn.btn--white-ghost.active,.cui .btn.btn--white-ghost:active{box-shadow:0 0 0 0 transparent;color:#58585b;background-color:#f2f2f2}.cui .btn.btn--white-ghost.disabled,.cui .btn.btn--white-ghost[disabled]{opacity:.5;color:#9e9ea2;outline:0;box-shadow:none;background-color:transparent;border:1px solid #9e9ea2}.cui .btn.btn--white-ghost.selected{background-color:#fff;color:#58585b}.cui .btn.btn--gray-ghost{border:1px solid transparent;background:0 0;color:#626469;text-decoration:none;box-shadow:inset 0 0 0 1px #626469}.cui .btn.btn--gray-ghost:active,.cui .btn.btn--gray-ghost:focus,.cui .btn.btn--gray-ghost:hover{text-decoration:none}.cui .btn.btn--gray-ghost:hover{box-shadow:0 0 0 0 transparent;background-color:#626469;color:#fff}.cui .btn.btn--gray-ghost.focus,.cui .btn.btn--gray-ghost:focus{outline:0;box-shadow:0 0 1px 1px #626469;border:1px solid #fff;color:#fff;background-color:#626469}.cui .btn.btn--gray-ghost.active,.cui .btn.btn--gray-ghost:active{box-shadow:0 0 0 0 transparent;color:#fff;background-color:#56575c}.cui .btn.btn--gray-ghost.disabled,.cui .btn.btn--gray-ghost[disabled]{opacity:.5;color:#9e9ea2;outline:0;box-shadow:none;background-color:transparent;border:1px solid #626469}.cui .checkbox.disabled,.cui .checkbox[disabled],.cui .panel.panel--blue .checkbox.disabled,.cui .panel.panel--blue .checkbox[disabled],.cui .panel.panel--dkgray .checkbox.disabled,.cui .panel.panel--dkgray .checkbox[disabled],.cui .panel.panel--indigo .checkbox.disabled,.cui .panel.panel--indigo .checkbox[disabled],.cui .panel.panel--success .checkbox.disabled,.cui .panel.panel--success .checkbox[disabled]{opacity:1}.cui .btn.btn--icon,.cui .btn.btn--icon.btn--large,.cui .btn.btn--icon.btn--small{text-overflow:ellipsis;white-space:nowrap;border-width:1px;vertical-align:middle;padding:0;font-weight:400;overflow:visible;text-align:center}.cui .btn.btn--gray-ghost.selected{background-color:#626469;box-shadow:inset 0 0 0 1px #626469;color:#fff}.cui .btn.btn--square{border-radius:0}.cui .btn.btn--icon{position:relative;font-size:1.8rem;line-height:1.8rem;height:40px;min-width:40px;max-width:40px;display:inline-flex;align-items:center;justify-content:center}.cui .btn.btn--icon>span[class^=icon-]{font-size:1.8rem}.cui .btn.btn--icon.btn--small{font-size:1.3rem;line-height:1.3rem;height:30px;min-width:30px;max-width:30px}.cui .btn.btn--icon.btn--small>span[class^=icon-]{font-size:1.3rem}.cui .btn.btn--icon.btn--large{font-size:2.4rem;line-height:2.4rem;height:50px;min-width:50px;max-width:50px}.cui .btn.btn--icon.btn--large>span[class^=icon-]{font-size:2.4rem}.cui .btn.btn--icon.btn--large .btn__subtext{top:55px}.cui .btn.btn--icon .btn__subtext{color:#9e9ea2;font-size:1rem;position:absolute;left:0;right:0;bottom:0;top:45px;margin:0}.cui.cui--compressed .btn .btn__subtext,.cui.cui--compressed .btn.btn--icon .btn__subtext{top:35px}.cui .btn-group,.cui .btns{position:relative;display:inline-flex;align-items:center;justify-content:center}.cui .btn-group .btn+.btn,.cui .btns .btn+.btn{border-left:1px solid transparent;margin:0}.cui .btn-group>.btn,.cui .btn-group>.dropdown .btn,.cui .btns>.btn,.cui .btns>.dropdown .btn{display:inline-flex;padding:0 10px;margin:0;border-radius:0;box-shadow:none;align-items:center;justify-content:center}.cui .btn-group>.btn--default,.cui .btn-group>.dropdown .btn--default,.cui .btns>.btn--default,.cui .btns>.dropdown .btn--default{border:1px solid #58585b}.cui .btn-group>.btn--primary,.cui .btn-group>.btn--primary-ghost,.cui .btn-group>.btn--secondary,.cui .btn-group>.dropdown .btn--primary,.cui .btn-group>.dropdown .btn--primary-ghost,.cui .btn-group>.dropdown .btn--secondary,.cui .btns>.btn--primary,.cui .btns>.btn--primary-ghost,.cui .btns>.btn--secondary,.cui .btns>.dropdown .btn--primary,.cui .btns>.dropdown .btn--primary-ghost,.cui .btns>.dropdown .btn--secondary{border:1px solid #017CAD}.cui .btn-group>.btn--negative,.cui .btn-group>.dropdown .btn--negative,.cui .btns>.btn--negative,.cui .btns>.dropdown .btn--negative{border:1px solid}.cui .btn-group>.btn--success,.cui .btn-group>.dropdown .btn--success,.cui .btns>.btn--success,.cui .btns>.dropdown .btn--success{border:1px solid #6ebe4a}.cui .btn-group>.btn--white,.cui .btn-group>.btn--white-ghost,.cui .btn-group>.dropdown .btn--white,.cui .btn-group>.dropdown .btn--white-ghost,.cui .btns>.btn--white,.cui .btns>.btn--white-ghost,.cui .btns>.dropdown .btn--white,.cui .btns>.dropdown .btn--white-ghost{border:1px solid transparent}.cui .btn-group>.btn--gray-ghost,.cui .btn-group>.dropdown .btn--gray-ghost,.cui .btns>.btn--gray-ghost,.cui .btns>.dropdown .btn--gray-ghost{border:1px solid #626469}.cui .btn-group>.btn.toggled,.cui .btn-group>.dropdown .btn.toggled,.cui .btns>.btn.toggled,.cui .btns>.dropdown .btn.toggled{box-shadow:inset 0 0 10px rgba(0,0,0,.4)}.cui .btn-group>.btn.toggled .cui .btn-group>.btn.selected,.cui .btn-group>.btn.toggled .cui .btn-group>.dropdown .btn.selected,.cui .btn-group>.btn.toggled .cui .btns>.btn.selected,.cui .btn-group>.btn.toggled .cui .btns>.dropdown .btn.selected,.cui .btn-group>.dropdown .btn.toggled .cui .btn-group>.btn.selected,.cui .btn-group>.dropdown .btn.toggled .cui .btn-group>.dropdown .btn.selected,.cui .btn-group>.dropdown .btn.toggled .cui .btns>.btn.selected,.cui .btn-group>.dropdown .btn.toggled .cui .btns>.dropdown .btn.selected,.cui .btns>.btn.toggled .cui .btn-group>.btn.selected,.cui .btns>.btn.toggled .cui .btn-group>.dropdown .btn.selected,.cui .btns>.btn.toggled .cui .btns>.btn.selected,.cui .btns>.btn.toggled .cui .btns>.dropdown .btn.selected,.cui .btns>.dropdown .btn.toggled .cui .btn-group>.btn.selected,.cui .btns>.dropdown .btn.toggled .cui .btn-group>.dropdown .btn.selected,.cui .btns>.dropdown .btn.toggled .cui .btns>.btn.selected,.cui .btns>.dropdown .btn.toggled .cui .btns>.dropdown .btn.selected{background:unset}.cui .btn-group>.btn:first-child,.cui .btn-group>.dropdown .btn:first-child,.cui .btns>.btn:first-child,.cui .btns>.dropdown .btn:first-child{padding-left:20px;border-top-left-radius:2rem;border-bottom-left-radius:2rem}.cui .btn-group>.btn:last-child,.cui .btn-group>.dropdown .btn:last-child,.cui .btns>.btn:last-child,.cui .btns>.dropdown .btn:last-child{padding-right:20px;border-top-right-radius:2rem;border-bottom-right-radius:2rem}.cui .btn-group>.btn:focus,.cui .btn-group>.dropdown .btn:focus,.cui .btns>.btn:focus,.cui .btns>.dropdown .btn:focus{border:1px solid transparent}.cui .btn-group--square>.btn:first-child,.cui .btn-group--square>.dropdown .btn:first-child,.cui .btns--square>.btn:first-child,.cui .btns--square>.dropdown .btn:first-child{padding-left:10px;border-top-left-radius:0;border-bottom-left-radius:0}.cui .btn-group--square>.btn:last-child,.cui .btn-group--square>.dropdown .btn:last-child,.cui .btns--square>.btn:last-child,.cui .btns--square>.dropdown .btn:last-child{padding-right:10px;border-top-right-radius:0;border-bottom-right-radius:0}.cui .btn-group.btn-group--large .btn span[class^=icon-],.cui .btns.btn-group--large .btn span[class^=icon-]{font-size:2rem}.cui .btn-group.btn-group--wide>.btn,.cui .btns.btn-group--wide>.btn{padding:0 30px}.cui .btn-group.btn-group--wide>.btn:first-child,.cui .btns.btn-group--wide>.btn:first-child{padding-left:40px}.cui .btn-group.btn-group--wide>.btn:last-child,.cui .btns.btn-group--wide>.btn:last-child{padding-right:40px}.cui .btn-group.btn-group--divider,.cui .btns.btn-group--divider{width:100%;text-align:center}.cui .btn-group.btn-group--divider:after,.cui .btns.btn-group--divider:after{content:'';width:100%;height:1px;background:#dfdfdf;position:absolute}.cui .btn-group.btn-group--divider>.btn,.cui .btns.btn-group--divider>.btn{z-index:1}.cui .btn-group.btn-group--divider>.btn.btn--gray-ghost:not(.selected):not(:hover),.cui .btn-group.btn-group--divider>.btn.btn--primary-ghost:not(.selected):not(:hover),.cui .btns.btn-group--divider>.btn.btn--gray-ghost:not(.selected):not(:hover),.cui .btns.btn-group--divider>.btn.btn--primary-ghost:not(.selected):not(:hover){background:#fff}.cui .checkbox.disabled input:checked~.checkbox__input:before,.cui .checkbox.disabled input~.checkbox__input:before,.cui .checkbox[disabled] input:checked~.checkbox__input:before,.cui .checkbox[disabled] input~.checkbox__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .btn-group+.divider,.cui .form-group+.divider{border-top:none;border-left:1px solid #dfdfdf;margin:0 0 0 10px;padding-right:10px;height:30px}.cui.cui--compressed .btn,.cui.cui--compressed .btn.btn--icon{border-width:1px;font-weight:400;height:30px;overflow:visible;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis}.cui.cui--compressed .btn{padding:0 20px;font-size:1.4rem;line-height:2.4rem;min-width:0;max-width:200px}.cui.cui--compressed .btn>span[class^=icon-]{font-size:1.4rem}.cui.cui--compressed .btn.btn--icon{padding:0;font-size:1.3rem;line-height:1.3rem;min-width:30px;max-width:30px}.cui.cui--compressed .btn.btn--icon>span[class^=icon-]{font-size:1.3rem}.cui.cui--compressed .btn-group>.btn,.cui.cui--compressed .btn-group>.dropdown .btn{padding:0 5px}.cui.cui--compressed .btn-group>.btn.selected,.cui.cui--compressed .btn-group>.dropdown .btn.selected{transition:all ease .25s}.cui.cui--animated .btn{transition:box-shadow .1s linear}.cui .checkbox{position:relative;display:inline-flex;align-items:center;cursor:pointer;margin-right:5px}.cui .checkbox.disabled input:checked~.checkbox__input:after,.cui .checkbox[disabled] input:checked~.checkbox__input:after{color:#c6c7ca}.cui .checkbox input{padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);display:block;position:absolute;width:20px;height:20px;margin:0}.cui .checkbox input.hover~.checkbox__input:before,.cui .checkbox input:hover~.checkbox__input:before{box-shadow:inset 0 0 0 2px #00bceb}.cui .checkbox input.checked~.checkbox__label,.cui .checkbox input:checked~.checkbox__label{color:#58585b}.cui .checkbox input.checked.hover~.checkbox__input:before,.cui .checkbox input.checked:hover~.checkbox__input:before,.cui .checkbox input:checked.hover~.checkbox__input:before,.cui .checkbox input:checked:hover~.checkbox__input:before{background-color:#00bceb}.cui .checkbox input.checked.hover~.checkbox__input:after,.cui .checkbox input.checked:hover~.checkbox__input:after,.cui .checkbox input:checked.hover~.checkbox__input:after,.cui .checkbox input:checked:hover~.checkbox__input:after{color:#fff}.cui .checkbox input.checked~.checkbox__input:before,.cui .checkbox input:checked~.checkbox__input:before{box-shadow:inset 0 0 0 1px #00bceb;background-color:#00bceb}.cui .checkbox input.checked~.checkbox__input:after,.cui .checkbox input:checked~.checkbox__input:after{color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.cui .checkbox input.focus~.checkbox__input:before,.cui .checkbox input:focus~.checkbox__input:before{outline-color:#00bceb;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #00bceb}.cui .checkbox input.active~.checkbox__input:before,.cui .checkbox input:active~.checkbox__input:before{box-shadow:none;background-color:#00bceb}.cui .checkbox .checkbox__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .checkbox .checkbox__input:after,.cui .checkbox .checkbox__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .checkbox .checkbox__input:before{border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--dkgray .checkbox.disabled input:checked~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox.disabled input~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox[disabled] input:checked~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox[disabled] input~.checkbox__input:before,.cui .panel.panel--indigo .checkbox.disabled input:checked~.checkbox__input:before,.cui .panel.panel--indigo .checkbox.disabled input~.checkbox__input:before,.cui .panel.panel--indigo .checkbox[disabled] input:checked~.checkbox__input:before,.cui .panel.panel--indigo .checkbox[disabled] input~.checkbox__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .checkbox .checkbox__input:after{content:"";display:none;color:#fff;font-weight:700;line-height:1}.cui .checkbox .checkbox__label{color:#58585b;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .checkbox:last-of-type{margin-right:0}.cui .checkbox--nowrap .checkbox__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cui .panel.panel--dkgray .checkbox.disabled input:checked~.checkbox__input:after,.cui .panel.panel--dkgray .checkbox[disabled] input:checked~.checkbox__input:after,.cui .panel.panel--indigo .checkbox.disabled input:checked~.checkbox__input:after,.cui .panel.panel--indigo .checkbox[disabled] input:checked~.checkbox__input:after{color:#c6c7ca}.cui .panel.panel--dkgray .checkbox input,.cui .panel.panel--indigo .checkbox input{padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);display:block;position:absolute;width:20px;height:20px;margin:0}.cui .panel.panel--dkgray .checkbox input.hover~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input:hover~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input.hover~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input:hover~.checkbox__input:before{box-shadow:inset 0 0 0 2px #00bceb}.cui .panel.panel--dkgray .checkbox input.checked~.checkbox__label,.cui .panel.panel--dkgray .checkbox input:checked~.checkbox__label,.cui .panel.panel--indigo .checkbox input.checked~.checkbox__label,.cui .panel.panel--indigo .checkbox input:checked~.checkbox__label{color:#fff}.cui .panel.panel--dkgray .checkbox input.checked.hover~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input.checked:hover~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input:checked.hover~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input:checked:hover~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input.checked.hover~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input.checked:hover~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input:checked.hover~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input:checked:hover~.checkbox__input:before{background-color:#00bceb}.cui .panel.panel--dkgray .checkbox input.checked.hover~.checkbox__input:after,.cui .panel.panel--dkgray .checkbox input.checked:hover~.checkbox__input:after,.cui .panel.panel--dkgray .checkbox input:checked.hover~.checkbox__input:after,.cui .panel.panel--dkgray .checkbox input:checked:hover~.checkbox__input:after,.cui .panel.panel--indigo .checkbox input.checked.hover~.checkbox__input:after,.cui .panel.panel--indigo .checkbox input.checked:hover~.checkbox__input:after,.cui .panel.panel--indigo .checkbox input:checked.hover~.checkbox__input:after,.cui .panel.panel--indigo .checkbox input:checked:hover~.checkbox__input:after{color:#fff}.cui .panel.panel--dkgray .checkbox input.checked~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input:checked~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input.checked~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input:checked~.checkbox__input:before{box-shadow:inset 0 0 0 1px #00bceb;background-color:#00bceb}.cui .panel.panel--dkgray .checkbox input.checked~.checkbox__input:after,.cui .panel.panel--dkgray .checkbox input:checked~.checkbox__input:after,.cui .panel.panel--indigo .checkbox input.checked~.checkbox__input:after,.cui .panel.panel--indigo .checkbox input:checked~.checkbox__input:after{color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.cui .panel.panel--dkgray .checkbox input.focus~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input:focus~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input.focus~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input:focus~.checkbox__input:before{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #00bceb}.cui .panel.panel--dkgray .checkbox input.active~.checkbox__input:before,.cui .panel.panel--dkgray .checkbox input:active~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input.active~.checkbox__input:before,.cui .panel.panel--indigo .checkbox input:active~.checkbox__input:before{box-shadow:none;background-color:#00bceb}.cui .panel.panel--dkgray .checkbox .checkbox__input,.cui .panel.panel--indigo .checkbox .checkbox__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .panel.panel--dkgray .checkbox .checkbox__input:after,.cui .panel.panel--dkgray .checkbox .checkbox__input:before,.cui .panel.panel--indigo .checkbox .checkbox__input:after,.cui .panel.panel--indigo .checkbox .checkbox__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .panel.panel--dkgray .checkbox .checkbox__input:before,.cui .panel.panel--indigo .checkbox .checkbox__input:before{border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--blue .checkbox.disabled input:checked~.checkbox__input:before,.cui .panel.panel--blue .checkbox.disabled input~.checkbox__input:before,.cui .panel.panel--blue .checkbox[disabled] input:checked~.checkbox__input:before,.cui .panel.panel--blue .checkbox[disabled] input~.checkbox__input:before,.cui .panel.panel--success .checkbox.disabled input:checked~.checkbox__input:before,.cui .panel.panel--success .checkbox.disabled input~.checkbox__input:before,.cui .panel.panel--success .checkbox[disabled] input:checked~.checkbox__input:before,.cui .panel.panel--success .checkbox[disabled] input~.checkbox__input:before{background-color:#d7d7d8;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--dkgray .checkbox .checkbox__input:after,.cui .panel.panel--indigo .checkbox .checkbox__input:after{content:"";display:none;color:#fff;font-weight:700;line-height:1}.cui .panel.panel--dkgray .checkbox .checkbox__label,.cui .panel.panel--indigo .checkbox .checkbox__label{color:#fff;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .panel.panel--blue .checkbox.disabled input:checked~.checkbox__input:after,.cui .panel.panel--blue .checkbox[disabled] input:checked~.checkbox__input:after,.cui .panel.panel--success .checkbox.disabled input:checked~.checkbox__input:after,.cui .panel.panel--success .checkbox[disabled] input:checked~.checkbox__input:after{color:#9e9ea2}.cui .panel.panel--blue .checkbox input,.cui .panel.panel--success .checkbox input{padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);display:block;position:absolute;width:20px;height:20px;margin:0}.cui .panel.panel--blue .checkbox input.hover~.checkbox__input:before,.cui .panel.panel--blue .checkbox input:hover~.checkbox__input:before,.cui .panel.panel--success .checkbox input.hover~.checkbox__input:before,.cui .panel.panel--success .checkbox input:hover~.checkbox__input:before{box-shadow:inset 0 0 0 2px #007493}.cui .panel.panel--blue .checkbox input.checked~.checkbox__label,.cui .panel.panel--blue .checkbox input:checked~.checkbox__label,.cui .panel.panel--success .checkbox input.checked~.checkbox__label,.cui .panel.panel--success .checkbox input:checked~.checkbox__label{color:#39393b}.cui .panel.panel--blue .checkbox input.checked.hover~.checkbox__input:before,.cui .panel.panel--blue .checkbox input.checked:hover~.checkbox__input:before,.cui .panel.panel--blue .checkbox input:checked.hover~.checkbox__input:before,.cui .panel.panel--blue .checkbox input:checked:hover~.checkbox__input:before,.cui .panel.panel--success .checkbox input.checked.hover~.checkbox__input:before,.cui .panel.panel--success .checkbox input.checked:hover~.checkbox__input:before,.cui .panel.panel--success .checkbox input:checked.hover~.checkbox__input:before,.cui .panel.panel--success .checkbox input:checked:hover~.checkbox__input:before{background-color:#005073}.cui .panel.panel--blue .checkbox input.checked.hover~.checkbox__input:after,.cui .panel.panel--blue .checkbox input.checked:hover~.checkbox__input:after,.cui .panel.panel--blue .checkbox input:checked.hover~.checkbox__input:after,.cui .panel.panel--blue .checkbox input:checked:hover~.checkbox__input:after,.cui .panel.panel--success .checkbox input.checked.hover~.checkbox__input:after,.cui .panel.panel--success .checkbox input.checked:hover~.checkbox__input:after,.cui .panel.panel--success .checkbox input:checked.hover~.checkbox__input:after,.cui .panel.panel--success .checkbox input:checked:hover~.checkbox__input:after{color:#fff}.cui .panel.panel--blue .checkbox input.checked~.checkbox__input:before,.cui .panel.panel--blue .checkbox input:checked~.checkbox__input:before,.cui .panel.panel--success .checkbox input.checked~.checkbox__input:before,.cui .panel.panel--success .checkbox input:checked~.checkbox__input:before{box-shadow:inset 0 0 0 1px #005073;background-color:#005073}.cui .panel.panel--blue .checkbox input.checked~.checkbox__input:after,.cui .panel.panel--blue .checkbox input:checked~.checkbox__input:after,.cui .panel.panel--success .checkbox input.checked~.checkbox__input:after,.cui .panel.panel--success .checkbox input:checked~.checkbox__input:after{color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.cui .label,.cui .label .icon-close,.cui .swatch{font-size:1.2rem}.cui .panel.panel--blue .checkbox input.focus~.checkbox__input:before,.cui .panel.panel--blue .checkbox input:focus~.checkbox__input:before,.cui .panel.panel--success .checkbox input.focus~.checkbox__input:before,.cui .panel.panel--success .checkbox input:focus~.checkbox__input:before{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #007493}.cui .panel.panel--blue .checkbox input.active~.checkbox__input:before,.cui .panel.panel--blue .checkbox input:active~.checkbox__input:before,.cui .panel.panel--success .checkbox input.active~.checkbox__input:before,.cui .panel.panel--success .checkbox input:active~.checkbox__input:before{box-shadow:none;background-color:#005073}.cui .panel.panel--blue .checkbox .checkbox__input,.cui .panel.panel--success .checkbox .checkbox__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .panel.panel--blue .checkbox .checkbox__input:after,.cui .panel.panel--blue .checkbox .checkbox__input:before,.cui .panel.panel--success .checkbox .checkbox__input:after,.cui .panel.panel--success .checkbox .checkbox__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .panel.panel--blue .checkbox .checkbox__input:before,.cui .panel.panel--success .checkbox .checkbox__input:before{border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--blue .checkbox .checkbox__input:after,.cui .panel.panel--success .checkbox .checkbox__input:after{content:"";display:none;color:#fff;font-weight:700;line-height:1}.cui .panel.panel--blue .checkbox .checkbox__label,.cui .panel.panel--success .checkbox .checkbox__label{color:#39393b;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui.cui--animated .checkbox input~.checkbox__input:before{transition:all .1s ease-out}.cui.cui--animated .checkbox input:hover~.checkbox__input:before{transition:all .1s ease-in}.cui .swatch{line-height:1.6rem;display:inline-flex;flex-direction:column;padding:10px;width:100px;height:200px;transition:all .2s}.cui .swatch+.swatch{margin-left:-5px}.cui .swatch.swatch--ciscoblue{position:relative;background:#00bceb;color:#fff}.cui .swatch.swatch--ciscoblue:after{font-weight:700;content:"Cisco Blue #00bceb";position:absolute}.cui .swatch.swatch--ciscoindigo{position:relative;background:#005073;color:#fff}.cui .swatch.swatch--ciscoindigo:after{font-weight:700;content:"Indigo Blue #005073";position:absolute}.cui .swatch.swatch--ciscogreen{position:relative;background:#6ebe4a;color:#fff}.cui .swatch.swatch--ciscogreen:after{font-weight:700;content:"Green #6ebe4a";position:absolute}.cui .swatch.swatch--accentorange{position:relative;background:#fbab18;color:#fff}.cui .swatch.swatch--accentorange:after{font-weight:700;content:"Orange #fbab18";position:absolute}.cui .swatch.swatch--accentred{position:relative;background:#e2231a;color:#fff}.cui .swatch.swatch--accentred:after{font-weight:700;content:"Red #e2231a";position:absolute}.cui .swatch.swatch--darkgray1{position:relative;background:#39393b;color:#fff}.cui .swatch.swatch--darkgray1:after{font-weight:700;content:"Dark Gray 1 #39393b";position:absolute}.cui .swatch.swatch--darkgray2{position:relative;background:#58585b;color:#fff}.cui .swatch.swatch--darkgray2:after{font-weight:700;content:"Dark Gray 2 #58585b";position:absolute}.cui .swatch.swatch--medgray2{position:relative;background:#9e9ea2;color:#58585b}.cui .swatch.swatch--medgray2:after{font-weight:700;content:"Medium Gray 2 #9e9ea2";position:absolute}.cui .swatch.swatch--white{position:relative;background:#fff;color:#58585b}.cui .swatch.swatch--white:after{font-weight:700;content:"Cisco Core White #ffffff";position:absolute}.cui .swatch.swatch--ltblue{position:relative;background:#f2fbfd;color:#58585b}.cui .swatch.swatch--ltblue:after{font-weight:700;content:"Light Blue #f2fbfd";position:absolute}.cui .swatch.swatch--vibblue{position:relative;background:#017CAD;color:#fff}.cui .swatch.swatch--vibblue:after{font-weight:700;content:"Vibrant Blue #017CAD";position:absolute}.cui .swatch.swatch--darkgray3{position:relative;background:#626469;color:#fff}.cui .swatch.swatch--darkgray3:after{font-family:sans-serif;font-weight:700;content:"Dark Gray 3 #626469";position:absolute;left:10px;bottom:5px}.cui .swatch.swatch--darkgray4{position:relative;background:#7f7f86;color:#fff}.cui .swatch.swatch--darkgray4:after{font-weight:700;content:"Dark Gray 4 #7f7f86";position:absolute}.cui .swatch.swatch--medgray4{position:relative;background:#b6b9bb;color:#58585b}.cui .swatch.swatch--medgray4:after{font-weight:700;content:"Medium Gray 4 #b6b9bb";position:absolute}.cui .swatch.swatch--litegray2{position:relative;background:#c6c7ca;color:#58585b}.cui .swatch.swatch--litegray2:after{font-weight:700;content:"Light Gray 2 #c6c7ca";position:absolute}.cui .swatch.swatch--litegray3{position:relative;background:#dfdfdf;color:#58585b}.cui .swatch.swatch--litegray3:after{font-weight:700;content:"Light Gray 3 #dfdfdf";position:absolute}.cui .swatch.swatch--litegray5{position:relative;background:#f2f2f2;color:#58585b}.cui .swatch.swatch--litegray5:after{font-weight:700;content:"Light Gray 5 #f2f2f2";position:absolute}.cui .swatch.swatch--statusblue{position:relative;background:#64bbe3;color:#fff}.cui .swatch.swatch--statusblue:after{font-weight:700;content:"Status Blue #64bbe3";position:absolute}.cui .swatch.swatch--statusturq{position:relative;background:#14a792;color:#fff}.cui .swatch.swatch--statusturq:after{font-weight:700;content:"Status Turquoise #14a792";position:absolute}.cui .swatch.swatch--statusgreen{position:relative;background:#6cc04a;color:#fff}.cui .swatch.swatch--statusgreen:after{font-weight:700;content:"Status Green #6cc04a";position:absolute}.cui .swatch.swatch--statusyellow{position:relative;background:#fc0;color:#fff}.cui .swatch.swatch--statusyellow:after{font-weight:700;content:"Status Yellow #ffcc00";position:absolute}.cui .swatch.swatch--statusorange{position:relative;background:#fbab18;color:#fff}.cui .swatch.swatch--statusorange:after{font-weight:700;content:"Status Orange #fbab18";position:absolute}.cui .swatch.swatch--statusred{position:relative;background:#e2231a;color:#fff}.cui .form-dropdown__select:focus~.form-dropdown__chevron::after,.cui .form-dropdown__select:focus~label,.cui .form-dropdown__select:hover~.form-dropdown__chevron::after{color:#58585b}.cui .swatch.swatch--statusred:after{font-weight:700;content:"Status Red #e2231a";position:absolute}.cui .divider{position:relative;text-align:center;border-top:1px solid #dfdfdf;margin:20px 0}.cui .divider--accent-blue:before,.cui .divider--accent-indigo:before,.cui .divider--accent-success:before{position:absolute;top:-1px;width:5%;min-width:40px;height:1px;content:'';left:0}.cui .divider--thick{border-top:3px solid #dfdfdf}.cui .divider--thicker{border-top:5px solid #dfdfdf}.cui .divider--thickest{border-top:8px solid #dfdfdf}.cui .divider--accent-blue:before{background-color:#00bceb}.cui .divider--accent-indigo:before{background-color:#005073}.cui .divider--accent-success:before{background-color:#6ebe4a}.cui .divider--compressed{margin:10px 0}.cui .divider--regular{margin:20px 0}.cui .divider--loose{margin:40px 0}.cui .divider--thick.divider--accent-blue:before,.cui .divider--thick.divider--accent-indigo:before,.cui .divider--thick.divider--accent-success:before{top:-3px;height:3px}.cui .divider--thicker.divider--accent-blue:before,.cui .divider--thicker.divider--accent-indigo:before,.cui .divider--thicker.divider--accent-success:before{top:-5px;height:5px}.cui .divider--thickest.divider--accent-blue:before,.cui .divider--thickest.divider--accent-indigo:before,.cui .divider--thickest.divider--accent-success:before{top:-8px;height:8px}.cui.cui--compressed .divider{margin:10px 0}.cui form{margin-bottom:20px}.cui form:last-child,.cui form>:last-child{margin-bottom:0}.cui fieldset{margin:0 0 20px;padding:0;border:0}.cui fieldset>:last-child{margin-bottom:0}.cui .form-group{display:flex;position:relative;flex-direction:column;margin:0}.cui .form-group+.form-group{margin:10px 0 0}.cui .form-group.form-group--compressed+.form-group.form-group--compressed{margin:5px 0 0}.cui .form-group.form-group--regular+.form-group.form-group--regular{margin:10px 0 0}.cui .form-group.form-group--loose+.form-group.form-group--loose{margin:20px 0 0}.cui .form-group.form-group--nospacing+.form-group.form-group--nospacing{margin:0}.cui .form-group.form-group--inline{display:inline-flex}.cui .form-group.form-group--inline+.form-group.form-group--inline{margin:0 0 0 10px}.cui .form-group.form-group--inline.form-group--compressed+.form-group.form-group--inline.form-group--compressed{margin:0 0 0 5px}.cui .form-group.form-group--inline.form-group--regular+.form-group.form-group--inline.form-group--regular{margin:0 0 0 10px}.cui .form-group.form-group--inline.form-group--loose+.form-group.form-group--inline.form-group--loose{margin:0 0 0 20px}.cui .form-group.form-group--inline.form-group--nospacing+.form-group.form-group--inline.form-group--nospacing{margin:0}.cui .form-group.dropdown{display:block}.cui .checkbox__label,.cui .form-group label,.cui .radio__label,.cui .switch__label{text-align:left}.cui .form-dropdown__select{cursor:pointer;opacity:0;position:absolute;right:5px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:14px;z-index:1}.cui .form-dropdown__select:focus~label::after{bottom:-4px;height:5px;background:#00bceb}.cui .form-dropdown__chevron:after{content:"";color:#c6c7ca;font-size:1.2rem;position:absolute;margin-top:1px;right:5px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:all .2s ease}.cui .label,.cui .label a,.cui .label a:hover{color:#39393b}.cui.cui--compressed .form-group+.form-group{margin-top:10px}.cui.cui--compressed .form-group.form-group--inline+.form-group.form-group--inline{margin-left:10px}.cui .label+.label{margin-left:5px}.cui .label{display:inline-flex;font-weight:400;align-items:center;border-radius:2px;letter-spacing:.025rem;margin:1px 0;padding:0 10px;height:24px;line-height:1.2rem;vertical-align:middle;background:#dfdfdf;border:none}.cui .label:focus{outline-color:#00bceb;outline-offset:1px;outline-width:thin;outline-style:dashed}.cui .label--outlined{background:0 0;color:#58585b;border:2px solid #dfdfdf}.cui .label--info{background:#64bbe3;color:#39393b}.cui .label--info a,.cui .label--info a:hover{color:#39393b}.cui .label--info.label--outlined{background:0 0;color:#58585b;border:2px solid #64bbe3}.cui .label--success{background:#6ebe4a;color:#fff}.cui .label--success a,.cui .label--success a:hover{color:#fff}.cui .label--success.label--outlined{background:0 0;color:#58585b;border:2px solid #6ebe4a}.cui .label--warning{background:#fbab18;color:#39393b}.cui .label--warning a,.cui .label--warning a:hover{color:#39393b}.cui .label--warning.label--outlined{background:0 0;color:#58585b;border:2px solid #fbab18}.cui .label--warning-alt{background:#fc0;color:#39393b}.cui .label--warning-alt a,.cui .label--warning-alt a:hover{color:#39393b}.cui .label--warning-alt.label--outlined{background:0 0;color:#58585b;border:2px solid #fc0}.cui .label--danger{background:#e2231a;color:#fff}.cui .label--danger a,.cui .label--danger a:hover{color:#fff}.cui .label--danger.label--outlined{background:0 0;color:#58585b;border:2px solid #e2231a}.cui .label--blue{background:#00bceb;color:#39393b}.cui .label--blue a,.cui .label--blue a:hover{color:#39393b}.cui .label--blue.label--outlined{background:0 0;color:#58585b;border:2px solid #00bceb}.cui .label--ltgray{background:#f2f2f2;color:#39393b}.cui .label--ltgray a,.cui .label--ltgray a:hover{color:#39393b}.cui .label--ltgray.label--outlined{background:0 0;color:#58585b;border:2px solid #f2f2f2}.cui .label--dkgray{background:#58585b;color:#fff}.cui .label--dkgray a,.cui .label--dkgray a:hover{color:#fff}.cui .label--dkgray.label--outlined{background:0 0;color:#58585b;border:2px solid #58585b}.cui .label--vibblue{background:#017CAD;color:#fff}.cui .label--vibblue a,.cui .label--vibblue a:hover{color:#fff}.cui .label--vibblue.label--outlined{background:0 0;color:#58585b;border:2px solid #017CAD}.cui .label--indigo{background:#005073;color:#fff}.cui .label--indigo a,.cui .label--indigo a:hover{color:#fff}.cui .label--indigo.label--outlined{background:0 0;color:#58585b;border:2px solid #005073}.cui .label--white{background:#fff;color:#39393b}.cui .label--white a,.cui .label--white a:hover{color:#39393b}.cui .label--white.label--outlined{background:0 0;color:#58585b;border:2px solid #fff}.cui .label--ghost{background:0 0;border:1px solid #fff;color:#fff}.cui .label--ghost a,.cui .label--ghost a:hover{color:#fff}.cui .label--ghost.label--outlined{background:0 0;color:#58585b;border:2px solid transparent}.cui .label--tiny{margin:1px 0;padding:0 6px;font-size:.9rem;height:15px;line-height:.9rem;vertical-align:middle}.cui .label--medium,.cui .label--small{padding:0 10px;margin:1px 0;vertical-align:middle}.cui .label--tiny .icon-close{font-size:.9rem}.cui .label--small{font-size:1rem;height:20px;line-height:1rem}.cui .label--small .icon-close{font-size:1rem}.cui .label--medium{font-size:1.2rem;height:24px;line-height:1.2rem}.cui .label--medium .icon-close{font-size:1.2rem}.cui .label--large{margin:1px 0;padding:0 15px;font-size:1.4rem;height:30px;line-height:1.4rem;vertical-align:middle}.cui .label--large .icon-close{font-size:1.4rem}.cui .label--circle{overflow:hidden;justify-content:center;border-radius:100%;margin:1px 0;padding:0;font-size:1.2rem;height:24px;line-height:1.2rem;vertical-align:middle;width:24px;min-width:24px;max-width:24px}.cui .label--circle .icon-close{font-size:1.2rem}.cui .label--circle.label--tiny{margin:1px 0;padding:0;font-size:1.1rem;height:18px;line-height:1.1rem;vertical-align:middle;width:18px;min-width:18px;max-width:18px}.cui .label--circle.label--tiny .icon-close{font-size:1.1rem}.cui .label--circle.label--small{margin:1px 0;padding:0;font-size:1.2rem;height:24px;line-height:1.2rem;vertical-align:middle;width:24px;min-width:24px;max-width:24px}.cui .label--circle.label--small .icon-close{font-size:1.2rem}.cui .label--circle.label--medium{margin:1px 0;padding:0;font-size:1.6rem;height:36px;line-height:1.6rem;vertical-align:middle;width:36px;min-width:36px;max-width:36px}.cui .label--circle.label--medium .icon-close{font-size:1.6rem}.cui .label--circle.label--large{margin:1px 0;padding:0;font-size:2.4rem;height:48px;line-height:2.4rem;vertical-align:middle;width:48px;min-width:48px;max-width:48px}.cui .label--circle.label--large .icon-close{font-size:2.4rem}.cui .label--circle.label--xlarge{margin:1px 0;padding:0;font-size:3.2rem;height:60px;line-height:3.2rem;vertical-align:middle;width:60px;min-width:60px;max-width:60px}.cui .label--circle.label--xlarge .icon-close{font-size:3.2rem}.cui .label--circle.label--huge{margin:1px 0;padding:0;font-size:3.6rem;height:72px;line-height:3.6rem;vertical-align:middle;width:72px;min-width:72px;max-width:72px}.cui .label--circle.label--huge .icon-close{font-size:3.6rem}.cui .label--circle.label--goliath{margin:1px 0;padding:0;font-size:4rem;height:96px;line-height:4rem;vertical-align:middle;width:96px;min-width:96px;max-width:96px}.cui .label--circle.label--goliath .icon-close{font-size:4rem}.cui .label--bordered{border:1px solid #dfdfdf}.cui .label--bordered-white{border-color:#fff}.cui .label--raised{box-shadow:0 10px 24px -6px rgba(0,0,0,.25)}.cui .label .icon-close{margin-left:5px;cursor:pointer;opacity:.75;transition:opacity .2s ease}.cui .label .icon-close:hover{opacity:1}.cui .label-group .label+.label{margin-left:0}.cui .label-group .label{margin-bottom:5px;margin-right:5px}.cui .link,.cui a:not(.btn){color:#007493;font-weight:400;background:0 0;text-decoration:none;border-radius:0}.cui .panel,.cui .panel--blue,.cui .panel--vibblue{position:relative;box-shadow:none;border:1px solid transparent}.cui .link:active,.cui a:not(.btn):active{color:#6f53bc}.cui .link:focus,.cui .link:hover,.cui a:not(.btn):focus,.cui a:not(.btn):hover{color:#005073}.cui .link:active,.cui .link:focus,.cui .link:hover,.cui a:not(.btn):active,.cui a:not(.btn):focus,.cui a:not(.btn):hover{text-decoration:underline}.cui .link:focus,.cui a:not(.btn):focus{outline:0}.cui .link.link--ghost,.cui a:not(.btn).link--ghost{color:#fff;opacity:.75}.cui .link.link--ghost:hover,.cui .panel.panel--blue .radio.disabled,.cui .panel.panel--blue .radio[disabled],.cui .panel.panel--blue .switch.disabled,.cui .panel.panel--blue .switch[disabled],.cui .panel.panel--dkgray .radio.disabled,.cui .panel.panel--dkgray .radio[disabled],.cui .panel.panel--dkgray .switch.disabled,.cui .panel.panel--dkgray .switch[disabled],.cui .panel.panel--indigo .radio.disabled,.cui .panel.panel--indigo .radio[disabled],.cui .panel.panel--indigo .switch.disabled,.cui .panel.panel--indigo .switch[disabled],.cui .panel.panel--success .radio.disabled,.cui .panel.panel--success .radio[disabled],.cui .panel.panel--success .switch.disabled,.cui .panel.panel--success .switch[disabled],.cui .radio.disabled,.cui .radio.radio--color.disabled,.cui .radio.radio--color[disabled],.cui .radio.radio--dark.disabled,.cui .radio.radio--dark[disabled],.cui .radio[disabled],.cui .switch.disabled,.cui .switch[disabled],.cui a:not(.btn).link--ghost:hover{opacity:1}.cui .link{color:#9e9ea2}.cui .list{padding:0;margin:0}.cui .list li{display:block}.cui .list li+li{margin:-1px 0 0}.cui .list.list--inline{display:inline-flex;flex-wrap:wrap}.cui .list.list--aligntop li:first-child,.cui .toast{align-items:flex-start}.cui .list.list--inline li:last-child{padding-right:0}.cui .list.list--inline li+li{margin:0 0 0 -1px}.cui .list.list--inline.list--divider li:after{color:#9e9ea2;content:'|';margin:0 5px;padding:0}.cui .list.list--inline.list--divider li:last-child:after{content:'';margin:0}.cui .list.list--inline.list--compressed li+li{margin:0 0 0 10px}.cui .list.list--inline.list--regular li+li{margin:0 0 0 20px}.cui .list.list--inline.list--loose li+li{margin:0 0 0 40px}.cui .list.list--highlight>li:hover>*{cursor:pointer;background-color:rgba(0,0,0,.05)}.cui .list.list--fillbg{background-color:#fff}.cui .list.list--compressed li+li{margin-top:10px}.cui .list.list--regular li+li{margin-top:20px}.cui .list.list--loose li+li{margin-top:40px}.cui dd,.cui dl,.cui dt{margin:0}.cui dt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.cui dd{margin-bottom:10px}.cui dl.dl--skinny dt{width:100px}.cui dl.dl--compressed dd{margin-bottom:0}.cui .dl--horizontal,.cui .dl--inline,.cui .dl--inline-centered,.cui .dl--inline-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cui .dl--horizontal:after,.cui .dl--inline-centered:after,.cui .dl--inline-wrap:after,.cui .dl--inline:after{clear:both!important;content:""!important;display:table!important}.cui .dl--horizontal dt,.cui .dl--inline dt,.cui .dl--inline-centered dt,.cui .dl--inline-wrap dt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:240px;padding-right:20px;float:left;clear:left}.cui .dl--horizontal dd,.cui .dl--inline dd,.cui .dl--inline-centered dd,.cui .dl--inline-wrap dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;float:left}.cui .dl--inline-centered dt{text-align:left;text-align:right}.cui .dl--inline-wrap dd{white-space:normal;float:none}.cui .dl--inline-xsmall dt{width:80px}.cui .dl--inline-small dt{width:120px}.cui .dl--inline-medium dt{width:240px}.cui .dl--inline-large dt{width:360px}.cui .dl--inline-xlarge dt{width:480px}.cui.cui--compressed .list li+li{margin:-1px 0 0}.cui.cui--compressed .list.list--inline li+li{margin:0 0 0 10px}.cui .panel-group .panel+.panel{margin-top:2px}.cui .panel-group .panel-group__header{margin:0 10px}.cui .panel{display:block;margin:0;height:auto;-webkit-tap-highlight-color:transparent;color:#58585b;background:#fff;padding:10px}.cui .panel--fill,.cui .panel--fluid{height:100%}.cui .panel__header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .panel__body,.cui .panel__footer,.cui .panel__header{position:relative;padding:5px 0}.cui .panel__body:after,.cui .panel__footer:after,.cui .panel__header:after{clear:both!important;content:""!important;display:table!important}.cui .panel__body>:first-child,.cui .panel__footer>:first-child,.cui .panel__header>:first-child{margin-top:0}.cui .panel__body>:last-child,.cui .panel__footer>:last-child,.cui .panel__header>:last-child{margin-bottom:0}.cui .panel--blue{color:#404040;background:#00bceb}.cui .panel--blue a,.cui .panel--blue a:hover{color:#005073}.cui .panel--blue a:not(.btn){text-decoration:underline dotted}.cui .panel--blue a:not(.btn):active,.cui .panel--blue a:not(.btn):focus,.cui .panel--blue a:not(.btn):hover{text-decoration:underline}.cui .panel--vibblue{color:#fff;background:#017CAD}.cui .panel--vibblue a,.cui .panel--vibblue a:hover{color:#fff}.cui .panel--ltgray,.cui .panel--mdgray{color:#58585b;border:1px solid transparent;box-shadow:none;position:relative}.cui .panel--vibblue a:not(.btn){text-decoration:underline dotted}.cui .panel--vibblue a:not(.btn):active,.cui .panel--vibblue a:not(.btn):focus,.cui .panel--vibblue a:not(.btn):hover{text-decoration:underline}.cui .panel--ltgray{background:#f2f2f2}.cui .panel--mdgray{background:#dfdfdf}.cui .panel--dkgray a,.cui .panel--dkgray a:hover,.cui .panel--indigo,.cui .panel--indigo a,.cui .panel--indigo a:hover{color:#fff}.cui .panel--dkgray{color:#fff;position:relative;background:#58585b;box-shadow:none;border:1px solid transparent}.cui .panel--dkgray a:not(.btn){text-decoration:underline dotted}.cui .panel--dkgray a:not(.btn):active,.cui .panel--dkgray a:not(.btn):focus,.cui .panel--dkgray a:not(.btn):hover{text-decoration:underline}.cui .panel--indigo{position:relative;background:#005073;box-shadow:none;border:1px solid transparent}.cui .panel--indigo a:not(.btn){text-decoration:underline dotted}.cui .panel--indigo a:not(.btn):active,.cui .panel--indigo a:not(.btn):focus,.cui .panel--indigo a:not(.btn):hover{text-decoration:underline}.cui .panel--gray-ghost{color:#58585b;position:relative;background:0 0;box-shadow:none;border:1px solid #f2f2f2}.cui .panel--info{color:#58585b;position:relative;background:#64bbe3;box-shadow:none;border:1px solid transparent}.cui .panel--green,.cui .panel--success{background:#6ebe4a;box-shadow:none;border:1px solid transparent;position:relative}.cui .panel--info a{color:#fff}.cui .panel--green{color:#404040}.cui .panel--green a,.cui .panel--green a:hover{color:#005073}.cui .panel--green a:not(.btn){text-decoration:underline dotted}.cui .panel--green a:not(.btn):active,.cui .panel--green a:not(.btn):focus,.cui .panel--green a:not(.btn):hover{text-decoration:underline}.cui .panel--success{color:#404040}.cui .panel--success a,.cui .panel--success a:hover{color:#005073}.cui .panel--success a:not(.btn){text-decoration:underline dotted}.cui .panel--success a:not(.btn):active,.cui .panel--success a:not(.btn):focus,.cui .panel--success a:not(.btn):hover{text-decoration:underline}.cui .panel--warning{color:#fff;position:relative;background:#fbab18;box-shadow:none;border:1px solid transparent}.cui .panel--warning a{color:#fff}.cui .panel--warning a:not(.btn){text-decoration:underline dotted}.cui .panel--warning a:not(.btn):active,.cui .panel--warning a:not(.btn):focus,.cui .panel--warning a:not(.btn):hover{text-decoration:underline}.cui .panel--danger{color:#fff;position:relative;background:#e2231a;box-shadow:none;border:1px solid transparent}.cui .panel--danger a,.cui .panel--danger a:hover{color:#fff}.cui .panel--danger a:not(.btn){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cui .panel--danger a:not(.btn):active,.cui .panel--danger a:not(.btn):focus,.cui .panel--danger a:not(.btn):hover{text-decoration:underline}.cui .panel--raised,.cui .panel--raised-medium{box-shadow:0 10px 24px -6px rgba(0,0,0,.25)}.cui .panel--raised-small{box-shadow:0 5px 24px -6px rgba(0,0,0,.25)}.cui .panel--raised-large{box-shadow:0 20px 20px rgba(0,0,0,.05),0 10px 12px rgba(0,0,0,.1)}.cui .panel--nopadding{padding:0}.cui .panel--content{box-sizing:content-box}.cui .panel--compressed,.cui .panel--skinny{padding:5px}.cui .panel--regular{padding:10px}.cui .panel--loose,.cui .panel--xspace{padding:20px}.cui .panel.panel--blue .radio input,.cui .panel.panel--success .radio input,.cui .radio input,.cui .radio.radio--color input,.cui .radio.radio--dark input{padding:0;overflow:hidden;clip:rect(0 0 0 0);width:20px}.cui .panel--toolbar{display:flex;align-items:center}.cui .panel--bordered{border:1px solid #dfdfdf}.cui .panel--bordered-top{border-top:1px solid #dfdfdf}.cui .panel--bordered-right{border-right:1px solid #dfdfdf}.cui .panel--bordered-bottom{border-bottom:1px solid #dfdfdf}.cui .panel--bordered-left{border-left:1px solid #dfdfdf}.cui .panel--hover:hover{background-color:#f5f5f6}.cui .panel--active{box-shadow:inset 0 0 0 2px #00bceb}.cui .panel--transparency{z-index:1;color:#fff;background-color:rgba(255,255,255,.25)}.cui .form-group .form-group__text input.disabled~label,.cui .form-group .form-group__text input.readonly~label,.cui .form-group .form-group__text input[disabled]~label,.cui .form-group .form-group__text input[readonly]~label,.cui .form-group .form-group__text select.disabled~label,.cui .form-group .form-group__text select.readonly~label,.cui .form-group .form-group__text select[disabled]~label,.cui .form-group .form-group__text select[readonly]~label,.cui .form-group .form-group__text textarea.disabled~label,.cui .form-group .form-group__text textarea.readonly~label,.cui .form-group .form-group__text textarea[disabled]~label,.cui .form-group .form-group__text textarea[readonly]~label,.cui .form-group .form-group__text.select input.disabled~label,.cui .form-group .form-group__text.select input.readonly~label,.cui .form-group .form-group__text.select input[disabled]~label,.cui .form-group .form-group__text.select input[readonly]~label,.cui .form-group .form-group__text.select select.disabled~label,.cui .form-group .form-group__text.select select.readonly~label,.cui .form-group .form-group__text.select select[disabled]~label,.cui .form-group .form-group__text.select select[readonly]~label,.cui .form-group .form-group__text.select textarea.disabled~label,.cui .form-group .form-group__text.select textarea.readonly~label,.cui .form-group .form-group__text.select textarea[disabled]~label,.cui .form-group .form-group__text.select textarea[readonly]~label,.cui textarea.textarea.disabled~label,.cui textarea.textarea.readonly~label,.cui textarea.textarea[disabled]~label,.cui textarea.textarea[readonly]~label{z-index:0!important;pointer-events:none!important;opacity:.75;cursor:not-allowed!important}.cui .panel--transparency:hover{color:#fff;background-color:rgba(255,255,255,.15)}.cui .panel--transparency.panel--blue{background-color:rgba(0,188,235,.75)}.cui .panel--transparency.panel--blue:hover{background-color:rgba(0,188,235,.5)}.cui .panel--transparency.panel--warning{background-color:rgba(251,171,24,.5)}.cui .panel--transparency.panel--warning:hover{background-color:rgba(251,171,24,.75)}.cui .panel--well{box-shadow:inset 0 5px 10px -5px rgba(0,0,0,.25)}.cui a.panel{cursor:pointer}.cui a.panel--blue:active,.cui a.panel--blue:focus,.cui a.panel--blue:hover{background-color:#1fd2ff;color:#005073}.cui a.panel--vibblue:active,.cui a.panel--vibblue:focus,.cui a.panel--vibblue:hover{background-color:#01a0e0;color:#fff}.cui a.panel--ltgray:active,.cui a.panel--ltgray:focus,.cui a.panel--ltgray:hover{background-color:#d9d9d9}.cui a.panel--mdgray:active,.cui a.panel--mdgray:focus,.cui a.panel--mdgray:hover{background-color:#f9f9f9}.cui a.panel--dkgray:active,.cui a.panel--dkgray:focus,.cui a.panel--dkgray:hover{background-color:#717175;color:#fff}.cui a.panel--indigo:active,.cui a.panel--indigo:focus,.cui a.panel--indigo:hover{background-color:#0073a6;color:#fff}.cui a.panel--gray-ghost:active,.cui a.panel--gray-ghost:focus,.cui a.panel--gray-ghost:hover{background-color:rgba(0,0,0,0)}.cui a.panel--info:active,.cui a.panel--info:focus,.cui a.panel--info:hover{background-color:#39a8db;color:#fff}.cui a.panel--green:active,.cui a.panel--green:focus,.cui a.panel--green:hover,.cui a.panel--success:active,.cui a.panel--success:focus,.cui a.panel--success:hover{background-color:#8ccb70;color:#005073}.cui a.panel--warning:active,.cui a.panel--warning:focus,.cui a.panel--warning:hover{background-color:#fcbd4a;color:#fff}.cui a.panel--danger:active,.cui a.panel--danger:focus,.cui a.panel--danger:hover{background-color:#ea4d45;color:#fff}.cui .radio input.checked~.radio__label,.cui .radio input:checked~.radio__label,.cui .radio.disabled .radio__label,.cui .radio.disabled input:checked~.radio__label,.cui .radio[disabled] .radio__label,.cui .radio[disabled] input:checked~.radio__label{color:#58585b}.cui .panels .panel+.panel{margin:1px 0}.cui .panels--striping>.panel:nth-child(odd){background:#fff}.cui .panels--striping>.panel:nth-child(even){background:#f9f9f9}.cui .panels--compressed .panel+.panel{margin:10px 0}.cui .panels--regular .panel+.panel{margin:20px 0}.cui .panels--loose .panel+.panel{margin:40px 0}.cui .radio{position:relative;display:inline-flex;align-items:center;cursor:pointer;margin-right:5px}.cui .radio.disabled input:checked~.radio__input:before,.cui .radio[disabled] input:checked~.radio__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .radio.disabled input:checked~.radio__input:after,.cui .radio[disabled] input:checked~.radio__input:after{background-color:#c6c7ca}.cui .radio.disabled .radio__input:before,.cui .radio[disabled] .radio__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .radio.disabled .radio__input:after,.cui .radio[disabled] .radio__input:after{background-color:#c6c7ca}.cui .radio input{border:0;display:block;position:absolute;height:20px;margin:0}.cui .radio input.hover~.radio__input:before,.cui .radio input:hover~.radio__input:before{box-shadow:inset 0 0 0 2px #00bceb}.cui .radio input.checked.hover~.radio__input:before,.cui .radio input.checked:hover~.radio__input:before,.cui .radio input:checked.hover~.radio__input:before,.cui .radio input:checked:hover~.radio__input:before{background-color:#00bceb}.cui .radio input.checked.hover~.radio__input:after,.cui .radio input.checked:hover~.radio__input:after,.cui .radio input:checked.hover~.radio__input:after,.cui .radio input:checked:hover~.radio__input:after{color:#fff;background-color:#9e9ea2;border:6px solid #00bceb}.cui .radio input.checked~.radio__input:before,.cui .radio input:checked~.radio__input:before{box-shadow:inset 0 0 0 1px #00bceb;background-color:#00bceb}.cui .radio input.checked~.radio__input:after,.cui .radio input:checked~.radio__input:after{display:flex;align-items:center;justify-content:center}.cui .radio input.focus~.radio__input:before,.cui .radio input:focus~.radio__input:before{outline-color:#00bceb;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #007493}.cui .radio input.active~.radio__input:before,.cui .radio input:active~.radio__input:before{box-shadow:none;background-color:#00bceb}.cui .radio .radio__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .radio .radio__input:after,.cui .radio .radio__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .radio .radio__input:before{border-radius:50%;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .radio .radio__input:after{display:none;box-shadow:inset 0 0 0 4px #fff;border-radius:50%;background-color:#00bceb;border:2px solid transparent}.cui .radio .radio__label{color:#58585b;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .radio:last-of-type{margin-right:0}.cui .radio--nowrap .radio__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cui .panel.panel--dkgray .radio.disabled input:checked~.radio__input:before,.cui .panel.panel--dkgray .radio[disabled] input:checked~.radio__input:before,.cui .panel.panel--indigo .radio.disabled input:checked~.radio__input:before,.cui .panel.panel--indigo .radio[disabled] input:checked~.radio__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .panel.panel--dkgray .radio.disabled input:checked~.radio__input:after,.cui .panel.panel--dkgray .radio[disabled] input:checked~.radio__input:after,.cui .panel.panel--indigo .radio.disabled input:checked~.radio__input:after,.cui .panel.panel--indigo .radio[disabled] input:checked~.radio__input:after{background-color:#c6c7ca}.cui .panel.panel--dkgray .radio.disabled input:checked~.radio__label,.cui .panel.panel--dkgray .radio[disabled] input:checked~.radio__label,.cui .panel.panel--indigo .radio.disabled input:checked~.radio__label,.cui .panel.panel--indigo .radio[disabled] input:checked~.radio__label{color:#fff}.cui .panel.panel--dkgray .radio.disabled .radio__input:before,.cui .panel.panel--dkgray .radio[disabled] .radio__input:before,.cui .panel.panel--indigo .radio.disabled .radio__input:before,.cui .panel.panel--indigo .radio[disabled] .radio__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .panel.panel--dkgray .radio.disabled .radio__input:after,.cui .panel.panel--dkgray .radio[disabled] .radio__input:after,.cui .panel.panel--indigo .radio.disabled .radio__input:after,.cui .panel.panel--indigo .radio[disabled] .radio__input:after{background-color:#c6c7ca}.cui .panel.panel--dkgray .radio.disabled .radio__label,.cui .panel.panel--dkgray .radio[disabled] .radio__label,.cui .panel.panel--indigo .radio.disabled .radio__label,.cui .panel.panel--indigo .radio[disabled] .radio__label{color:#fff}.cui .panel.panel--dkgray .radio input,.cui .panel.panel--indigo .radio input{padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);display:block;position:absolute;width:20px;height:20px;margin:0}.cui .panel.panel--dkgray .radio input.hover~.radio__input:before,.cui .panel.panel--dkgray .radio input:hover~.radio__input:before,.cui .panel.panel--indigo .radio input.hover~.radio__input:before,.cui .panel.panel--indigo .radio input:hover~.radio__input:before{box-shadow:inset 0 0 0 2px #00bceb}.cui .panel.panel--dkgray .radio input.checked~.radio__label,.cui .panel.panel--dkgray .radio input:checked~.radio__label,.cui .panel.panel--indigo .radio input.checked~.radio__label,.cui .panel.panel--indigo .radio input:checked~.radio__label{color:#fff}.cui .panel.panel--dkgray .radio input.checked.hover~.radio__input:before,.cui .panel.panel--dkgray .radio input.checked:hover~.radio__input:before,.cui .panel.panel--dkgray .radio input:checked.hover~.radio__input:before,.cui .panel.panel--dkgray .radio input:checked:hover~.radio__input:before,.cui .panel.panel--indigo .radio input.checked.hover~.radio__input:before,.cui .panel.panel--indigo .radio input.checked:hover~.radio__input:before,.cui .panel.panel--indigo .radio input:checked.hover~.radio__input:before,.cui .panel.panel--indigo .radio input:checked:hover~.radio__input:before{background-color:#00bceb}.cui .panel.panel--dkgray .radio input.checked.hover~.radio__input:after,.cui .panel.panel--dkgray .radio input.checked:hover~.radio__input:after,.cui .panel.panel--dkgray .radio input:checked.hover~.radio__input:after,.cui .panel.panel--dkgray .radio input:checked:hover~.radio__input:after,.cui .panel.panel--indigo .radio input.checked.hover~.radio__input:after,.cui .panel.panel--indigo .radio input.checked:hover~.radio__input:after,.cui .panel.panel--indigo .radio input:checked.hover~.radio__input:after,.cui .panel.panel--indigo .radio input:checked:hover~.radio__input:after{color:#fff;background-color:#9e9ea2;border:6px solid #00bceb}.cui .panel.panel--dkgray .radio input.checked~.radio__input:before,.cui .panel.panel--dkgray .radio input:checked~.radio__input:before,.cui .panel.panel--indigo .radio input.checked~.radio__input:before,.cui .panel.panel--indigo .radio input:checked~.radio__input:before{box-shadow:inset 0 0 0 1px #00bceb;background-color:#00bceb}.cui .panel.panel--dkgray .radio input.checked~.radio__input:after,.cui .panel.panel--dkgray .radio input:checked~.radio__input:after,.cui .panel.panel--indigo .radio input.checked~.radio__input:after,.cui .panel.panel--indigo .radio input:checked~.radio__input:after{display:flex;align-items:center;justify-content:center}.cui .panel.panel--dkgray .radio input.focus~.radio__input:before,.cui .panel.panel--dkgray .radio input:focus~.radio__input:before,.cui .panel.panel--indigo .radio input.focus~.radio__input:before,.cui .panel.panel--indigo .radio input:focus~.radio__input:before{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #007493}.cui .panel.panel--dkgray .radio input.active~.radio__input:before,.cui .panel.panel--dkgray .radio input:active~.radio__input:before,.cui .panel.panel--indigo .radio input.active~.radio__input:before,.cui .panel.panel--indigo .radio input:active~.radio__input:before{box-shadow:none;background-color:#00bceb}.cui .panel.panel--dkgray .radio .radio__input,.cui .panel.panel--indigo .radio .radio__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .panel.panel--dkgray .radio .radio__input:after,.cui .panel.panel--dkgray .radio .radio__input:before,.cui .panel.panel--indigo .radio .radio__input:after,.cui .panel.panel--indigo .radio .radio__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .panel.panel--dkgray .radio .radio__input:before,.cui .panel.panel--indigo .radio .radio__input:before{border-radius:50%;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--dkgray .radio .radio__input:after,.cui .panel.panel--indigo .radio .radio__input:after{display:none;box-shadow:inset 0 0 0 4px #fff;border-radius:50%;background-color:#00bceb;border:2px solid transparent}.cui .panel.panel--dkgray .radio .radio__label,.cui .panel.panel--indigo .radio .radio__label{color:#fff;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .radio.radio--dark.disabled input:checked~.radio__input:before,.cui .radio.radio--dark[disabled] input:checked~.radio__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .radio.radio--dark.disabled input:checked~.radio__input:after,.cui .radio.radio--dark[disabled] input:checked~.radio__input:after{background-color:#c6c7ca}.cui .radio.radio--dark.disabled input:checked~.radio__label,.cui .radio.radio--dark[disabled] input:checked~.radio__label{color:#fff}.cui .radio.radio--dark.disabled .radio__input:before,.cui .radio.radio--dark[disabled] .radio__input:before{background-color:#f2f2f2;box-shadow:inset 0 0 0 1px #c6c7ca}.cui .radio.radio--dark.disabled .radio__input:after,.cui .radio.radio--dark[disabled] .radio__input:after{background-color:#c6c7ca}.cui .radio.radio--dark.disabled .radio__label,.cui .radio.radio--dark[disabled] .radio__label{color:#fff}.cui .radio.radio--dark input{border:0;display:block;position:absolute;height:20px;margin:0}.cui .radio.radio--dark input.hover~.radio__input:before,.cui .radio.radio--dark input:hover~.radio__input:before{box-shadow:inset 0 0 0 2px #00bceb}.cui .radio.radio--dark input.checked~.radio__label,.cui .radio.radio--dark input:checked~.radio__label{color:#fff}.cui .radio.radio--dark input.checked.hover~.radio__input:before,.cui .radio.radio--dark input.checked:hover~.radio__input:before,.cui .radio.radio--dark input:checked.hover~.radio__input:before,.cui .radio.radio--dark input:checked:hover~.radio__input:before{background-color:#00bceb}.cui .radio.radio--dark input.checked.hover~.radio__input:after,.cui .radio.radio--dark input.checked:hover~.radio__input:after,.cui .radio.radio--dark input:checked.hover~.radio__input:after,.cui .radio.radio--dark input:checked:hover~.radio__input:after{color:#fff;background-color:#9e9ea2;border:6px solid #00bceb}.cui .radio.radio--dark input.checked~.radio__input:before,.cui .radio.radio--dark input:checked~.radio__input:before{box-shadow:inset 0 0 0 1px #00bceb;background-color:#00bceb}.cui .radio.radio--dark input.checked~.radio__input:after,.cui .radio.radio--dark input:checked~.radio__input:after{display:flex;align-items:center;justify-content:center}.cui .radio.radio--dark input.focus~.radio__input:before,.cui .radio.radio--dark input:focus~.radio__input:before{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #007493}.cui .radio.radio--dark input.active~.radio__input:before,.cui .radio.radio--dark input:active~.radio__input:before{box-shadow:none;background-color:#00bceb}.cui .radio.radio--dark .radio__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .radio.radio--dark .radio__input:after,.cui .radio.radio--dark .radio__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .radio.radio--dark .radio__input:before{border-radius:50%;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .radio.radio--dark .radio__input:after{display:none;box-shadow:inset 0 0 0 4px #fff;border-radius:50%;background-color:#00bceb;border:2px solid transparent}.cui .radio.radio--dark .radio__label{color:#fff;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .panel.panel--blue .radio input.checked~.radio__label,.cui .panel.panel--blue .radio input:checked~.radio__label,.cui .panel.panel--blue .radio.disabled .radio__label,.cui .panel.panel--blue .radio.disabled input:checked~.radio__label,.cui .panel.panel--blue .radio[disabled] .radio__label,.cui .panel.panel--blue .radio[disabled] input:checked~.radio__label,.cui .panel.panel--success .radio input.checked~.radio__label,.cui .panel.panel--success .radio input:checked~.radio__label,.cui .panel.panel--success .radio.disabled .radio__label,.cui .panel.panel--success .radio.disabled input:checked~.radio__label,.cui .panel.panel--success .radio[disabled] .radio__label,.cui .panel.panel--success .radio[disabled] input:checked~.radio__label{color:#39393b}.cui .panel.panel--blue .radio.disabled input:checked~.radio__input:before,.cui .panel.panel--blue .radio[disabled] input:checked~.radio__input:before,.cui .panel.panel--success .radio.disabled input:checked~.radio__input:before,.cui .panel.panel--success .radio[disabled] input:checked~.radio__input:before{background-color:#d7d7d8;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--blue .radio.disabled input:checked~.radio__input:after,.cui .panel.panel--blue .radio[disabled] input:checked~.radio__input:after,.cui .panel.panel--success .radio.disabled input:checked~.radio__input:after,.cui .panel.panel--success .radio[disabled] input:checked~.radio__input:after{background-color:#d7d7d8}.cui .panel.panel--blue .radio.disabled .radio__input:before,.cui .panel.panel--blue .radio[disabled] .radio__input:before,.cui .panel.panel--success .radio.disabled .radio__input:before,.cui .panel.panel--success .radio[disabled] .radio__input:before{background-color:#d7d7d8;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--blue .radio.disabled .radio__input:after,.cui .panel.panel--blue .radio[disabled] .radio__input:after,.cui .panel.panel--success .radio.disabled .radio__input:after,.cui .panel.panel--success .radio[disabled] .radio__input:after{background-color:#d7d7d8}.cui .panel.panel--blue .radio input,.cui .panel.panel--success .radio input{border:0;display:block;position:absolute;height:20px;margin:0}.cui .panel.panel--blue .radio input.hover~.radio__input:before,.cui .panel.panel--blue .radio input:hover~.radio__input:before,.cui .panel.panel--success .radio input.hover~.radio__input:before,.cui .panel.panel--success .radio input:hover~.radio__input:before{box-shadow:inset 0 0 0 2px #007493}.cui .panel.panel--blue .radio input.checked.hover~.radio__input:before,.cui .panel.panel--blue .radio input.checked:hover~.radio__input:before,.cui .panel.panel--blue .radio input:checked.hover~.radio__input:before,.cui .panel.panel--blue .radio input:checked:hover~.radio__input:before,.cui .panel.panel--success .radio input.checked.hover~.radio__input:before,.cui .panel.panel--success .radio input.checked:hover~.radio__input:before,.cui .panel.panel--success .radio input:checked.hover~.radio__input:before,.cui .panel.panel--success .radio input:checked:hover~.radio__input:before{background-color:#005073}.cui .panel.panel--blue .radio input.checked.hover~.radio__input:after,.cui .panel.panel--blue .radio input.checked:hover~.radio__input:after,.cui .panel.panel--blue .radio input:checked.hover~.radio__input:after,.cui .panel.panel--blue .radio input:checked:hover~.radio__input:after,.cui .panel.panel--success .radio input.checked.hover~.radio__input:after,.cui .panel.panel--success .radio input.checked:hover~.radio__input:after,.cui .panel.panel--success .radio input:checked.hover~.radio__input:after,.cui .panel.panel--success .radio input:checked:hover~.radio__input:after{color:#fff;background-color:#9e9ea2;border:6px solid #005073}.cui .radio.radio--color input.checked~.radio__label,.cui .radio.radio--color input:checked~.radio__label,.cui .radio.radio--color.disabled .radio__label,.cui .radio.radio--color.disabled input:checked~.radio__label,.cui .radio.radio--color[disabled] .radio__label,.cui .radio.radio--color[disabled] input:checked~.radio__label{color:#39393b}.cui .panel.panel--blue .radio input.checked~.radio__input:before,.cui .panel.panel--blue .radio input:checked~.radio__input:before,.cui .panel.panel--success .radio input.checked~.radio__input:before,.cui .panel.panel--success .radio input:checked~.radio__input:before{box-shadow:inset 0 0 0 1px #005073;background-color:#005073}.cui .panel.panel--blue .radio input.checked~.radio__input:after,.cui .panel.panel--blue .radio input:checked~.radio__input:after,.cui .panel.panel--success .radio input.checked~.radio__input:after,.cui .panel.panel--success .radio input:checked~.radio__input:after{display:flex;align-items:center;justify-content:center}.cui .panel.panel--blue .radio input.focus~.radio__input:before,.cui .panel.panel--blue .radio input:focus~.radio__input:before,.cui .panel.panel--success .radio input.focus~.radio__input:before,.cui .panel.panel--success .radio input:focus~.radio__input:before{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #007493}.cui .panel.panel--blue .radio input.active~.radio__input:before,.cui .panel.panel--blue .radio input:active~.radio__input:before,.cui .panel.panel--success .radio input.active~.radio__input:before,.cui .panel.panel--success .radio input:active~.radio__input:before{box-shadow:none;background-color:#005073}.cui .panel.panel--blue .radio .radio__input,.cui .panel.panel--success .radio .radio__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .panel.panel--blue .radio .radio__input:after,.cui .panel.panel--blue .radio .radio__input:before,.cui .panel.panel--success .radio .radio__input:after,.cui .panel.panel--success .radio .radio__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .panel.panel--blue .radio .radio__input:before,.cui .panel.panel--success .radio .radio__input:before{border-radius:50%;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .panel.panel--blue .radio .radio__input:after,.cui .panel.panel--success .radio .radio__input:after{display:none;box-shadow:inset 0 0 0 4px #fff;border-radius:50%;background-color:#005073;border:2px solid transparent}.cui .panel.panel--blue .radio .radio__label,.cui .panel.panel--success .radio .radio__label{color:#39393b;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .radio.radio--color.disabled input:checked~.radio__input:before,.cui .radio.radio--color[disabled] input:checked~.radio__input:before{background-color:#d7d7d8;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .radio.radio--color.disabled input:checked~.radio__input:after,.cui .radio.radio--color[disabled] input:checked~.radio__input:after{background-color:#d7d7d8}.cui .radio.radio--color.disabled .radio__input:before,.cui .radio.radio--color[disabled] .radio__input:before{background-color:#d7d7d8;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .radio.radio--color.disabled .radio__input:after,.cui .radio.radio--color[disabled] .radio__input:after{background-color:#d7d7d8}.cui .radio.radio--color input{border:0;display:block;position:absolute;height:20px;margin:0}.cui .content,.cui .content-fluid{overflow-x:hidden;overflow-y:auto}.cui .radio.radio--color input.hover~.radio__input:before,.cui .radio.radio--color input:hover~.radio__input:before{box-shadow:inset 0 0 0 2px #007493}.cui .radio.radio--color input.checked.hover~.radio__input:before,.cui .radio.radio--color input.checked:hover~.radio__input:before,.cui .radio.radio--color input:checked.hover~.radio__input:before,.cui .radio.radio--color input:checked:hover~.radio__input:before{background-color:#005073}.cui .radio.radio--color input.checked.hover~.radio__input:after,.cui .radio.radio--color input.checked:hover~.radio__input:after,.cui .radio.radio--color input:checked.hover~.radio__input:after,.cui .radio.radio--color input:checked:hover~.radio__input:after{color:#fff;background-color:#9e9ea2;border:6px solid #005073}.cui .radio.radio--color input.checked~.radio__input:before,.cui .radio.radio--color input:checked~.radio__input:before{box-shadow:inset 0 0 0 1px #005073;background-color:#005073}.cui .radio.radio--color input.checked~.radio__input:after,.cui .radio.radio--color input:checked~.radio__input:after{display:flex;align-items:center;justify-content:center}.cui .radio.radio--color input.focus~.radio__input:before,.cui .radio.radio--color input:focus~.radio__input:before{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed;box-shadow:inset 0 0 0 1px #007493}.cui .switch input.focus~.switch__input,.cui .switch input:focus~.switch__input,.cui .switch-icon input.focus~.switch__input,.cui .switch-icon input:focus~.switch__input{outline-color:#00bceb;outline-offset:1px;outline-width:thin;outline-style:dashed}.cui .radio.radio--color input.active~.radio__input:before,.cui .radio.radio--color input:active~.radio__input:before{box-shadow:none;background-color:#005073}.cui .radio.radio--color .radio__input{position:relative;display:inline-flex;width:20px;min-width:20px;height:20px}.cui .radio.radio--color .radio__input:after,.cui .radio.radio--color .radio__input:before{position:absolute;top:0;left:0;width:20px;height:20px;content:''}.cui .radio.radio--color .radio__input:before{border-radius:50%;background-color:#fff;box-shadow:inset 0 0 0 1px #9e9ea2}.cui .radio.radio--color .radio__input:after{display:none;box-shadow:inset 0 0 0 4px #fff;border-radius:50%;background-color:#005073;border:2px solid transparent}.cui .radio.radio--color .radio__label{color:#39393b;margin-left:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .h1 small,.cui .h2 small,.cui .h3 small,.cui .h4 small,.cui .h5 small,.cui .h6 small,.cui .subheading,.cui h1 small,.cui h2 small,.cui h3 small,.cui h4 small,.cui h5 small,.cui h6 small{color:#9e9ea2}.cui.cui--animated .radio input~.radio__input:before{transition:all .1s ease-out}.cui.cui--animated .radio input:hover~.radio__input:before{transition:all .1s ease-in}.cui .h1,.cui .h2,.cui .h3,.cui .h4,.cui .h5,.cui .h6,.cui h1,.cui h2,.cui h3,.cui h4,.cui h5,.cui h6{margin:0;font-family:inherit;line-height:1.2}.cui .h1,.cui h1{font-size:4rem;font-weight:100}.cui .h2,.cui h2{font-size:3.2rem;font-weight:200}.cui .h3,.cui h3{font-size:2.8rem;font-weight:200}.cui .h4,.cui h4{font-size:2.4rem;font-weight:300}.cui .h5,.cui h5{font-size:2rem;font-weight:300}.cui .h6,.cui h6{font-size:1.6rem;font-weight:300}.cui .display-0{font-size:9rem!important}.cui .display-1{font-size:6rem!important}.cui .display-2{font-size:5.5rem!important}.cui .display-3{font-size:4.5rem!important}.cui .display-4{font-size:3.5rem!important}@media (max-width:575.98px){.cui .display-0-xs{font-size:9rem!important}.cui .display-1-xs{font-size:6rem!important}.cui .display-2-xs{font-size:5.5rem!important}.cui .display-3-xs{font-size:4.5rem!important}.cui .display-4-xs{font-size:3.5rem!important}}@media (max-width:767.98px){.cui .display-0-sm{font-size:9rem!important}.cui .display-1-sm{font-size:6rem!important}.cui .display-2-sm{font-size:5.5rem!important}.cui .display-3-sm{font-size:4.5rem!important}.cui .display-4-sm{font-size:3.5rem!important}}@media (max-width:991.98px){.cui .display-0-md{font-size:9rem!important}.cui .display-1-md{font-size:6rem!important}.cui .display-2-md{font-size:5.5rem!important}.cui .display-3-md{font-size:4.5rem!important}.cui .display-4-md{font-size:3.5rem!important}}.cui .subheader{text-transform:uppercase;margin-bottom:20px;font-weight:700}@media (max-width:575.98px){.cui .subheader{font-size:1rem!important}}.cui .subtitle{font-size:1.6rem;font-weight:300}.cui p{margin:20px 0}.cui ol,.cui ul{margin:0;padding:0 0 0 20px}.cui ol.list--unstyled ol ul:not(:first-child),.cui ol.list--unstyled ul ul:not(:first-child),.cui ol.list--unstyled ul:not(:first-child),.cui ul.list--unstyled ol ul:not(:first-child),.cui ul.list--unstyled ul ul:not(:first-child),.cui ul.list--unstyled ul:not(:first-child){padding-left:20px}.cui hr{border-bottom:1px solid #dfdfdf;border-left:none;border-right:none;border-top:none;margin:10px 0}.cui hr.divider-qtr,.cui hr.hr--qtr{width:25%;margin:auto}.cui hr.divider--skinny{margin:auto auto 25px;padding-top:25px}.cui img,.cui picture{margin:0;border:0;max-width:100%}.cui img.img--fluid{display:block;width:100%;height:auto}.cui *,.cui :after,.cui :before{box-sizing:inherit}.cui .content-body{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#f5f5f6}.cui .content-background--alt,.cui .content-body--alt{background:#fff}.cui .content{flex:1;-webkit-overflow-scrolling:touch;background:#f5f5f6}.cui .content.content--alt,.cui .content__main--alt{background:#fff}.cui .content__main{padding-top:10px;padding-bottom:10px}@media (min-width:768px){.cui .content__main{padding-top:20px;padding-bottom:20px}}@media (min-width:992px){.cui .content__main{padding-top:30px;padding-bottom:30px}}.cui .content-wrapper{display:flex;flex-direction:column;background:#f5f5f6;height:100%}.cui .content-wrapper .content{display:flex;flex-direction:column}.cui .content-wrapper .footer{flex:none;background-color:#005073}.cui .container,.cui .container-fluid{padding-right:20px;padding-left:20px}.cui pre{margin:0;white-space:pre-wrap}.cui button,.cui input,.cui select,.cui textarea{color:#58585b;font-size:1.4rem;font-family:CiscoSans,Arial,sans-serif;font-weight:inherit}.cui iframe{width:100%;height:100%;border:1px solid #dfdfdf;margin:10px 0;display:inline-block}.cui .form-group.active .form-group__text.select,.cui .form-group.active .form-group__text.select input{border-bottom-left-radius:0;border-bottom-right-radius:0}.cui .content-fluid{display:flex;width:100%;height:100%}.cui .content-fluid main{flex:1 100%;flex-direction:column;overflow:auto;position:relative;max-width:2560px}.cui .content-fluid main .footer{flex:none;overflow:hidden;background-color:#005073}.cui.cui--wide .container{max-width:1600px}.cui.cui--headermargins .h1,.cui.cui--headermargins .h2,.cui.cui--headermargins .h3,.cui.cui--headermargins .h4,.cui.cui--headermargins .h5,.cui.cui--headermargins .h6,.cui.cui--headermargins h1,.cui.cui--headermargins h2,.cui.cui--headermargins h3,.cui.cui--headermargins h4,.cui.cui--headermargins h5,.cui.cui--headermargins h6{margin:0 0 10px}.cui.cui--sticky main{display:flex}.cui .sections .section+.section{margin:20px 0}.cui .sections--striping>.section:nth-child(odd){background:#fff}.cui .sections--striping>.section:nth-child(even){background:#f9f9f9}.cui .sections--compressed .section+.section{margin:10px 0}.cui .sections--regular .section+.section{margin:20px 0}.cui .sections--loose .section+.section{margin:40px 0}.cui .section-header{margin:10px 0;padding-bottom:10px;border-bottom:1px solid #dfdfdf}.cui .section{padding:20px 0}.cui .section:after{clear:both!important;content:""!important;display:table!important}.cui .section__title,.cui .section__title--inline{vertical-align:middle;padding:0;margin-top:0;margin-bottom:0}.cui .section__title{margin-bottom:20px}.cui .section__title--inline{display:inline-block}.cui .section__title--divider{border-bottom:1px solid #dfdfdf;padding-bottom:10px}.cui .section__intro{margin-bottom:40px;font-size:1.4rem;font-weight:200}@media (min-width:768px){.cui .section__intro{font-size:2.1rem}}.cui .section--compressed,.cui .section--skinny{padding:10px 0}.cui .section--regular{padding:20px 0}.cui .section--loose{padding:40px 0}.cui .section.section--marquee,.cui .section.section--marquee-both{margin:20px 0;border-top:20px solid #dfdfdf}.cui .section.section--marquee-both{border-bottom:5px solid #dfdfdf}.cui .section+.section{padding-top:0}.cui .form-group .form-group__text.select select{cursor:pointer}.cui .form-group .form-group__text.select input{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.cui .form-group .form-group__text.select:after{content:"";-webkit-transform:rotate(0);transform:rotate(0);position:absolute;right:10px;color:#9e9ea2;text-align:center;pointer-events:none}.cui .form-group.active .form-group__text.select:after{-webkit-transform:rotate(180deg);transform:rotate(180deg);position:absolute}.cui .form-group.active .form-group__text.select~.dropdown__menu{border-top:3px solid #00bceb}.cui .form-group.input--compressed .form-group__text.select:after{top:26px}.cui .form-group .form-group__text.select~.help-block{position:absolute;top:100%;right:0}.cui.cui--animated .form-group .form-group__text.select:after{transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.cui .switch,.cui .switch-icon{display:flex;position:relative;align-items:center;cursor:pointer}.cui .switch{height:24px}.cui .switch.disabled input:checked~.switch__input,.cui .switch[disabled] input:checked~.switch__input{background:#d7d7d8}.cui .switch.disabled input:checked~.switch__input:after,.cui .switch[disabled] input:checked~.switch__input:after{background:#f2f2f2;border:1px solid #d7d7d8;box-shadow:none}.cui .switch.disabled input~.switch__input,.cui .switch[disabled] input~.switch__input{background:#d7d7d8}.cui .switch.disabled input~.switch__input:after,.cui .switch[disabled] input~.switch__input:after{background:#f2f2f2;border:1px solid #d7d7d8;box-shadow:none}.cui .switch.disabled .switch__label,.cui .switch[disabled] .switch__label{color:#58585b}.cui .switch.hover input:checked~.switch__input:after,.cui .switch:hover input:checked~.switch__input:after{border-width:2px}.cui .switch__label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#58585b}.cui .switch .switch__input{position:relative;display:flex;align-items:center;justify-content:center;background:#dfdfdf;border-radius:30px}.cui .switch .switch__input:after{display:block;position:absolute;left:0;border-radius:50%;content:'';cursor:pointer}.cui .switch .switch__input+.switch__label,.cui .switch .switch__label+.switch__input{margin-left:5px}.cui .switch input,.cui .switch-icon input{display:block;position:absolute;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);padding:0}.cui .switch input{width:1px;height:1px;border:0}.cui .switch input~.switch__input{box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.cui .switch input~.switch__input:after{background:#aeaeaf;box-shadow:none}.cui .switch input:checked~.switch__input{background:#00bceb;box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.cui .switch input:checked~.switch__input:after{background:#fff;border:1px solid #00bceb;-webkit-transform:translateX(100%);transform:translateX(100%);box-shadow:0 1px 3px rgba(0,0,0,.25)}.cui .switch .switch__input{height:12px}.cui .switch .switch__input:after{width:24px;height:24px}.cui .switch input~.switch__input{width:48px}.cui .switch--large{height:30px}.cui .switch--large .switch__input{height:15px}.cui .switch--large .switch__input:after{width:30px;height:30px}.cui .switch--large input~.switch__input{width:60px}.cui .switch-icon{height:24px}.cui .switch-icon input{width:1px;height:1px;border:0}.cui .panel.panel--dkgray .switch .switch__input+.switch__label,.cui .panel.panel--dkgray .switch .switch__label+.switch__input,.cui .panel.panel--indigo .switch .switch__input+.switch__label,.cui .panel.panel--indigo .switch .switch__label+.switch__input,.cui .switch-icon span[class^=icon-]:last-child{margin-left:5px}.cui .switch-icon input~.switch__input span:first-child{color:#00bceb}.cui .switch-icon input:checked~.switch__input span:first-child,.cui .switch-icon input~.switch__input span:last-child{color:#9e9ea2}.cui .switch-icon input:checked~.switch__input span:last-child{color:#00bceb}.cui .switch-icon .switch__label{display:none}.cui .switch-icon span[class^=icon-]{font-size:2rem}.cui .switch-icon--large{height:30px}.cui .switch-icon--large span[class^=icon-]{font-size:2.8rem}.cui .switch-icon input:focus~.switch__input{outline:0}.cui .panel.panel--blue .switch input.focus~.switch__input,.cui .panel.panel--blue .switch input:focus~.switch__input,.cui .panel.panel--blue .switch-icon input.focus~.switch__input,.cui .panel.panel--blue .switch-icon input:focus~.switch__input,.cui .panel.panel--dkgray .switch input.focus~.switch__input,.cui .panel.panel--dkgray .switch input:focus~.switch__input,.cui .panel.panel--dkgray .switch-icon input.focus~.switch__input,.cui .panel.panel--dkgray .switch-icon input:focus~.switch__input,.cui .panel.panel--indigo .switch input.focus~.switch__input,.cui .panel.panel--indigo .switch input:focus~.switch__input,.cui .panel.panel--indigo .switch-icon input.focus~.switch__input,.cui .panel.panel--indigo .switch-icon input:focus~.switch__input,.cui .panel.panel--success .switch input.focus~.switch__input,.cui .panel.panel--success .switch input:focus~.switch__input,.cui .panel.panel--success .switch-icon input.focus~.switch__input,.cui .panel.panel--success .switch-icon input:focus~.switch__input{outline-color:#fff;outline-offset:1px;outline-width:thin;outline-style:dashed}.cui .panel.panel--dkgray .switch.disabled input:checked~.switch__input,.cui .panel.panel--dkgray .switch[disabled] input:checked~.switch__input,.cui .panel.panel--indigo .switch.disabled input:checked~.switch__input,.cui .panel.panel--indigo .switch[disabled] input:checked~.switch__input{background:#d7d7d8}.cui .panel.panel--dkgray .switch.disabled input:checked~.switch__input:after,.cui .panel.panel--dkgray .switch[disabled] input:checked~.switch__input:after,.cui .panel.panel--indigo .switch.disabled input:checked~.switch__input:after,.cui .panel.panel--indigo .switch[disabled] input:checked~.switch__input:after{background:#f2f2f2;border:1px solid #9e9ea2;box-shadow:none}.cui .panel.panel--dkgray .switch.disabled input~.switch__input,.cui .panel.panel--dkgray .switch[disabled] input~.switch__input,.cui .panel.panel--indigo .switch.disabled input~.switch__input,.cui .panel.panel--indigo .switch[disabled] input~.switch__input{background:#d7d7d8}.cui .panel.panel--dkgray .switch.disabled input~.switch__input:after,.cui .panel.panel--dkgray .switch[disabled] input~.switch__input:after,.cui .panel.panel--indigo .switch.disabled input~.switch__input:after,.cui .panel.panel--indigo .switch[disabled] input~.switch__input:after{background:#f2f2f2;border:1px solid #9e9ea2;box-shadow:none}.cui .panel.panel--dkgray .switch.disabled .switch__label,.cui .panel.panel--dkgray .switch[disabled] .switch__label,.cui .panel.panel--indigo .switch.disabled .switch__label,.cui .panel.panel--indigo .switch[disabled] .switch__label{color:#fff}.cui .panel.panel--dkgray .switch.hover input:checked~.switch__input:after,.cui .panel.panel--dkgray .switch:hover input:checked~.switch__input:after,.cui .panel.panel--indigo .switch.hover input:checked~.switch__input:after,.cui .panel.panel--indigo .switch:hover input:checked~.switch__input:after{border-width:2px}.cui .panel.panel--dkgray .switch__label,.cui .panel.panel--indigo .switch__label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff}.cui .panel.panel--dkgray .switch .switch__input,.cui .panel.panel--indigo .switch .switch__input{position:relative;display:flex;align-items:center;justify-content:center;background:#dfdfdf;border-radius:30px}.cui .panel.panel--dkgray .switch .switch__input:after,.cui .panel.panel--indigo .switch .switch__input:after{display:block;position:absolute;left:0;border-radius:50%;content:'';cursor:pointer}.cui .panel.panel--dkgray .switch input,.cui .panel.panel--indigo .switch input{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0)}.cui .panel.panel--dkgray .switch input~.switch__input,.cui .panel.panel--indigo .switch input~.switch__input{box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.cui .panel.panel--dkgray .switch input~.switch__input:after,.cui .panel.panel--indigo .switch input~.switch__input:after{background:#aeaeaf;box-shadow:none}.cui .panel.panel--dkgray .switch input:checked~.switch__input,.cui .panel.panel--indigo .switch input:checked~.switch__input{background:#00bceb;box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.cui .panel.panel--dkgray .switch input:checked~.switch__input:after,.cui .panel.panel--indigo .switch input:checked~.switch__input:after{background:#fff;border:1px solid #00bceb;-webkit-transform:translateX(100%);transform:translateX(100%);box-shadow:0 1px 3px rgba(0,0,0,.25)}.cui .panel.panel--dkgray .switch-icon input,.cui .panel.panel--indigo .switch-icon input{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0)}.cui .panel.panel--blue .switch .switch__input+.switch__label,.cui .panel.panel--blue .switch .switch__label+.switch__input,.cui .panel.panel--dkgray .switch-icon span[class^=icon-]:last-child,.cui .panel.panel--indigo .switch-icon span[class^=icon-]:last-child,.cui .panel.panel--success .switch .switch__input+.switch__label,.cui .panel.panel--success .switch .switch__label+.switch__input{margin-left:5px}.cui .panel.panel--dkgray .switch-icon input~.switch__input span:first-child,.cui .panel.panel--indigo .switch-icon input~.switch__input span:first-child{color:#00bceb}.cui .panel.panel--dkgray .switch-icon input:checked~.switch__input span:first-child,.cui .panel.panel--dkgray .switch-icon input~.switch__input span:last-child,.cui .panel.panel--indigo .switch-icon input:checked~.switch__input span:first-child,.cui .panel.panel--indigo .switch-icon input~.switch__input span:last-child{color:#9e9ea2}.cui .panel.panel--dkgray .switch-icon input:checked~.switch__input span:last-child,.cui .panel.panel--indigo .switch-icon input:checked~.switch__input span:last-child{color:#00bceb}.cui .panel.panel--dkgray .switch-icon .switch__label,.cui .panel.panel--indigo .switch-icon .switch__label{display:none}.cui .panel.panel--blue .switch.disabled input:checked~.switch__input,.cui .panel.panel--blue .switch[disabled] input:checked~.switch__input,.cui .panel.panel--success .switch.disabled input:checked~.switch__input,.cui .panel.panel--success .switch[disabled] input:checked~.switch__input{background:#d7d7d8}.cui .panel.panel--blue .switch.disabled input:checked~.switch__input:after,.cui .panel.panel--blue .switch[disabled] input:checked~.switch__input:after,.cui .panel.panel--success .switch.disabled input:checked~.switch__input:after,.cui .panel.panel--success .switch[disabled] input:checked~.switch__input:after{background:#f2f2f2;border:1px solid #9e9ea2;box-shadow:none}.cui .panel.panel--blue .switch.disabled input~.switch__input,.cui .panel.panel--blue .switch[disabled] input~.switch__input,.cui .panel.panel--success .switch.disabled input~.switch__input,.cui .panel.panel--success .switch[disabled] input~.switch__input{background:#d7d7d8}.cui .panel.panel--blue .switch.disabled input~.switch__input:after,.cui .panel.panel--blue .switch[disabled] input~.switch__input:after,.cui .panel.panel--success .switch.disabled input~.switch__input:after,.cui .panel.panel--success .switch[disabled] input~.switch__input:after{background:#f2f2f2;border:1px solid #9e9ea2;box-shadow:none}.cui .panel.panel--blue .switch.disabled .switch__label,.cui .panel.panel--blue .switch[disabled] .switch__label,.cui .panel.panel--success .switch.disabled .switch__label,.cui .panel.panel--success .switch[disabled] .switch__label{color:#39393b}.cui .panel.panel--blue .switch.hover input:checked~.switch__input:after,.cui .panel.panel--blue .switch:hover input:checked~.switch__input:after,.cui .panel.panel--success .switch.hover input:checked~.switch__input:after,.cui .panel.panel--success .switch:hover input:checked~.switch__input:after{border-width:2px}.cui .panel.panel--blue .switch__label,.cui .panel.panel--success .switch__label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#39393b}.cui .panel.panel--blue .switch .switch__input,.cui .panel.panel--success .switch .switch__input{position:relative;display:flex;align-items:center;justify-content:center;background:#dfdfdf;border-radius:30px}.cui .panel.panel--blue .switch .switch__input:after,.cui .panel.panel--success .switch .switch__input:after{display:block;position:absolute;left:0;border-radius:50%;content:'';cursor:pointer}.cui .panel.panel--blue .switch input,.cui .panel.panel--success .switch input{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0)}.cui .panel.panel--blue .switch input~.switch__input,.cui .panel.panel--success .switch input~.switch__input{box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.cui .panel.panel--blue .switch input~.switch__input:after,.cui .panel.panel--success .switch input~.switch__input:after{background:#9e9ea2;box-shadow:none}.cui .panel.panel--blue .switch input:checked~.switch__input,.cui .panel.panel--success .switch input:checked~.switch__input{background:#005073;box-shadow:inset 0 0 1px rgba(0,0,0,.1)}.cui .panel.panel--blue .switch input:checked~.switch__input:after,.cui .panel.panel--success .switch input:checked~.switch__input:after{background:#fff;border:1px solid #005073;-webkit-transform:translateX(100%);transform:translateX(100%);box-shadow:0 1px 3px rgba(0,0,0,.25)}.cui .panel.panel--blue .switch-icon input,.cui .panel.panel--success .switch-icon input{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0)}.cui .panel.panel--blue .switch-icon input~.switch__input span:first-child,.cui .panel.panel--success .switch-icon input~.switch__input span:first-child{color:#005073}.cui .panel.panel--blue .switch-icon input:checked~.switch__input span:first-child,.cui .panel.panel--blue .switch-icon input~.switch__input span:last-child,.cui .panel.panel--success .switch-icon input:checked~.switch__input span:first-child,.cui .panel.panel--success .switch-icon input~.switch__input span:last-child{color:#9e9ea2}.cui .panel.panel--blue .switch-icon input:checked~.switch__input span:last-child,.cui .panel.panel--success .switch-icon input:checked~.switch__input span:last-child,.cui .table>tbody>tr:nth-child(odd) td a{color:#005073}.cui .panel.panel--blue .switch-icon .switch__label,.cui .panel.panel--success .switch-icon .switch__label{display:none}.cui .panel.panel--blue .switch-icon span[class^=icon-]:last-child,.cui .panel.panel--success .switch-icon span[class^=icon-]:last-child,.cui.cui--compressed .switch .switch__input+.switch__label,.cui.cui--compressed .switch .switch__label+.switch__input{margin-left:5px}.cui.cui--animated .switch input~.switch__input{transition:background .4s ease-out}.cui.cui--animated .switch input~.switch__input:after{transition:-webkit-transform .2s cubic-bezier(.2,.8,.2,1.2);transition:transform .2s cubic-bezier(.2,.8,.2,1.2);transition:transform .2s cubic-bezier(.2,.8,.2,1.2),-webkit-transform .2s cubic-bezier(.2,.8,.2,1.2)}.cui.cui--animated .switch-icon .switch__input span[class^=icon-]:active{transition:background .25s cubic-bezier(.2,.8,.2,1.2)}.cui .responsive-table{display:block;max-width:100%;overflow:auto}.cui .table th:last-child:after,.cui .table--compressed th:after,.cui .table--loose th:after,.cui .table--nopadding th:after,.cui.cui--compressed .table th:after{display:none}.cui .table{width:100%;border-collapse:separate;border-spacing:0;-webkit-font-feature-settings:"kern","liga","tnum";font-feature-settings:"kern","liga","tnum"}.cui .table>tbody>tr:nth-child(odd){background-color:#f5f5f6}.cui .table>tbody>tr:nth-child(even){background-color:#fff}.cui .table>tbody>tr.active td:first-child{border-left:4px solid #00bceb}.cui .table>tbody>tr.well>td{padding:0;border-top:0 none}.cui .table .table--highlight>tbody>tr.well:hover td:first-child,.cui .table>tbody>tr.well td:first-child,.cui .table>tbody>tr.well:hover td:first-child{border-left:0 none}.cui .table th{position:relative;text-align:left}.cui .table td,.cui .table tr{font-weight:400}.cui .table td,.cui .table th,.cui .table tr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px;vertical-align:middle}.cui .table td:first-child,.cui .table th:first-child,.cui .table tr:first-child{width:1px}.cui .table tr td:first-child,.cui .table tr th:first-child{border-left:4px solid transparent}.cui .table tr td:first-child label.checkbox,.cui .table tr th:first-child label.checkbox{margin:0;vertical-align:middle}.cui .table--bordered{border:1px solid #dfdfdf}.cui .table--bordered th{border-right:1px solid #dfdfdf}.cui .table--bordered th:after{visibility:hidden}.cui .table--bordered th:last-child{border-right:0 none}.cui .table--bordered td{border-top:1px solid #dfdfdf;border-right:1px solid #dfdfdf}.cui .table--bordered td:last-child{border-right:1px solid transparent}.cui .table--bordered-inner{border:0}.cui .table--spotlight-1.table--spotlight-1-danger>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-default>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-info>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-primary>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-secondary>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-success>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-warning-alt>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-warning>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-1>thead>tr:first-child>th:nth-child(1),.cui .table--spotlight-2.table--spotlight-2-danger>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-default>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-info>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-primary>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-secondary>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-success>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-warning>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-2>thead>tr:first-child>th:nth-child(2),.cui .table--spotlight-3.table--spotlight-3-danger>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-default>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-info>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-primary>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-secondary>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-success>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-warning-alt>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-warning>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-3>thead>tr:first-child>th:nth-child(3),.cui .table--spotlight-4.table--spotlight-4-danger>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-default>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-info>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-primary>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-secondary>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-success>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-warning-alt>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-warning>thead>tr:first-child>th:nth-child(4),.cui .table--spotlight-4>thead>tr:first-child>th:nth-child(4){border-top-left-radius:1px;border-top-right-radius:1px}.cui .table--wrap td,.cui .table--wrap th,.cui .table--wrap tr{white-space:normal;overflow:visible}@media (max-width:991.98px){.cui .table--wrap-md td,.cui .table--wrap-md th,.cui .table--wrap-md tr{white-space:normal;overflow:visible}}@media (max-width:767.98px){.cui .table--wrap-sm td,.cui .table--wrap-sm th,.cui .table--wrap-sm tr{white-space:normal;overflow:visible}}@media (max-width:575.98px){.cui .table--wrap-xs td,.cui .table--wrap-xs th,.cui .table--wrap-xs tr{white-space:normal;overflow:visible}}.cui .table--nowrap--col--1 td:nth-child(1),.cui .table--nowrap--col--1 th:nth-child(1){white-space:nowrap}.cui .table--nostripes>tbody>tr:nth-child(even),.cui .table--nostripes>tbody>tr:nth-child(odd){background:0 0}.cui .table--nostripes>tbody>tr:nth-child(even) td a,.cui .table--nostripes>tbody>tr:nth-child(odd) td a{color:#007493}.cui .table--nopadding td,.cui .table--nopadding th,.cui .table--nopadding tr{padding:5px 0;font-size:1.4rem}.cui .table--compressed td,.cui .table--compressed th,.cui .table--compressed tr{padding:5px;font-size:1.4rem}.cui .table--loose td,.cui .table--loose th,.cui .table--loose tr{padding:15px;font-size:1.4rem}.cui .table--fixed{table-layout:fixed}.cui .table--fixed td:first-child,.cui .table--fixed th:first-child,.cui .table--fixed tr:first-child{width:auto}.cui .table--highlight>tbody>tr:hover{cursor:pointer}.cui .table--highlight>tbody>tr:hover td:first-child{border-left:4px solid #00bceb}.cui .table--nohighlight>tbody>tr:hover td:first-child{border-left-color:transparent}.cui .table--hover>tbody>tr:hover{background-color:rgba(0,0,0,.05)}.cui .table--selectable>tbody>tr>td{border-bottom:1px solid #fff}.cui .table--selectable>tbody>tr>td:first-child,.cui .table--selectable>thead>th:first-child{border-left:4px solid transparent}.cui .table--selectable>tbody>tr td:hover,.cui .table--selectable>tbody>tr:hover{cursor:pointer}.cui .table--selectable>tbody>tr.active{background:rgba(0,188,235,.2)}.cui .table th.default,.cui .table>tbody>tr.default,.cui .table>tbody>tr>td.default{background:rgba(136,136,136,.15);border-left:1px solid #888;border-right:1px solid #888}.cui .table th.primary,.cui .table th.secondary,.cui .table>tbody>tr.primary,.cui .table>tbody>tr.secondary,.cui .table>tbody>tr>td.primary,.cui .table>tbody>tr>td.secondary{background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table th.info,.cui .table>tbody>tr.info,.cui .table>tbody>tr>td.info{background:rgba(100,187,227,.15);border-left:1px solid #64bbe3;border-right:1px solid #64bbe3}.cui .table th.success,.cui .table>tbody>tr.success,.cui .table>tbody>tr>td.success{background:rgba(110,190,74,.15);border-left:1px solid #6ebe4a;border-right:1px solid #6ebe4a}.cui .table th.danger,.cui .table>tbody>tr.danger,.cui .table>tbody>tr>td.danger{background:rgba(226,35,26,.15);border-left:1px solid #e2231a;border-right:1px solid #e2231a}.cui .table th.warning,.cui .table>tbody>tr.warning,.cui .table>tbody>tr>td.warning{background:rgba(251,171,24,.15);border-left:1px solid #fbab18;border-right:1px solid #fbab18}.cui .table th.warning-alt,.cui .table>tbody>tr.warning-alt,.cui .table>tbody>tr>td.warning-alt{background:rgba(255,204,0,.15);border-left:1px solid #fc0;border-right:1px solid #fc0}.cui .table--spotlight-1>tbody>tr>td:nth-child(1),.cui .table--spotlight-1>thead>tr>th:nth-child(1){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-1>thead>tr>th:nth-child(1){border-top:1px solid #00bceb}.cui .table--spotlight-1>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-default>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-default>thead>tr>th:nth-child(1){background:rgba(136,136,136,.15);border-left:1px solid #888;border-right:1px solid #888}.cui .table--spotlight-1.table--spotlight-1-primary>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-primary>thead>tr>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-secondary>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-secondary>thead>tr>th:nth-child(1){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-1.table--spotlight-1-default>thead>tr>th:nth-child(1){border-top:1px solid #888}.cui .table--spotlight-1.table--spotlight-1-primary>thead>tr>th:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-secondary>thead>tr>th:nth-child(1){border-top:1px solid #00bceb}.cui .table--spotlight-1.table--spotlight-1-default>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #888;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-primary>tbody>tr:last-child>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-secondary>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-info>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-info>thead>tr>th:nth-child(1){background:rgba(100,187,227,.15);border-left:1px solid #64bbe3;border-right:1px solid #64bbe3}.cui .table--spotlight-1.table--spotlight-1-info>thead>tr>th:nth-child(1){border-top:1px solid #64bbe3}.cui .table--spotlight-1.table--spotlight-1-info>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #64bbe3;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-success>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-success>thead>tr>th:nth-child(1){background:rgba(110,190,74,.15);border-left:1px solid #6ebe4a;border-right:1px solid #6ebe4a}.cui .table--spotlight-1.table--spotlight-1-success>thead>tr>th:nth-child(1){border-top:1px solid #6ebe4a}.cui .table--spotlight-1.table--spotlight-1-success>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #6ebe4a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-danger>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-danger>thead>tr>th:nth-child(1){background:rgba(226,35,26,.15);border-left:1px solid #e2231a;border-right:1px solid #e2231a}.cui .table--spotlight-1.table--spotlight-1-danger>thead>tr>th:nth-child(1){border-top:1px solid #e2231a}.cui .table--spotlight-1.table--spotlight-1-danger>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #e2231a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-warning>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-warning>thead>tr>th:nth-child(1){background:rgba(251,171,24,.15);border-left:1px solid #fbab18;border-right:1px solid #fbab18}.cui .table--spotlight-1.table--spotlight-1-warning>thead>tr>th:nth-child(1){border-top:1px solid #fbab18}.cui .table--spotlight-1.table--spotlight-1-warning>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #fbab18;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-1.table--spotlight-1-warning-alt>tbody>tr>td:nth-child(1),.cui .table--spotlight-1.table--spotlight-1-warning-alt>thead>tr>th:nth-child(1){background:rgba(255,204,0,.15);border-left:1px solid #fc0;border-right:1px solid #fc0}.cui .table--spotlight-1.table--spotlight-1-warning-alt>thead>tr>th:nth-child(1){border-top:1px solid #fc0}.cui .table--spotlight-1.table--spotlight-1-warning-alt>tbody>tr:last-child>td:nth-child(1){border-bottom:1px solid #fc0;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2>tbody>tr>td:nth-child(2),.cui .table--spotlight-2>thead>tr>th:nth-child(2){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-2>thead>tr>th:nth-child(2){border-top:1px solid #00bceb}.cui .table--spotlight-2>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-default>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-default>thead>tr>th:nth-child(2){background:rgba(136,136,136,.15);border-left:1px solid #888;border-right:1px solid #888}.cui .table--spotlight-2.table--spotlight-2-primary>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-primary>thead>tr>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-secondary>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-secondary>thead>tr>th:nth-child(2){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-2.table--spotlight-2-default>thead>tr>th:nth-child(2){border-top:1px solid #888}.cui .table--spotlight-2.table--spotlight-2-primary>thead>tr>th:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-secondary>thead>tr>th:nth-child(2){border-top:1px solid #00bceb}.cui .table--spotlight-2.table--spotlight-2-default>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #888;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-primary>tbody>tr:last-child>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-secondary>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-info>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-info>thead>tr>th:nth-child(2){background:rgba(100,187,227,.15);border-left:1px solid #64bbe3;border-right:1px solid #64bbe3}.cui .table--spotlight-2.table--spotlight-2-info>thead>tr>th:nth-child(2){border-top:1px solid #64bbe3}.cui .table--spotlight-2.table--spotlight-2-info>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #64bbe3;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-success>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-success>thead>tr>th:nth-child(2){background:rgba(110,190,74,.15);border-left:1px solid #6ebe4a;border-right:1px solid #6ebe4a}.cui .table--spotlight-2.table--spotlight-2-success>thead>tr>th:nth-child(2){border-top:1px solid #6ebe4a}.cui .table--spotlight-2.table--spotlight-2-success>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #6ebe4a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-danger>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-danger>thead>tr>th:nth-child(2){background:rgba(226,35,26,.15);border-left:1px solid #e2231a;border-right:1px solid #e2231a}.cui .table--spotlight-2.table--spotlight-2-danger>thead>tr>th:nth-child(2){border-top:1px solid #e2231a}.cui .table--spotlight-2.table--spotlight-2-danger>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #e2231a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-warning>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-warning>thead>tr>th:nth-child(2){background:rgba(251,171,24,.15);border-left:1px solid #fbab18;border-right:1px solid #fbab18}.cui .table--spotlight-2.table--spotlight-2-warning>thead>tr>th:nth-child(2){border-top:1px solid #fbab18}.cui .table--spotlight-2.table--spotlight-2-warning>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #fbab18;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-warning-alt>tbody>tr>td:nth-child(2),.cui .table--spotlight-2.table--spotlight-2-warning-alt>thead>tr>th:nth-child(2){background:rgba(255,204,0,.15);border-left:1px solid #fc0;border-right:1px solid #fc0}.cui .table--spotlight-2.table--spotlight-2-warning-alt>thead>tr>th:nth-child(2){border-top:1px solid #fc0}.cui .table--spotlight-2.table--spotlight-2-warning-alt>tbody>tr:last-child>td:nth-child(2){border-bottom:1px solid #fc0;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-2.table--spotlight-2-warning-alt>thead>tr:first-child>th:nth-child(2){border-top-left-radius:1px;border-top-right-radius:1px}.cui .table--spotlight-3>tbody>tr>td:nth-child(3),.cui .table--spotlight-3>thead>tr>th:nth-child(3){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-3>thead>tr>th:nth-child(3){border-top:1px solid #00bceb}.cui .table--spotlight-3>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-default>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-default>thead>tr>th:nth-child(3){background:rgba(136,136,136,.15);border-left:1px solid #888;border-right:1px solid #888}.cui .table--spotlight-3.table--spotlight-3-primary>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-primary>thead>tr>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-secondary>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-secondary>thead>tr>th:nth-child(3){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-3.table--spotlight-3-default>thead>tr>th:nth-child(3){border-top:1px solid #888}.cui .table--spotlight-3.table--spotlight-3-primary>thead>tr>th:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-secondary>thead>tr>th:nth-child(3){border-top:1px solid #00bceb}.cui .table--spotlight-3.table--spotlight-3-default>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #888;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-primary>tbody>tr:last-child>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-secondary>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-info>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-info>thead>tr>th:nth-child(3){background:rgba(100,187,227,.15);border-left:1px solid #64bbe3;border-right:1px solid #64bbe3}.cui .table--spotlight-3.table--spotlight-3-info>thead>tr>th:nth-child(3){border-top:1px solid #64bbe3}.cui .table--spotlight-3.table--spotlight-3-info>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #64bbe3;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-success>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-success>thead>tr>th:nth-child(3){background:rgba(110,190,74,.15);border-left:1px solid #6ebe4a;border-right:1px solid #6ebe4a}.cui .table--spotlight-3.table--spotlight-3-success>thead>tr>th:nth-child(3){border-top:1px solid #6ebe4a}.cui .table--spotlight-3.table--spotlight-3-success>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #6ebe4a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-danger>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-danger>thead>tr>th:nth-child(3){background:rgba(226,35,26,.15);border-left:1px solid #e2231a;border-right:1px solid #e2231a}.cui .table--spotlight-3.table--spotlight-3-danger>thead>tr>th:nth-child(3){border-top:1px solid #e2231a}.cui .table--spotlight-3.table--spotlight-3-danger>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #e2231a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-warning>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-warning>thead>tr>th:nth-child(3){background:rgba(251,171,24,.15);border-left:1px solid #fbab18;border-right:1px solid #fbab18}.cui .table--spotlight-3.table--spotlight-3-warning>thead>tr>th:nth-child(3){border-top:1px solid #fbab18}.cui .table--spotlight-3.table--spotlight-3-warning>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #fbab18;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-3.table--spotlight-3-warning-alt>tbody>tr>td:nth-child(3),.cui .table--spotlight-3.table--spotlight-3-warning-alt>thead>tr>th:nth-child(3){background:rgba(255,204,0,.15);border-left:1px solid #fc0;border-right:1px solid #fc0}.cui .table--spotlight-3.table--spotlight-3-warning-alt>thead>tr>th:nth-child(3){border-top:1px solid #fc0}.cui .table--spotlight-3.table--spotlight-3-warning-alt>tbody>tr:last-child>td:nth-child(3){border-bottom:1px solid #fc0;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4>tbody>tr>td:nth-child(4),.cui .table--spotlight-4>thead>tr>th:nth-child(4){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-4>thead>tr>th:nth-child(4){border-top:1px solid #00bceb}.cui .table--spotlight-4>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-default>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-default>thead>tr>th:nth-child(4){background:rgba(136,136,136,.15);border-left:1px solid #888;border-right:1px solid #888}.cui .table--spotlight-4.table--spotlight-4-primary>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-primary>thead>tr>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-secondary>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-secondary>thead>tr>th:nth-child(4){background:rgba(0,188,235,.15);border-left:1px solid #00bceb;border-right:1px solid #00bceb}.cui .table--spotlight-4.table--spotlight-4-default>thead>tr>th:nth-child(4){border-top:1px solid #888}.cui .table--spotlight-4.table--spotlight-4-primary>thead>tr>th:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-secondary>thead>tr>th:nth-child(4){border-top:1px solid #00bceb}.cui .table--spotlight-4.table--spotlight-4-default>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #888;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-primary>tbody>tr:last-child>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-secondary>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #00bceb;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-info>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-info>thead>tr>th:nth-child(4){background:rgba(100,187,227,.15);border-left:1px solid #64bbe3;border-right:1px solid #64bbe3}.cui .table--spotlight-4.table--spotlight-4-info>thead>tr>th:nth-child(4){border-top:1px solid #64bbe3}.cui .table--spotlight-4.table--spotlight-4-info>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #64bbe3;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-success>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-success>thead>tr>th:nth-child(4){background:rgba(110,190,74,.15);border-left:1px solid #6ebe4a;border-right:1px solid #6ebe4a}.cui .table--spotlight-4.table--spotlight-4-success>thead>tr>th:nth-child(4){border-top:1px solid #6ebe4a}.cui .table--spotlight-4.table--spotlight-4-success>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #6ebe4a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-danger>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-danger>thead>tr>th:nth-child(4){background:rgba(226,35,26,.15);border-left:1px solid #e2231a;border-right:1px solid #e2231a}.cui .table--spotlight-4.table--spotlight-4-danger>thead>tr>th:nth-child(4){border-top:1px solid #e2231a}.cui .table--spotlight-4.table--spotlight-4-danger>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #e2231a;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-warning>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-warning>thead>tr>th:nth-child(4){background:rgba(251,171,24,.15);border-left:1px solid #fbab18;border-right:1px solid #fbab18}.cui .table--spotlight-4.table--spotlight-4-warning>thead>tr>th:nth-child(4){border-top:1px solid #fbab18}.cui .table--spotlight-4.table--spotlight-4-warning>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #fbab18;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .table--spotlight-4.table--spotlight-4-warning-alt>tbody>tr>td:nth-child(4),.cui .table--spotlight-4.table--spotlight-4-warning-alt>thead>tr>th:nth-child(4){background:rgba(255,204,0,.15);border-left:1px solid #fc0;border-right:1px solid #fc0}.cui .table--spotlight-4.table--spotlight-4-warning-alt>thead>tr>th:nth-child(4){border-top:1px solid #fc0}.cui .table--spotlight-4.table--spotlight-4-warning-alt>tbody>tr:last-child>td:nth-child(4){border-bottom:1px solid #fc0;border-bottom-left-radius:1px;border-bottom-right-radius:1px}.cui .sortable{cursor:pointer}.cui .sortable.sorted,.cui .sortable:hover{color:#00bceb}.cui .sort-indicator{margin-left:5px;font-size:1.2rem;vertical-align:middle}.cui .fixed-header{position:relative;width:100%;padding:36px 0 0}.cui .fixed-header .responsive-table{width:100%}.cui .fixed-header .responsive-table thead tr{position:absolute;left:0;top:0;width:100%;margin:0;padding:0}.cui.cui--compressed .table td,.cui.cui--compressed .table th,.cui.cui--compressed .table tr{padding:5px;font-size:1.4rem}.cui.cui--animated .table.table--highlight>tbody>tr:hover td:first-child{transition:all .2s linear}.cui.cui--animated .table.table--hover>tbody>tr:hover{transition:background .2s linear}.cui.cui--animated .table.table--selectable>tbody>tr,.cui.cui--animated .table.table--selectable>tbody>tr.active,.cui.cui--animated .table.table--selectable>tbody>tr:hover{transition:background .25s ease-in-out}.cui .form-group .form-group__text textarea,.cui textarea.textarea{resize:none;width:100%;border:1px solid #dfdfdf;background-color:#fff;box-shadow:none;padding:10px;color:#58585b;overflow-x:hidden;min-height:40px}.cui .form-group .form-group__text textarea--alt,.cui textarea.textarea--alt{background-color:#fff}.cui .form-group .form-group__text textarea--well,.cui textarea.textarea--well{box-shadow:inset 0 5px 10px -5px rgba(0,0,0,.25)!important}.cui .form-group .form-group__text input.focus,.cui .form-group .form-group__text input:focus,.cui .form-group .form-group__text select.focus,.cui .form-group .form-group__text select:focus,.cui .form-group .form-group__text textarea.focus,.cui .form-group .form-group__text textarea:focus,.cui .form-group .form-group__text.select input.focus,.cui .form-group .form-group__text.select input:focus,.cui .form-group .form-group__text.select select.focus,.cui .form-group .form-group__text.select select:focus,.cui .form-group .form-group__text.select textarea.focus,.cui .form-group .form-group__text.select textarea:focus,.cui textarea.textarea.focus,.cui textarea.textarea:focus{box-shadow:inset 0 0 0 2px rgba(0,188,235,.25);outline:0}.cui .form-group .form-group__text textarea.focus,.cui .form-group .form-group__text textarea.hover,.cui .form-group .form-group__text textarea:focus,.cui .form-group .form-group__text textarea:hover,.cui textarea.textarea.focus,.cui textarea.textarea.hover,.cui textarea.textarea:focus,.cui textarea.textarea:hover{border-color:#00bceb}.cui .form-group .form-group__text textarea.disabled,.cui .form-group .form-group__text textarea.readonly,.cui .form-group .form-group__text textarea[disabled],.cui .form-group .form-group__text textarea[readonly],.cui textarea.textarea.disabled,.cui textarea.textarea.readonly,.cui textarea.textarea[disabled],.cui textarea.textarea[readonly]{opacity:.75;cursor:not-allowed!important;pointer-events:none!important;z-index:0!important;background-color:#f2f2f2}.cui .form-group .form-group__text,.cui .form-group .form-group__text.select{position:relative;display:flex;flex-direction:column}.cui .form-group .form-group__text input,.cui .form-group .form-group__text.select input{width:100%}.cui .form-group .form-group__text input,.cui .form-group .form-group__text select,.cui .form-group .form-group__text textarea,.cui .form-group .form-group__text.select input,.cui .form-group .form-group__text.select select,.cui .form-group .form-group__text.select textarea{border:1px solid #dfdfdf;border-radius:2px;flex:1;flex-shrink:0;order:3;background:#fff;-moz-appearance:none;-webkit-appearance:none;min-height:40px;padding:10px}.cui .form-group .form-group__text input::-webkit-input-placeholder,.cui .form-group .form-group__text textarea::-webkit-input-placeholder,.cui .form-group .form-group__text.select input::-webkit-input-placeholder,.cui .form-group .form-group__text.select textarea::-webkit-input-placeholder{color:#58585b;font-style:italic}.cui .form-group .form-group__text input:-ms-input-placeholder,.cui .form-group .form-group__text textarea:-ms-input-placeholder,.cui .form-group .form-group__text.select input:-ms-input-placeholder,.cui .form-group .form-group__text.select textarea:-ms-input-placeholder{color:#58585b;font-style:italic}.cui .form-group .form-group__text input::-ms-input-placeholder,.cui .form-group .form-group__text textarea::-ms-input-placeholder,.cui .form-group .form-group__text.select input::-ms-input-placeholder,.cui .form-group .form-group__text.select textarea::-ms-input-placeholder{color:#58585b;font-style:italic}.cui .form-group .form-group__text input::placeholder,.cui .form-group .form-group__text textarea::placeholder,.cui .form-group .form-group__text.select input::placeholder,.cui .form-group .form-group__text.select textarea::placeholder{color:#58585b;font-style:italic}.cui .form-group .form-group__text input,.cui .form-group .form-group__text select,.cui .form-group .form-group__text.select input,.cui .form-group .form-group__text.select select{height:40px;max-height:40px;line-height:2.4rem}.cui .form-group .form-group__text select,.cui .form-group .form-group__text.select select{padding:0 40px 0 10px}.cui .form-group .form-group__text label,.cui .form-group .form-group__text.select label{top:10px}.cui .form-group.input--compressed .form-group__text label,.cui .form-group.input--compressed .form-group__text.select label,.cui.cui--compressed .form-group__text label,.cui.cui--compressed .form-group__text.select label{top:5px}.cui .form-group .form-group__text.select:after,.cui .form-group .form-group__text:after{bottom:10px}.cui .form-group .form-group__text input[type=password],.cui .form-group .form-group__text.select input[type=password]{font:caption;font-size:1.8rem}.cui .form-group .form-group__text input.focus,.cui .form-group .form-group__text input.hover,.cui .form-group .form-group__text input:focus,.cui .form-group .form-group__text input:hover,.cui .form-group .form-group__text select.focus,.cui .form-group .form-group__text select.hover,.cui .form-group .form-group__text select:focus,.cui .form-group .form-group__text select:hover,.cui .form-group .form-group__text textarea.focus,.cui .form-group .form-group__text textarea.hover,.cui .form-group .form-group__text textarea:focus,.cui .form-group .form-group__text textarea:hover,.cui .form-group .form-group__text.select input.focus,.cui .form-group .form-group__text.select input.hover,.cui .form-group .form-group__text.select input:focus,.cui .form-group .form-group__text.select input:hover,.cui .form-group .form-group__text.select select.focus,.cui .form-group .form-group__text.select select.hover,.cui .form-group .form-group__text.select select:focus,.cui .form-group .form-group__text.select select:hover,.cui .form-group .form-group__text.select textarea.focus,.cui .form-group .form-group__text.select textarea.hover,.cui .form-group .form-group__text.select textarea:focus,.cui .form-group .form-group__text.select textarea:hover{border-color:#00bceb}.cui .form-group .form-group__text input.input--dirty.input--invalid,.cui .form-group .form-group__text input.input--dirty.input--invalid .focus,.cui .form-group .form-group__text input.input--dirty.input--invalid-required,.cui .form-group .form-group__text input.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text input.input--dirty.input--invalid-required.hover,.cui .form-group .form-group__text input.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text input.input--dirty.input--invalid-required:hover,.cui .form-group .form-group__text input.input--dirty.input--invalid.hover,.cui .form-group .form-group__text input.input--dirty.input--invalid:focus,.cui .form-group .form-group__text input.input--dirty.input--invalid:hover,.cui .form-group .form-group__text input.ng-dirty.ng-invalid,.cui .form-group .form-group__text input.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required.hover,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required:hover,.cui .form-group .form-group__text input.ng-dirty.ng-invalid.hover,.cui .form-group .form-group__text input.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid:hover,.cui .form-group .form-group__text input.ng-touched.ng-invalid,.cui .form-group .form-group__text input.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required.hover,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required:hover,.cui .form-group .form-group__text input.ng-touched.ng-invalid.hover,.cui .form-group .form-group__text input.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid:hover,.cui .form-group .form-group__text select.input--dirty.input--invalid,.cui .form-group .form-group__text select.input--dirty.input--invalid .focus,.cui .form-group .form-group__text select.input--dirty.input--invalid-required,.cui .form-group .form-group__text select.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text select.input--dirty.input--invalid-required.hover,.cui .form-group .form-group__text select.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text select.input--dirty.input--invalid-required:hover,.cui .form-group .form-group__text select.input--dirty.input--invalid.hover,.cui .form-group .form-group__text select.input--dirty.input--invalid:focus,.cui .form-group .form-group__text select.input--dirty.input--invalid:hover,.cui .form-group .form-group__text select.ng-dirty.ng-invalid,.cui .form-group .form-group__text select.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required.hover,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required:hover,.cui .form-group .form-group__text select.ng-dirty.ng-invalid.hover,.cui .form-group .form-group__text select.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid:hover,.cui .form-group .form-group__text select.ng-touched.ng-invalid,.cui .form-group .form-group__text select.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required.hover,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required:hover,.cui .form-group .form-group__text select.ng-touched.ng-invalid.hover,.cui .form-group .form-group__text select.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid:hover,.cui .form-group .form-group__text textarea.input--dirty.input--invalid,.cui .form-group .form-group__text textarea.input--dirty.input--invalid .focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required.hover,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required:hover,.cui .form-group .form-group__text textarea.input--dirty.input--invalid.hover,.cui .form-group .form-group__text textarea.input--dirty.input--invalid:focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid:hover,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required.hover,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required:hover,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid.hover,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid:hover,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required.hover,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required:hover,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid.hover,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid:hover,.cui .form-group .form-group__text.select input.input--dirty.input--invalid,.cui .form-group .form-group__text.select input.input--dirty.input--invalid .focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required.hover,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required:hover,.cui .form-group .form-group__text.select input.input--dirty.input--invalid.hover,.cui .form-group .form-group__text.select input.input--dirty.input--invalid:focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid:hover,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required.hover,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required:hover,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid.hover,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid:hover,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required.hover,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required:hover,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid.hover,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid:hover,.cui .form-group .form-group__text.select select.input--dirty.input--invalid,.cui .form-group .form-group__text.select select.input--dirty.input--invalid .focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required.hover,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required:hover,.cui .form-group .form-group__text.select select.input--dirty.input--invalid.hover,.cui .form-group .form-group__text.select select.input--dirty.input--invalid:focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid:hover,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required.hover,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required:hover,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid.hover,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid:hover,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required.hover,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required:hover,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid.hover,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid:hover,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid .focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required.hover,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required:hover,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid.hover,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid:focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid:hover,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required.hover,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required:hover,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid.hover,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid:hover,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required.hover,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required:hover,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid.hover,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid:hover,.cui .form-group--error .form-group__text input .focus,.cui .form-group--error .form-group__text input.hover,.cui .form-group--error .form-group__text input:focus,.cui .form-group--error .form-group__text input:hover,.cui .form-group--error .form-group__text select .focus,.cui .form-group--error .form-group__text select.hover,.cui .form-group--error .form-group__text select:focus,.cui .form-group--error .form-group__text select:hover,.cui .form-group--error .form-group__text textarea .focus,.cui .form-group--error .form-group__text textarea.hover,.cui .form-group--error .form-group__text textarea:focus,.cui .form-group--error .form-group__text textarea:hover,.cui .form-group--error .form-group__text.select input .focus,.cui .form-group--error .form-group__text.select input.hover,.cui .form-group--error .form-group__text.select input:focus,.cui .form-group--error .form-group__text.select input:hover,.cui .form-group--error .form-group__text.select select .focus,.cui .form-group--error .form-group__text.select select.hover,.cui .form-group--error .form-group__text.select select:focus,.cui .form-group--error .form-group__text.select select:hover,.cui .form-group--error .form-group__text.select textarea .focus,.cui .form-group--error .form-group__text.select textarea.hover,.cui .form-group--error .form-group__text.select textarea:focus,.cui .form-group--error .form-group__text.select textarea:hover{border-color:#e2231a}.cui .form-group .form-group__text input.input--dirty.input--invalid .focus,.cui .form-group .form-group__text input.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text input.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text input.input--dirty.input--invalid:focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text input.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text input.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text select.input--dirty.input--invalid .focus,.cui .form-group .form-group__text select.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text select.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text select.input--dirty.input--invalid:focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text select.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text select.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid .focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text textarea.input--dirty.input--invalid:focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text textarea.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text textarea.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid .focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text.select input.input--dirty.input--invalid:focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text.select input.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text.select input.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid .focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text.select select.input--dirty.input--invalid:focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text.select select.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text.select select.ng-touched.ng-invalid:focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid .focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required .focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid-required:focus,.cui .form-group .form-group__text.select textarea.input--dirty.input--invalid:focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid .focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required .focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid-required:focus,.cui .form-group .form-group__text.select textarea.ng-dirty.ng-invalid:focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid .focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required .focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid-required:focus,.cui .form-group .form-group__text.select textarea.ng-touched.ng-invalid:focus,.cui .form-group--error .form-group__text input .focus,.cui .form-group--error .form-group__text input:focus,.cui .form-group--error .form-group__text select .focus,.cui .form-group--error .form-group__text select:focus,.cui .form-group--error .form-group__text textarea .focus,.cui .form-group--error .form-group__text textarea:focus,.cui .form-group--error .form-group__text.select input .focus,.cui .form-group--error .form-group__text.select input:focus,.cui .form-group--error .form-group__text.select select .focus,.cui .form-group--error .form-group__text.select select:focus,.cui .form-group--error .form-group__text.select textarea .focus,.cui .form-group--error .form-group__text.select textarea:focus{box-shadow:inset 0 0 0 2px rgba(226,35,26,.25)}.cui .form-group .form-group__text input.disabled,.cui .form-group .form-group__text input.readonly,.cui .form-group .form-group__text input[disabled],.cui .form-group .form-group__text input[readonly],.cui .form-group .form-group__text select.disabled,.cui .form-group .form-group__text select.readonly,.cui .form-group .form-group__text select[disabled],.cui .form-group .form-group__text select[readonly],.cui .form-group .form-group__text textarea.disabled,.cui .form-group .form-group__text textarea.readonly,.cui .form-group .form-group__text textarea[disabled],.cui .form-group .form-group__text textarea[readonly],.cui .form-group .form-group__text.select input.disabled,.cui .form-group .form-group__text.select input.readonly,.cui .form-group .form-group__text.select input[disabled],.cui .form-group .form-group__text.select input[readonly],.cui .form-group .form-group__text.select select.disabled,.cui .form-group .form-group__text.select select.readonly,.cui .form-group .form-group__text.select select[disabled],.cui .form-group .form-group__text.select select[readonly],.cui .form-group .form-group__text.select textarea.disabled,.cui .form-group .form-group__text.select textarea.readonly,.cui .form-group .form-group__text.select textarea[disabled],.cui .form-group .form-group__text.select textarea[readonly]{opacity:.75;cursor:not-allowed!important;pointer-events:none!important;z-index:0!important;background-color:#f2f2f2}.cui .form-group.input--compressed .form-group__text input,.cui .form-group.input--compressed .form-group__text select,.cui .form-group.input--compressed .form-group__text.select input,.cui .form-group.input--compressed .form-group__text.select select{height:30px;max-height:30px;line-height:2.4rem}.cui .form-group.input--compressed .form-group__text input,.cui .form-group.input--compressed .form-group__text select,.cui .form-group.input--compressed .form-group__text textarea,.cui .form-group.input--compressed .form-group__text.select input,.cui .form-group.input--compressed .form-group__text.select select,.cui .form-group.input--compressed .form-group__text.select textarea{min-height:30px;padding:5px}.cui .form-group.input--compressed .form-group__text select,.cui .form-group.input--compressed .form-group__text.select select{padding:0 40px 0 5px}.cui .form-group.input--compressed .form-group__text.select:after,.cui .form-group.input--compressed .form-group__text:after{bottom:5px}.cui .form-group.label--floated{padding-top:24px}.cui .form-group.label--floated .form-group__text{position:relative;min-height:40px}.cui .form-group.label--floated .form-group__text input:focus+label,.cui .form-group.label--floated .form-group__text input:valid+label,.cui .form-group.label--floated .form-group__text textarea:focus+label,.cui .form-group.label--floated .form-group__text textarea:valid+label{left:0;font-style:normal;-webkit-transform:translate3d(0,-32px,0);transform:translate3d(0,-32px,0);-webkit-transform-origin:left,top;transform-origin:left,top}.cui .form-group.label--floated .form-group__text label{position:absolute;left:11px}.cui .form-group.label--floated.input--compressed{padding-top:20px}.cui .form-group.label--floated.input--compressed input:focus+label,.cui .form-group.label--floated.input--compressed input:valid+label,.cui .form-group.label--floated.input--compressed textarea:focus+label,.cui .form-group.label--floated.input--compressed textarea:valid+label{-webkit-transform:translate3d(0,-26px,0);transform:translate3d(0,-26px,0)}.cui .form-group.label--floated.input--compressed label{top:5px;left:6px}.cui .form-group.label--inline .form-group__text{width:100%;flex-direction:row;align-items:center}.cui .form-group.label--inline .form-group__text label{margin:0 10px 0 0}.cui .form-group.label--inline .form-group__text.select:after{bottom:10px}.cui .form-group.label--inline .form-group__text textarea~label{align-self:flex-start;margin-top:8px}.cui .form-group.label--inline .form-group__text label[class^=col-]{height:40px}.cui .form-group.label--inline.input--compressed .form-group__text label[class^=col-]{height:30px}.cui .form-group--error .form-group__text,.cui .form-group--error .form-group__text.select{position:relative}.cui .form-group--error .form-group__text input,.cui .form-group--error .form-group__text select,.cui .form-group--error .form-group__text textarea,.cui .form-group--error .form-group__text.select input,.cui .form-group--error .form-group__text.select select,.cui .form-group--error .form-group__text.select textarea{border-color:#e2231a;padding-right:40px}.cui .form-group--error .form-group__text.select:after,.cui .form-group--error .form-group__text:after{content:"";color:red;font-size:1.6rem;bottom:10px;right:10px;position:absolute}.cui .form-group.input--icon input{padding-left:40px!important}.cui .form-group.input--icon input:focus~button{color:#58585b}.cui .form-group.input--icon .form-group__text input+button,.cui .form-group.input--icon .form-group__text label+button{font-size:1.6rem;position:absolute;display:inline-flex;height:40px;width:40px;align-items:center;justify-content:center;bottom:0;padding:0;margin:0}.cui .form-group.input--icon .form-group__text input+button:active,.cui .form-group.input--icon .form-group__text input+button:focus,.cui .form-group.input--icon .form-group__text input+button:hover,.cui .form-group.input--icon .form-group__text label+button:active,.cui .form-group.input--icon .form-group__text label+button:focus,.cui .form-group.input--icon .form-group__text label+button:hover{color:#007493;text-decoration:none}.cui .form-group.input--icon.label--floated .form-group__text label{left:40px}.cui .form-group.input--icon.input--compressed .form-group__text label{left:30px}.cui .form-group.input--icon.input--compressed .form-group__text input+button,.cui .form-group.input--icon.input--compressed .form-group__text label+button{font-size:1.4rem;height:30px;width:30px}.cui .form-group.input--icon.input--compressed input{padding-left:30px}.cui .form-group.input--icon.label--inline input{padding:10px}.cui .form-group.input--icon.label--inline input+button,.cui .form-group.input--icon.label--inline label+button{display:none}.cui .form-group.label--floated.input--compressed .form-group__text{min-height:30px}.cui .help-block{display:inline-flex;align-items:center;justify-content:flex-end;margin-top:2px}.cui .help-block span[class^=icon-]+span{margin-left:5px}.cui .help-block--normal{text-transform:unset}.cui .help-block--lower{text-transform:lowercase}.cui .help-block--capital{text-transform:capitalize}.cui .action-block,.cui .required-block{display:none}.cui.cui--compressed .form-group__text input,.cui.cui--compressed .form-group__text select,.cui.cui--compressed .form-group__text.select input,.cui.cui--compressed .form-group__text.select select{height:30px;max-height:30px;line-height:2.4rem}.cui.cui--compressed .form-group__text input,.cui.cui--compressed .form-group__text select,.cui.cui--compressed .form-group__text textarea,.cui.cui--compressed .form-group__text.select input,.cui.cui--compressed .form-group__text.select select,.cui.cui--compressed .form-group__text.select textarea{min-height:30px;padding:5px}.cui.cui--compressed .form-group__text select,.cui.cui--compressed .form-group__text.select select{padding:0 40px 0 5px}.cui.cui--compressed .form-group__text.select:after,.cui.cui--compressed .form-group__text:after{bottom:5px}.cui.cui--compressed .label--inline .form-group__text label[class^=col-]{height:30px}.cui.cui--animated .form-group__text input,.cui.cui--animated .form-group__text textarea,.cui.cui--animated .form-group__text.select input,.cui.cui--animated .form-group__text.select textarea{transition:border-color,box-shadow .5s ease}.cui.cui--animated .form-group__text input.focus~label,.cui.cui--animated .form-group__text input:focus,.cui.cui--animated .form-group__text label{transition:all .15s ease-out}.cui .thumb{display:inline-flex;position:relative;overflow:hidden;z-index:1;width:48px;height:48px;border-radius:100%;flex-shrink:0}.cui .thumb--bordered{border:2px solid #dfdfdf}.cui .thumb--reflected{-webkit-box-reflect:below 0 -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(70%,transparent),to(rgba(250,250,250,.2)))}.cui .thumb--raised{box-shadow:0 10px 24px -6px rgba(0,0,0,.25)}.cui .thumb--square{border-radius:3px}.cui .thumb--small{width:32px;height:32px}.cui .thumb--medium{width:48px;height:48px}.cui .thumb--large{width:64px;height:64px}.cui .thumb--xlarge{width:96px;height:96px}.cui .thumb--huge{width:128px;height:128px}.cui .thumb--goliath{width:256px;height:256px}.cui .thumb--portrait img{top:60%;width:100%;height:auto}.cui .thumb img{z-index:0;position:absolute;left:50%;top:50%;height:100%;width:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.cui select::-ms-expand{display:none}.cui textarea{overflow:auto}.cui .label{display:inline-block;line-height:2.4rem}.cui .label.label--tiny{line-height:1.5rem}.cui .label.label--small{line-height:2rem}.cui .label.label--large{line-height:3rem}.cui ::-ms-clear{display:none}.cui .form-group{min-width:200px}.cui .form-group.label--floated .form-group__text label{top:12px}.cui .smart-content__main{flex:1 1 auto}.cui .checkbox .checkbox__label,.cui .checkbox .radio__label,.cui .radio .checkbox__label,.cui .radio .radio__label{flex:1 1 auto;padding-top:5px}.cui .switch .switch__input{display:inline-block;height:100%}.cui .figure figcaption{text-align:left}.cui .header-heading .page-title{line-height:4rem}.cui .btn.btn--icon.btn--primary-ghost{box-shadow:none;border:1px solid #00bceb}.cui button.btn{padding-top:2px}.cui .ui-steps .ui-step .step__icon{display:inline-block;vertical-align:middle;line-height:100%}.cui .grid{display:flex!important;flex-wrap:wrap;margin:-2.5px!important}.cui .grid .card{position:relative;width:100%;min-height:1px;padding:0!important;margin:2.5px!important;flex:0 0}}@media screen and (-ms-high-contrast:active) and (min-width:992px),screen and (-ms-high-contrast:none) and (min-width:992px){.cui .grid.grid--5up .card{flex:0 0 20%;max-width:20%;flex-basis:calc(20% - 7px)}.cui .grid.grid--4up .card{flex:0 0 25%;max-width:25%;flex-basis:calc(25% - 7px)}.cui .grid.grid--3up .card{flex:0 0 33.33333%;max-width:33.33333%;flex-basis:calc(33% - 7px)}}@media screen and (-ms-high-contrast:active) and (min-width:768px) and (max-width:1199.98px),screen and (-ms-high-contrast:none) and (min-width:768px) and (max-width:1199.98px){.cui .grid.grid--5up .card{flex:0 0 25%;max-width:25%;flex-basis:calc(25% - 7px)}.cui .grid.grid--3up .card,.cui .grid.grid--4up .card{flex:0 0 33.33333%;max-width:33.33333%;flex-basis:calc(33% - 7px)}}@media screen and (-ms-high-contrast:active) and (min-width:576px) and (max-width:991.98px),screen and (-ms-high-contrast:none) and (min-width:576px) and (max-width:991.98px){.cui .grid.grid--3up .card,.cui .grid.grid--4up .card,.cui .grid.grid--5up .card{flex:0 0 33.33333%;max-width:33.33333%;flex-basis:calc(33% - 7px)}}@media screen and (-ms-high-contrast:active) and (max-width:767.98px),screen and (-ms-high-contrast:none) and (max-width:767.98px){.cui .grid.grid--3up .card,.cui .grid.grid--4up .card,.cui .grid.grid--5up .card{flex:0 0 50%;max-width:50%;flex-basis:calc(50% - 7px)}}@media screen and (-ms-high-contrast:active) and (max-width:575.98px),screen and (-ms-high-contrast:none) and (max-width:575.98px){.cui .grid.grid--3up .card,.cui .grid.grid--4up .card,.cui .grid.grid--5up .card{flex:0 0 100%;max-width:100%;flex-basis:100%}}.cui .thumb+.activity__body{margin-left:10px}.cui .activity{display:flex;color:#58585b;position:relative;background:#fff;box-shadow:none;border:1px solid transparent;padding:10px;font-weight:unset}.cui .activity__title+.cui .activity__description{margin:5px 0}.cui .activity__body{color:#58585b;width:100%;display:flex;flex-flow:row wrap;overflow:hidden}.cui .activity__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;order:1;flex:2;margin-right:10px}.cui .activity__timestamp{order:2;text-align:left;font-size:1.2rem}@media (min-width:768px){.cui .activity__timestamp{text-align:right}}.cui .activity__timestamp--bottom{order:4;text-align:left;margin-top:10px}.cui .activity__description{order:3;width:100%}.cui .activity__timestamp,.cui .activity__title{color:#9e9ea2}.cui .alert,.cui .alert.alert--info{color:#58585b;position:relative;background:0 0;box-shadow:none}.cui .activity--bordered{border:1px solid #dfdfdf}.cui .alert{border:1px solid #00bceb;border-left-width:48px;padding:10px;display:inline-flex;flex-wrap:wrap;align-items:center;width:100%}.cui .alert.alert--info{border:1px solid #00bceb;border-left-width:48px}.cui .alert.alert--info .alert__icon{color:#fff}.cui .alert.alert--success{color:#58585b;position:relative;background:0 0;box-shadow:none;border:1px solid #6ebe4a;border-left-width:48px}.cui .alert.alert--success .alert__icon{color:#fff}.cui .alert.alert--warning{color:#58585b;position:relative;background:0 0;box-shadow:none;border:1px solid #fbab18;border-left-width:48px}.cui .alert.alert--warning .alert__icon{color:#fff}.cui .alert.alert--danger{color:#58585b;position:relative;background:0 0;box-shadow:none;border:1px solid #e2231a;border-left-width:48px}.cui .alert.alert--danger .alert__icon{color:#fff}.cui .alert a.alert__close{color:#9e9ea2;margin-left:10px}.cui .badge-wrapper .badge,.cui .badge-wrapper .badge--large,.cui .badge-wrapper .badge--medium,.cui .badge-wrapper .badge--small,.cui .badge-wrapper .badge--tiny{margin:1px 0;vertical-align:middle;padding:0}.cui .alert a.alert__close:hover{color:#007493;text-decoration:none}.cui .alert__icon{color:#fff;position:absolute;left:-36px;top:10px;font-size:2.4rem}.cui .alert__close,.cui .alert__icon{align-self:flex-start}.cui .alert__message{flex:1!important;flex-shrink:1!important;flex-wrap:wrap!important;word-wrap:break-word!important;word-break:break-word!important}.cui .alert__message a:active,.cui .alert__message a:focus,.cui .alert__message a:hover{color:#005073}.cui .badge-wrapper .badge,.cui .badge-wrapper .badge a,.cui .badge-wrapper .badge a:hover,.cui .badge-wrapper .badge--info a,.cui .badge-wrapper .badge--info a:hover{color:#39393b}.cui .badge-wrapper{position:relative;display:inline-block}.cui .badge-wrapper .badge{position:absolute;display:inline-flex;border-radius:2rem;align-items:center;justify-content:center;overflow:hidden;z-index:10;top:0;right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);background:#dfdfdf;border:none;font-size:1.1rem;height:20px;line-height:1.1rem;width:20px;min-width:20px;max-width:20px}.cui .badge-wrapper .badge .icon-close{font-size:1.1rem}.cui .badge-wrapper .badge--info{background:#64bbe3;color:#39393b}.cui .badge-wrapper .badge--success{background:#6ebe4a;color:#fff}.cui .badge-wrapper .badge--success a,.cui .badge-wrapper .badge--success a:hover{color:#fff}.cui .badge-wrapper .badge--warning{background:#fbab18;color:#39393b}.cui .badge-wrapper .badge--warning a,.cui .badge-wrapper .badge--warning a:hover{color:#39393b}.cui .badge-wrapper .badge--warning-alt{background:#fc0;color:#39393b}.cui .badge-wrapper .badge--warning-alt a,.cui .badge-wrapper .badge--warning-alt a:hover{color:#39393b}.cui .badge-wrapper .badge--danger{background:#e2231a;color:#fff}.cui .badge-wrapper .badge--danger a,.cui .badge-wrapper .badge--danger a:hover{color:#fff}.cui .badge-wrapper .badge--blue{background:#00bceb;color:#005073}.cui .badge-wrapper .badge--blue a,.cui .badge-wrapper .badge--blue a:hover{color:#005073}.cui .badge-wrapper .badge--ltgray{background:#f2f2f2;color:#005073}.cui .badge-wrapper .badge--ltgray a,.cui .badge-wrapper .badge--ltgray a:hover{color:#005073}.cui .badge-wrapper .badge--mdgray{background:#dfdfdf;color:#39393b}.cui .badge-wrapper .badge--mdgray a,.cui .badge-wrapper .badge--mdgray a:hover{color:#39393b}.cui .badge-wrapper .badge--dkgray{background:#58585b;color:#fff}.cui .badge-wrapper .badge--dkgray a,.cui .badge-wrapper .badge--dkgray a:hover{color:#fff}.cui .badge-wrapper .badge--vibblue{background:#017CAD;color:#fff}.cui .badge-wrapper .badge--vibblue a,.cui .badge-wrapper .badge--vibblue a:hover{color:#fff}.cui .badge-wrapper .badge--indigo{background:#005073;color:#fff}.cui .badge-wrapper .badge--indigo a,.cui .badge-wrapper .badge--indigo a:hover{color:#fff}.cui .badge-wrapper .badge--white{background:#fff;color:#39393b}.cui .badge-wrapper .badge--white a,.cui .badge-wrapper .badge--white a:hover{color:#39393b}.cui .badge-wrapper .badge--ghost{background:0 0;border:1px solid #fff;color:#fff}.cui .badge-wrapper .badge--ghost a,.cui .badge-wrapper .badge--ghost a:hover{color:#fff}.cui .badge-wrapper .badge--tiny{font-size:.9rem;height:16px;line-height:.9rem;width:16px;min-width:16px;max-width:16px}.cui .badge-wrapper .badge--tiny .icon-close{font-size:.9rem}.cui .badge-wrapper .badge--small{font-size:1.1rem;height:20px;line-height:1.1rem;width:20px;min-width:20px;max-width:20px}.cui .badge-wrapper .badge--small .icon-close{font-size:1.1rem}.cui .badge-wrapper .badge--medium{font-size:1.4rem;height:24px;line-height:1.4rem;width:24px;min-width:24px;max-width:24px}.cui .badge-wrapper .badge--medium .icon-close{font-size:1.4rem}.cui .badge-wrapper .badge--large{font-size:1.6rem;height:28px;line-height:1.6rem;width:28px;min-width:28px;max-width:28px}.cui .badge-wrapper .badge--large .icon-close{font-size:1.6rem}.cui .badge-wrapper .badge--info.badge--bordered{border:1px solid #64bbe3;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--success.badge--bordered{border:1px solid #6ebe4a;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--warning.badge--bordered{border:1px solid #fbab18;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--warning-alt.badge--bordered{border:1px solid #fc0;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--danger.badge--bordered{border:1px solid #e2231a;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--blue.badge--bordered{border:1px solid #00bceb;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--ltgray.badge--bordered{border:1px solid #f2f2f2;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--mdgray.badge--bordered{border:1px solid #dfdfdf;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--dkgray.badge--bordered{border:1px solid #58585b;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--vibblue.badge--bordered{border:1px solid #017CAD;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--indigo.badge--bordered{border:1px solid #005073;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--white.badge--bordered{border:1px solid #fff;box-shadow:inset 0 0 0 1.5px #fff}.cui .badge-wrapper .badge--ghost.badge--bordered{border:1px solid transparent;box-shadow:inset 0 0 0 1.5px #fff}.cui .breadcrumb{margin:0;padding:0;background:0 none;display:inline-flex;flex-wrap:wrap;align-items:center}.cui .breadcrumb:after{clear:both!important;content:""!important;display:table!important}.cui .breadcrumb ul:not(:first-child){padding-left:20px}.cui .breadcrumb>li.active{color:#58585b}.cui .breadcrumb>li+li:before{padding:0 2px 0 6px;color:#9e9ea2;content:"/ "}.cui .card,.cui a.card{color:#58585b;position:relative;background:#fff;box-shadow:none;border:1px solid #dfdfdf;padding:10px;display:block;border-radius:2px}.cui .card__body,.cui a.card__body{margin-top:20px;margin-bottom:20px}.cui .card .card__title,.cui .card__header .card__header__title,.cui a.card .card__title,.cui a.card__header .card__header__title{margin-bottom:5px}.cui .card .card__subtitle,.cui .card__header .card__header__subtitle,.cui a.card .card__subtitle,.cui a.card__header .card__header__subtitle{color:#9e9ea2}.cui .card__footer,.cui a.card__footer{display:flex}.cui .card__footer .card__footer__item,.cui a.card__footer .card__footer__item{flex:1;display:inline-flex;flex-direction:column;min-height:30px}.cui .card__footer .card__footer__item a,.cui a.card__footer .card__footer__item a{font-size:2rem;margin:0 10px}.cui .card__footer .card__footer__item a .subtext,.cui a.card__footer .card__footer__item a .subtext{color:#58585b;font-size:1rem;white-space:nowrap;margin-top:3px;text-transform:uppercase}.cui .card__footer .card__footer__item a:active,.cui .card__footer .card__footer__item a:focus,.cui .card__footer .card__footer__item a:hover,.cui a.card__footer .card__footer__item a:active,.cui a.card__footer .card__footer__item a:focus,.cui a.card__footer .card__footer__item a:hover{text-decoration:none}.cui .card__footer .card__footer__item a:active .subtext,.cui .card__footer .card__footer__item a:focus .subtext,.cui .card__footer .card__footer__item a:hover .subtext,.cui a.card__footer .card__footer__item a:active .subtext,.cui a.card__footer .card__footer__item a:focus .subtext,.cui a.card__footer .card__footer__item a:hover .subtext{color:#005073}.cui .card.card--raised,.cui a.card.card--raised{box-shadow:0 10px 24px -6px rgba(0,0,0,.25)}.cui .card.card--centered,.cui a.card.card--centered{text-align:center}.cui .card.card--right,.cui a.card.card--right{text-align:right}.cui .card.hover,.cui .card.selected,.cui a.card.hover,.cui a.card.selected{cursor:pointer;border-color:#00bceb}.cui .card.selected:before,.cui a.card.selected:before{background:rgba(0,188,235,.2);content:'';position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.cui .card__header+.card__footer{border-top:0 none}.cui.cui--animated .card.selected:before,.cui.cui--animated a.card.selected:before{-webkit-animation:fade-in .15s 1 linear;animation:fade-in .15s 1 linear}.cui .carousel__slide{display:none}.cui .carousel__slide.active{display:block}.cui .carousel__controls{display:flex;align-items:center;justify-content:center;font-size:2.4rem;margin-top:20px}.cui .carousel__controls .back,.cui .carousel__controls .next{color:#00bceb}.cui .carousel__controls .back:active,.cui .carousel__controls .back:focus,.cui .carousel__controls .back:hover,.cui .carousel__controls .next:active,.cui .carousel__controls .next:focus,.cui .carousel__controls .next:hover{text-decoration:none;color:#00bceb}.cui .carousel__controls .back{margin-right:10px}.cui .carousel__controls .next{margin-left:10px}.cui .carousel__controls .back.disabled,.cui .carousel__controls .next.disabled{color:#9e9ea2}.cui .carousel__controls .dot{margin:0 2px;font-size:1.2rem;color:#c6c7ca;transition:color .5s}.cui .carousel__controls .dot.active>span,.cui .carousel__controls .dot.selected>span,.cui .carousel__controls .dot:hover{color:#00bceb;text-decoration:none}.cui .carousel--indigo .carousel__controls .back,.cui .carousel--indigo .carousel__controls .back:active,.cui .carousel--indigo .carousel__controls .back:focus,.cui .carousel--indigo .carousel__controls .back:hover,.cui .carousel--indigo .carousel__controls .dot.active>span,.cui .carousel--indigo .carousel__controls .dot.selected>span,.cui .carousel--indigo .carousel__controls .dot:hover,.cui .carousel--indigo .carousel__controls .next,.cui .carousel--indigo .carousel__controls .next:active,.cui .carousel--indigo .carousel__controls .next:focus,.cui .carousel--indigo .carousel__controls .next:hover{color:#005073}.cui .dropdown{display:inline-block;position:relative;cursor:pointer}.cui .dropdown__menu{padding:0;opacity:0;background:#fff;border:1px solid #dfdfdf;border-radius:2px;position:absolute;pointer-events:auto;top:calc(100% + 10px);width:auto;min-width:150px;max-width:600px;-webkit-transform:translateY(-2em);transform:translateY(-2em);text-align:left;box-shadow:rgba(0,0,0,.1) 0 5px 10px;font-weight:400;visibility:hidden}.cui .dropdown__menu ul:not(:first-child){padding-left:20px}.cui .dropdown__menu__divider{height:1px;overflow:hidden;background-color:#dfdfdf}.cui .dropdown__menu .dropdown__group-header,.cui .dropdown__menu a{height:35px;line-height:3.5rem;display:inline-flex;color:#58585b!important;padding:0 40px 0 10px;width:100%;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cui .dropdown__menu .dropdown__group-header{pointer-events:none;text-transform:uppercase;font-weight:700;border-bottom:1px solid #dfdfdf}.cui .dropdown__menu a{border-left:4px solid transparent}.cui .dropdown__menu a .checkbox{margin-right:10px}.cui .dropdown__menu a.selected{color:#fff!important;background-color:#00bceb}.cui .dropdown__menu a.selected:after{content:"";position:absolute;right:10px;font-weight:700}.cui .dropdown__menu a.selected:hover{color:#fff;background-color:#00bceb}.cui .dropdown__menu a:focus{outline:0}.cui .loading-dots:focus,.cui .loading-spinner:focus,.cui .rating__star:focus{outline-color:#00bceb;outline-offset:1px;outline-width:thin;outline-style:dashed}.cui .dropdown__menu a:hover{border-right-color:#00bceb;color:#58585b;background-color:rgba(0,0,0,.05);text-decoration:none!important}.cui .dropdown.active>span[class^=icon-]{color:#007493}.cui .dropdown.active .dropdown__menu{opacity:1;visibility:visible;z-index:1032;-webkit-transform:translateY(0);transform:translateY(0);border-top-left-radius:0;border-top-right-radius:0}.cui .dropdown.active .dropdown__menu a{z-index:1033}.cui .dropdown--tail .dropdown__menu:after{content:'';display:block;width:10px;height:10px;margin:0;position:absolute;-webkit-transform:rotate(45deg);transform:rotate(45deg);left:10px;right:auto;top:-5px;box-shadow:-1px -1px 0 0 #dfdfdf;background:#fff}.cui .dropdown--left .dropdown__menu{right:0}.cui .dropdown--left .dropdown__menu:after{left:auto;right:10px}.cui .dropdown--center .dropdown__menu{left:50%}.cui .dropdown--center .dropdown__menu:after{left:0;right:0;margin:auto}.cui .dropdown.active.dropdown--center .dropdown__menu{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.cui .form-group.dropdown .dropdown__menu{width:100%;top:calc(100% - 1px)}.cui .dropdown.active>.btn:after,.cui .dropdown.active>a:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .dropdown>.btn:after,.cui .dropdown>a:after{content:"";-webkit-transform:rotate(0);transform:rotate(0);font-size:80%;display:inline-flex;margin-left:5px;color:inherit;text-align:center}.cui .hero__toolbar:after,.cui .rating:after{content:""!important;clear:both!important}.cui .dropdown>a:active,.cui .dropdown>a:focus,.cui .dropdown>a:hover{text-decoration:none}.cui.cui--animated .dropdown.active .dropdown__menu{transition:opacity .3s}.cui.cui--animated .dropdown>.btn:after,.cui.cui--animated .dropdown>a:after{transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.cui .figure{margin:0;padding:0}.cui .figure figcaption+img,.cui .figure img+figcaption{padding:20px 0 0}.cui .figure.figure--horizontal img+figcaption{padding:0 0 0 20px}.cui .figure.figure--horizontal figcaption+img{padding:0 20px 0 0}.cui .figure.figure--horizontal{display:flex;flex-direction:row}.cui .figure.figure--horizontal img{max-width:50%;align-self:flex-start}.cui .figure.figure--compressed{margin:0;padding:0}.cui .figure.figure--compressed figcaption+img,.cui .figure.figure--compressed img+figcaption{padding:10px 0 0}.cui .figure.figure--compressed.figure--horizontal img+figcaption{padding:0 0 0 10px}.cui .figure.figure--compressed.figure--horizontal figcaption+img{padding:0 10px 0 0}.cui .figure.figure--regular{margin:0;padding:0}.cui .figure.figure--regular figcaption+img,.cui .figure.figure--regular img+figcaption{padding:20px 0 0}.cui .figure.figure--regular.figure--horizontal img+figcaption{padding:0 0 0 20px}.cui .figure.figure--regular.figure--horizontal figcaption+img{padding:0 20px 0 0}.cui .figure.figure--loose{margin:0;padding:0}.cui .figure.figure--loose figcaption+img,.cui .figure.figure--loose img+figcaption{padding:40px 0 0}.cui .figure.figure--loose.figure--horizontal img+figcaption{padding:0 0 0 40px}.cui .figure.figure--loose.figure--horizontal figcaption+img{padding:0 40px 0 0}.cui .figure.figure--highlight figcaption{padding-left:10px;border-left:4px solid #00bceb}.cui .gauge{display:inline-block;position:relative;width:120px;height:120px;background-color:#dfdfdf;border-radius:50%}.cui .gauge .gauge__inset .gauge__percentage{color:#58585b;font-size:3.5rem;font-weight:200}.cui .gauge .gauge__circle .fill,.cui .gauge .gauge__circle .mask,.cui .gauge .gauge__circle .shadow{width:120px;height:120px;position:absolute;border-radius:50%}.cui .gauge .gauge__circle .fill,.cui .gauge .gauge__circle .mask{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:transform 1s;transition:transform 1s,-webkit-transform 1s;border-radius:50%}.cui .gauge .gauge__circle .mask{clip:rect(0,120px,120px,60px)}.cui .gauge .gauge__circle .mask .fill{background-color:#58585b;clip:rect(0,60px,120px,0)}.cui .gauge .gauge__inset{display:flex;align-items:center;justify-content:center;width:110px;height:110px;position:absolute;margin-left:5px;margin-top:5px;border-radius:50%;border:2px solid #fff;box-shadow:inset 0 0 0 2px #f5f5f6;background-color:#fff}.cui .gauge[data-percentage="1"] .gauge__circle .fill,.cui .gauge[data-percentage="1"] .gauge__circle .mask.full{-webkit-transform:rotate(1.8deg);transform:rotate(1.8deg)}.cui .gauge[data-percentage="1"] .gauge__circle .fill.fix,.cui .gauge[data-percentage="2"] .gauge__circle .fill,.cui .gauge[data-percentage="2"] .gauge__circle .mask.full{-webkit-transform:rotate(3.6deg);transform:rotate(3.6deg)}.cui .gauge[data-percentage="2"] .gauge__circle .fill.fix{-webkit-transform:rotate(7.2deg);transform:rotate(7.2deg)}.cui .gauge[data-percentage="3"] .gauge__circle .fill,.cui .gauge[data-percentage="3"] .gauge__circle .mask.full{-webkit-transform:rotate(5.4deg);transform:rotate(5.4deg)}.cui .gauge[data-percentage="3"] .gauge__circle .fill.fix{-webkit-transform:rotate(10.8deg);transform:rotate(10.8deg)}.cui .gauge[data-percentage="4"] .gauge__circle .fill,.cui .gauge[data-percentage="4"] .gauge__circle .mask.full{-webkit-transform:rotate(7.2deg);transform:rotate(7.2deg)}.cui .gauge[data-percentage="4"] .gauge__circle .fill.fix{-webkit-transform:rotate(14.4deg);transform:rotate(14.4deg)}.cui .gauge[data-percentage="5"] .gauge__circle .fill,.cui .gauge[data-percentage="5"] .gauge__circle .mask.full{-webkit-transform:rotate(9deg);transform:rotate(9deg)}.cui .gauge[data-percentage="5"] .gauge__circle .fill.fix{-webkit-transform:rotate(18deg);transform:rotate(18deg)}.cui .gauge[data-percentage="6"] .gauge__circle .fill,.cui .gauge[data-percentage="6"] .gauge__circle .mask.full{-webkit-transform:rotate(10.8deg);transform:rotate(10.8deg)}.cui .gauge[data-percentage="6"] .gauge__circle .fill.fix{-webkit-transform:rotate(21.6deg);transform:rotate(21.6deg)}.cui .gauge[data-percentage="7"] .gauge__circle .fill,.cui .gauge[data-percentage="7"] .gauge__circle .mask.full{-webkit-transform:rotate(12.6deg);transform:rotate(12.6deg)}.cui .gauge[data-percentage="7"] .gauge__circle .fill.fix{-webkit-transform:rotate(25.2deg);transform:rotate(25.2deg)}.cui .gauge[data-percentage="8"] .gauge__circle .fill,.cui .gauge[data-percentage="8"] .gauge__circle .mask.full{-webkit-transform:rotate(14.4deg);transform:rotate(14.4deg)}.cui .gauge[data-percentage="8"] .gauge__circle .fill.fix{-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.cui .gauge[data-percentage="9"] .gauge__circle .fill,.cui .gauge[data-percentage="9"] .gauge__circle .mask.full{-webkit-transform:rotate(16.2deg);transform:rotate(16.2deg)}.cui .gauge[data-percentage="9"] .gauge__circle .fill.fix{-webkit-transform:rotate(32.4deg);transform:rotate(32.4deg)}.cui .gauge[data-percentage="10"] .gauge__circle .fill,.cui .gauge[data-percentage="10"] .gauge__circle .mask.full{-webkit-transform:rotate(18deg);transform:rotate(18deg)}.cui .gauge[data-percentage="10"] .gauge__circle .fill.fix{-webkit-transform:rotate(36deg);transform:rotate(36deg)}.cui .gauge[data-percentage="11"] .gauge__circle .fill,.cui .gauge[data-percentage="11"] .gauge__circle .mask.full{-webkit-transform:rotate(19.8deg);transform:rotate(19.8deg)}.cui .gauge[data-percentage="11"] .gauge__circle .fill.fix{-webkit-transform:rotate(39.6deg);transform:rotate(39.6deg)}.cui .gauge[data-percentage="12"] .gauge__circle .fill,.cui .gauge[data-percentage="12"] .gauge__circle .mask.full{-webkit-transform:rotate(21.6deg);transform:rotate(21.6deg)}.cui .gauge[data-percentage="12"] .gauge__circle .fill.fix{-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.cui .gauge[data-percentage="13"] .gauge__circle .fill,.cui .gauge[data-percentage="13"] .gauge__circle .mask.full{-webkit-transform:rotate(23.4deg);transform:rotate(23.4deg)}.cui .gauge[data-percentage="13"] .gauge__circle .fill.fix{-webkit-transform:rotate(46.8deg);transform:rotate(46.8deg)}.cui .gauge[data-percentage="14"] .gauge__circle .fill,.cui .gauge[data-percentage="14"] .gauge__circle .mask.full{-webkit-transform:rotate(25.2deg);transform:rotate(25.2deg)}.cui .gauge[data-percentage="14"] .gauge__circle .fill.fix{-webkit-transform:rotate(50.4deg);transform:rotate(50.4deg)}.cui .gauge[data-percentage="15"] .gauge__circle .fill,.cui .gauge[data-percentage="15"] .gauge__circle .mask.full{-webkit-transform:rotate(27deg);transform:rotate(27deg)}.cui .gauge[data-percentage="15"] .gauge__circle .fill.fix{-webkit-transform:rotate(54deg);transform:rotate(54deg)}.cui .gauge[data-percentage="16"] .gauge__circle .fill,.cui .gauge[data-percentage="16"] .gauge__circle .mask.full{-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.cui .gauge[data-percentage="16"] .gauge__circle .fill.fix{-webkit-transform:rotate(57.6deg);transform:rotate(57.6deg)}.cui .gauge[data-percentage="17"] .gauge__circle .fill,.cui .gauge[data-percentage="17"] .gauge__circle .mask.full{-webkit-transform:rotate(30.6deg);transform:rotate(30.6deg)}.cui .gauge[data-percentage="17"] .gauge__circle .fill.fix{-webkit-transform:rotate(61.2deg);transform:rotate(61.2deg)}.cui .gauge[data-percentage="18"] .gauge__circle .fill,.cui .gauge[data-percentage="18"] .gauge__circle .mask.full{-webkit-transform:rotate(32.4deg);transform:rotate(32.4deg)}.cui .gauge[data-percentage="18"] .gauge__circle .fill.fix{-webkit-transform:rotate(64.8deg);transform:rotate(64.8deg)}.cui .gauge[data-percentage="19"] .gauge__circle .fill,.cui .gauge[data-percentage="19"] .gauge__circle .mask.full{-webkit-transform:rotate(34.2deg);transform:rotate(34.2deg)}.cui .gauge[data-percentage="19"] .gauge__circle .fill.fix{-webkit-transform:rotate(68.4deg);transform:rotate(68.4deg)}.cui .gauge[data-percentage="20"] .gauge__circle .fill,.cui .gauge[data-percentage="20"] .gauge__circle .mask.full{-webkit-transform:rotate(36deg);transform:rotate(36deg)}.cui .gauge[data-percentage="20"] .gauge__circle .fill.fix{-webkit-transform:rotate(72deg);transform:rotate(72deg)}.cui .gauge[data-percentage="21"] .gauge__circle .fill,.cui .gauge[data-percentage="21"] .gauge__circle .mask.full{-webkit-transform:rotate(37.8deg);transform:rotate(37.8deg)}.cui .gauge[data-percentage="21"] .gauge__circle .fill.fix{-webkit-transform:rotate(75.6deg);transform:rotate(75.6deg)}.cui .gauge[data-percentage="22"] .gauge__circle .fill,.cui .gauge[data-percentage="22"] .gauge__circle .mask.full{-webkit-transform:rotate(39.6deg);transform:rotate(39.6deg)}.cui .gauge[data-percentage="22"] .gauge__circle .fill.fix{-webkit-transform:rotate(79.2deg);transform:rotate(79.2deg)}.cui .gauge[data-percentage="23"] .gauge__circle .fill,.cui .gauge[data-percentage="23"] .gauge__circle .mask.full{-webkit-transform:rotate(41.4deg);transform:rotate(41.4deg)}.cui .gauge[data-percentage="23"] .gauge__circle .fill.fix{-webkit-transform:rotate(82.8deg);transform:rotate(82.8deg)}.cui .gauge[data-percentage="24"] .gauge__circle .fill,.cui .gauge[data-percentage="24"] .gauge__circle .mask.full{-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.cui .gauge[data-percentage="24"] .gauge__circle .fill.fix{-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.cui .gauge[data-percentage="25"] .gauge__circle .fill,.cui .gauge[data-percentage="25"] .gauge__circle .mask.full{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.cui .gauge[data-percentage="25"] .gauge__circle .fill.fix{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .gauge[data-percentage="26"] .gauge__circle .fill,.cui .gauge[data-percentage="26"] .gauge__circle .mask.full{-webkit-transform:rotate(46.8deg);transform:rotate(46.8deg)}.cui .gauge[data-percentage="26"] .gauge__circle .fill.fix{-webkit-transform:rotate(93.6deg);transform:rotate(93.6deg)}.cui .gauge[data-percentage="27"] .gauge__circle .fill,.cui .gauge[data-percentage="27"] .gauge__circle .mask.full{-webkit-transform:rotate(48.6deg);transform:rotate(48.6deg)}.cui .gauge[data-percentage="27"] .gauge__circle .fill.fix{-webkit-transform:rotate(97.2deg);transform:rotate(97.2deg)}.cui .gauge[data-percentage="28"] .gauge__circle .fill,.cui .gauge[data-percentage="28"] .gauge__circle .mask.full{-webkit-transform:rotate(50.4deg);transform:rotate(50.4deg)}.cui .gauge[data-percentage="28"] .gauge__circle .fill.fix{-webkit-transform:rotate(100.8deg);transform:rotate(100.8deg)}.cui .gauge[data-percentage="29"] .gauge__circle .fill,.cui .gauge[data-percentage="29"] .gauge__circle .mask.full{-webkit-transform:rotate(52.2deg);transform:rotate(52.2deg)}.cui .gauge[data-percentage="29"] .gauge__circle .fill.fix{-webkit-transform:rotate(104.4deg);transform:rotate(104.4deg)}.cui .gauge[data-percentage="30"] .gauge__circle .fill,.cui .gauge[data-percentage="30"] .gauge__circle .mask.full{-webkit-transform:rotate(54deg);transform:rotate(54deg)}.cui .gauge[data-percentage="30"] .gauge__circle .fill.fix{-webkit-transform:rotate(108deg);transform:rotate(108deg)}.cui .gauge[data-percentage="31"] .gauge__circle .fill,.cui .gauge[data-percentage="31"] .gauge__circle .mask.full{-webkit-transform:rotate(55.8deg);transform:rotate(55.8deg)}.cui .gauge[data-percentage="31"] .gauge__circle .fill.fix{-webkit-transform:rotate(111.6deg);transform:rotate(111.6deg)}.cui .gauge[data-percentage="32"] .gauge__circle .fill,.cui .gauge[data-percentage="32"] .gauge__circle .mask.full{-webkit-transform:rotate(57.6deg);transform:rotate(57.6deg)}.cui .gauge[data-percentage="32"] .gauge__circle .fill.fix{-webkit-transform:rotate(115.2deg);transform:rotate(115.2deg)}.cui .gauge[data-percentage="33"] .gauge__circle .fill,.cui .gauge[data-percentage="33"] .gauge__circle .mask.full{-webkit-transform:rotate(59.4deg);transform:rotate(59.4deg)}.cui .gauge[data-percentage="33"] .gauge__circle .fill.fix{-webkit-transform:rotate(118.8deg);transform:rotate(118.8deg)}.cui .gauge[data-percentage="34"] .gauge__circle .fill,.cui .gauge[data-percentage="34"] .gauge__circle .mask.full{-webkit-transform:rotate(61.2deg);transform:rotate(61.2deg)}.cui .gauge[data-percentage="34"] .gauge__circle .fill.fix{-webkit-transform:rotate(122.4deg);transform:rotate(122.4deg)}.cui .gauge[data-percentage="35"] .gauge__circle .fill,.cui .gauge[data-percentage="35"] .gauge__circle .mask.full{-webkit-transform:rotate(63deg);transform:rotate(63deg)}.cui .gauge[data-percentage="35"] .gauge__circle .fill.fix{-webkit-transform:rotate(126deg);transform:rotate(126deg)}.cui .gauge[data-percentage="36"] .gauge__circle .fill,.cui .gauge[data-percentage="36"] .gauge__circle .mask.full{-webkit-transform:rotate(64.8deg);transform:rotate(64.8deg)}.cui .gauge[data-percentage="36"] .gauge__circle .fill.fix{-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.cui .gauge[data-percentage="37"] .gauge__circle .fill,.cui .gauge[data-percentage="37"] .gauge__circle .mask.full{-webkit-transform:rotate(66.6deg);transform:rotate(66.6deg)}.cui .gauge[data-percentage="37"] .gauge__circle .fill.fix{-webkit-transform:rotate(133.2deg);transform:rotate(133.2deg)}.cui .gauge[data-percentage="38"] .gauge__circle .fill,.cui .gauge[data-percentage="38"] .gauge__circle .mask.full{-webkit-transform:rotate(68.4deg);transform:rotate(68.4deg)}.cui .gauge[data-percentage="38"] .gauge__circle .fill.fix{-webkit-transform:rotate(136.8deg);transform:rotate(136.8deg)}.cui .gauge[data-percentage="39"] .gauge__circle .fill,.cui .gauge[data-percentage="39"] .gauge__circle .mask.full{-webkit-transform:rotate(70.2deg);transform:rotate(70.2deg)}.cui .gauge[data-percentage="39"] .gauge__circle .fill.fix{-webkit-transform:rotate(140.4deg);transform:rotate(140.4deg)}.cui .gauge[data-percentage="40"] .gauge__circle .fill,.cui .gauge[data-percentage="40"] .gauge__circle .mask.full{-webkit-transform:rotate(72deg);transform:rotate(72deg)}.cui .gauge[data-percentage="40"] .gauge__circle .fill.fix{-webkit-transform:rotate(144deg);transform:rotate(144deg)}.cui .gauge[data-percentage="41"] .gauge__circle .fill,.cui .gauge[data-percentage="41"] .gauge__circle .mask.full{-webkit-transform:rotate(73.8deg);transform:rotate(73.8deg)}.cui .gauge[data-percentage="41"] .gauge__circle .fill.fix{-webkit-transform:rotate(147.6deg);transform:rotate(147.6deg)}.cui .gauge[data-percentage="42"] .gauge__circle .fill,.cui .gauge[data-percentage="42"] .gauge__circle .mask.full{-webkit-transform:rotate(75.6deg);transform:rotate(75.6deg)}.cui .gauge[data-percentage="42"] .gauge__circle .fill.fix{-webkit-transform:rotate(151.2deg);transform:rotate(151.2deg)}.cui .gauge[data-percentage="43"] .gauge__circle .fill,.cui .gauge[data-percentage="43"] .gauge__circle .mask.full{-webkit-transform:rotate(77.4deg);transform:rotate(77.4deg)}.cui .gauge[data-percentage="43"] .gauge__circle .fill.fix{-webkit-transform:rotate(154.8deg);transform:rotate(154.8deg)}.cui .gauge[data-percentage="44"] .gauge__circle .fill,.cui .gauge[data-percentage="44"] .gauge__circle .mask.full{-webkit-transform:rotate(79.2deg);transform:rotate(79.2deg)}.cui .gauge[data-percentage="44"] .gauge__circle .fill.fix{-webkit-transform:rotate(158.4deg);transform:rotate(158.4deg)}.cui .gauge[data-percentage="45"] .gauge__circle .fill,.cui .gauge[data-percentage="45"] .gauge__circle .mask.full{-webkit-transform:rotate(81deg);transform:rotate(81deg)}.cui .gauge[data-percentage="45"] .gauge__circle .fill.fix{-webkit-transform:rotate(162deg);transform:rotate(162deg)}.cui .gauge[data-percentage="46"] .gauge__circle .fill,.cui .gauge[data-percentage="46"] .gauge__circle .mask.full{-webkit-transform:rotate(82.8deg);transform:rotate(82.8deg)}.cui .gauge[data-percentage="46"] .gauge__circle .fill.fix{-webkit-transform:rotate(165.6deg);transform:rotate(165.6deg)}.cui .gauge[data-percentage="47"] .gauge__circle .fill,.cui .gauge[data-percentage="47"] .gauge__circle .mask.full{-webkit-transform:rotate(84.6deg);transform:rotate(84.6deg)}.cui .gauge[data-percentage="47"] .gauge__circle .fill.fix{-webkit-transform:rotate(169.2deg);transform:rotate(169.2deg)}.cui .gauge[data-percentage="48"] .gauge__circle .fill,.cui .gauge[data-percentage="48"] .gauge__circle .mask.full{-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.cui .gauge[data-percentage="48"] .gauge__circle .fill.fix{-webkit-transform:rotate(172.8deg);transform:rotate(172.8deg)}.cui .gauge[data-percentage="49"] .gauge__circle .fill,.cui .gauge[data-percentage="49"] .gauge__circle .mask.full{-webkit-transform:rotate(88.2deg);transform:rotate(88.2deg)}.cui .gauge[data-percentage="49"] .gauge__circle .fill.fix{-webkit-transform:rotate(176.4deg);transform:rotate(176.4deg)}.cui .gauge[data-percentage="50"] .gauge__circle .fill,.cui .gauge[data-percentage="50"] .gauge__circle .mask.full{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .gauge[data-percentage="50"] .gauge__circle .fill.fix{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .gauge[data-percentage="51"] .gauge__circle .fill,.cui .gauge[data-percentage="51"] .gauge__circle .mask.full{-webkit-transform:rotate(91.8deg);transform:rotate(91.8deg)}.cui .gauge[data-percentage="51"] .gauge__circle .fill.fix{-webkit-transform:rotate(183.6deg);transform:rotate(183.6deg)}.cui .gauge[data-percentage="52"] .gauge__circle .fill,.cui .gauge[data-percentage="52"] .gauge__circle .mask.full{-webkit-transform:rotate(93.6deg);transform:rotate(93.6deg)}.cui .gauge[data-percentage="52"] .gauge__circle .fill.fix{-webkit-transform:rotate(187.2deg);transform:rotate(187.2deg)}.cui .gauge[data-percentage="53"] .gauge__circle .fill,.cui .gauge[data-percentage="53"] .gauge__circle .mask.full{-webkit-transform:rotate(95.4deg);transform:rotate(95.4deg)}.cui .gauge[data-percentage="53"] .gauge__circle .fill.fix{-webkit-transform:rotate(190.8deg);transform:rotate(190.8deg)}.cui .gauge[data-percentage="54"] .gauge__circle .fill,.cui .gauge[data-percentage="54"] .gauge__circle .mask.full{-webkit-transform:rotate(97.2deg);transform:rotate(97.2deg)}.cui .gauge[data-percentage="54"] .gauge__circle .fill.fix{-webkit-transform:rotate(194.4deg);transform:rotate(194.4deg)}.cui .gauge[data-percentage="55"] .gauge__circle .fill,.cui .gauge[data-percentage="55"] .gauge__circle .mask.full{-webkit-transform:rotate(99deg);transform:rotate(99deg)}.cui .gauge[data-percentage="55"] .gauge__circle .fill.fix{-webkit-transform:rotate(198deg);transform:rotate(198deg)}.cui .gauge[data-percentage="56"] .gauge__circle .fill,.cui .gauge[data-percentage="56"] .gauge__circle .mask.full{-webkit-transform:rotate(100.8deg);transform:rotate(100.8deg)}.cui .gauge[data-percentage="56"] .gauge__circle .fill.fix{-webkit-transform:rotate(201.6deg);transform:rotate(201.6deg)}.cui .gauge[data-percentage="57"] .gauge__circle .fill,.cui .gauge[data-percentage="57"] .gauge__circle .mask.full{-webkit-transform:rotate(102.6deg);transform:rotate(102.6deg)}.cui .gauge[data-percentage="57"] .gauge__circle .fill.fix{-webkit-transform:rotate(205.2deg);transform:rotate(205.2deg)}.cui .gauge[data-percentage="58"] .gauge__circle .fill,.cui .gauge[data-percentage="58"] .gauge__circle .mask.full{-webkit-transform:rotate(104.4deg);transform:rotate(104.4deg)}.cui .gauge[data-percentage="58"] .gauge__circle .fill.fix{-webkit-transform:rotate(208.8deg);transform:rotate(208.8deg)}.cui .gauge[data-percentage="59"] .gauge__circle .fill,.cui .gauge[data-percentage="59"] .gauge__circle .mask.full{-webkit-transform:rotate(106.2deg);transform:rotate(106.2deg)}.cui .gauge[data-percentage="59"] .gauge__circle .fill.fix{-webkit-transform:rotate(212.4deg);transform:rotate(212.4deg)}.cui .gauge[data-percentage="60"] .gauge__circle .fill,.cui .gauge[data-percentage="60"] .gauge__circle .mask.full{-webkit-transform:rotate(108deg);transform:rotate(108deg)}.cui .gauge[data-percentage="60"] .gauge__circle .fill.fix{-webkit-transform:rotate(216deg);transform:rotate(216deg)}.cui .gauge[data-percentage="61"] .gauge__circle .fill,.cui .gauge[data-percentage="61"] .gauge__circle .mask.full{-webkit-transform:rotate(109.8deg);transform:rotate(109.8deg)}.cui .gauge[data-percentage="61"] .gauge__circle .fill.fix{-webkit-transform:rotate(219.6deg);transform:rotate(219.6deg)}.cui .gauge[data-percentage="62"] .gauge__circle .fill,.cui .gauge[data-percentage="62"] .gauge__circle .mask.full{-webkit-transform:rotate(111.6deg);transform:rotate(111.6deg)}.cui .gauge[data-percentage="62"] .gauge__circle .fill.fix{-webkit-transform:rotate(223.2deg);transform:rotate(223.2deg)}.cui .gauge[data-percentage="63"] .gauge__circle .fill,.cui .gauge[data-percentage="63"] .gauge__circle .mask.full{-webkit-transform:rotate(113.4deg);transform:rotate(113.4deg)}.cui .gauge[data-percentage="63"] .gauge__circle .fill.fix{-webkit-transform:rotate(226.8deg);transform:rotate(226.8deg)}.cui .gauge[data-percentage="64"] .gauge__circle .fill,.cui .gauge[data-percentage="64"] .gauge__circle .mask.full{-webkit-transform:rotate(115.2deg);transform:rotate(115.2deg)}.cui .gauge[data-percentage="64"] .gauge__circle .fill.fix{-webkit-transform:rotate(230.4deg);transform:rotate(230.4deg)}.cui .gauge[data-percentage="65"] .gauge__circle .fill,.cui .gauge[data-percentage="65"] .gauge__circle .mask.full{-webkit-transform:rotate(117deg);transform:rotate(117deg)}.cui .gauge[data-percentage="65"] .gauge__circle .fill.fix{-webkit-transform:rotate(234deg);transform:rotate(234deg)}.cui .gauge[data-percentage="66"] .gauge__circle .fill,.cui .gauge[data-percentage="66"] .gauge__circle .mask.full{-webkit-transform:rotate(118.8deg);transform:rotate(118.8deg)}.cui .gauge[data-percentage="66"] .gauge__circle .fill.fix{-webkit-transform:rotate(237.6deg);transform:rotate(237.6deg)}.cui .gauge[data-percentage="67"] .gauge__circle .fill,.cui .gauge[data-percentage="67"] .gauge__circle .mask.full{-webkit-transform:rotate(120.6deg);transform:rotate(120.6deg)}.cui .gauge[data-percentage="67"] .gauge__circle .fill.fix{-webkit-transform:rotate(241.2deg);transform:rotate(241.2deg)}.cui .gauge[data-percentage="68"] .gauge__circle .fill,.cui .gauge[data-percentage="68"] .gauge__circle .mask.full{-webkit-transform:rotate(122.4deg);transform:rotate(122.4deg)}.cui .gauge[data-percentage="68"] .gauge__circle .fill.fix{-webkit-transform:rotate(244.8deg);transform:rotate(244.8deg)}.cui .gauge[data-percentage="69"] .gauge__circle .fill,.cui .gauge[data-percentage="69"] .gauge__circle .mask.full{-webkit-transform:rotate(124.2deg);transform:rotate(124.2deg)}.cui .gauge[data-percentage="69"] .gauge__circle .fill.fix{-webkit-transform:rotate(248.4deg);transform:rotate(248.4deg)}.cui .gauge[data-percentage="70"] .gauge__circle .fill,.cui .gauge[data-percentage="70"] .gauge__circle .mask.full{-webkit-transform:rotate(126deg);transform:rotate(126deg)}.cui .gauge[data-percentage="70"] .gauge__circle .fill.fix{-webkit-transform:rotate(252deg);transform:rotate(252deg)}.cui .gauge[data-percentage="71"] .gauge__circle .fill,.cui .gauge[data-percentage="71"] .gauge__circle .mask.full{-webkit-transform:rotate(127.8deg);transform:rotate(127.8deg)}.cui .gauge[data-percentage="71"] .gauge__circle .fill.fix{-webkit-transform:rotate(255.6deg);transform:rotate(255.6deg)}.cui .gauge[data-percentage="72"] .gauge__circle .fill,.cui .gauge[data-percentage="72"] .gauge__circle .mask.full{-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.cui .gauge[data-percentage="72"] .gauge__circle .fill.fix{-webkit-transform:rotate(259.2deg);transform:rotate(259.2deg)}.cui .gauge[data-percentage="73"] .gauge__circle .fill,.cui .gauge[data-percentage="73"] .gauge__circle .mask.full{-webkit-transform:rotate(131.4deg);transform:rotate(131.4deg)}.cui .gauge[data-percentage="73"] .gauge__circle .fill.fix{-webkit-transform:rotate(262.8deg);transform:rotate(262.8deg)}.cui .gauge[data-percentage="74"] .gauge__circle .fill,.cui .gauge[data-percentage="74"] .gauge__circle .mask.full{-webkit-transform:rotate(133.2deg);transform:rotate(133.2deg)}.cui .gauge[data-percentage="74"] .gauge__circle .fill.fix{-webkit-transform:rotate(266.4deg);transform:rotate(266.4deg)}.cui .gauge[data-percentage="75"] .gauge__circle .fill,.cui .gauge[data-percentage="75"] .gauge__circle .mask.full{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.cui .gauge[data-percentage="75"] .gauge__circle .fill.fix{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.cui .gauge[data-percentage="76"] .gauge__circle .fill,.cui .gauge[data-percentage="76"] .gauge__circle .mask.full{-webkit-transform:rotate(136.8deg);transform:rotate(136.8deg)}.cui .gauge[data-percentage="76"] .gauge__circle .fill.fix{-webkit-transform:rotate(273.6deg);transform:rotate(273.6deg)}.cui .gauge[data-percentage="77"] .gauge__circle .fill,.cui .gauge[data-percentage="77"] .gauge__circle .mask.full{-webkit-transform:rotate(138.6deg);transform:rotate(138.6deg)}.cui .gauge[data-percentage="77"] .gauge__circle .fill.fix{-webkit-transform:rotate(277.2deg);transform:rotate(277.2deg)}.cui .gauge[data-percentage="78"] .gauge__circle .fill,.cui .gauge[data-percentage="78"] .gauge__circle .mask.full{-webkit-transform:rotate(140.4deg);transform:rotate(140.4deg)}.cui .gauge[data-percentage="78"] .gauge__circle .fill.fix{-webkit-transform:rotate(280.8deg);transform:rotate(280.8deg)}.cui .gauge[data-percentage="79"] .gauge__circle .fill,.cui .gauge[data-percentage="79"] .gauge__circle .mask.full{-webkit-transform:rotate(142.2deg);transform:rotate(142.2deg)}.cui .gauge[data-percentage="79"] .gauge__circle .fill.fix{-webkit-transform:rotate(284.4deg);transform:rotate(284.4deg)}.cui .gauge[data-percentage="80"] .gauge__circle .fill,.cui .gauge[data-percentage="80"] .gauge__circle .mask.full{-webkit-transform:rotate(144deg);transform:rotate(144deg)}.cui .gauge[data-percentage="80"] .gauge__circle .fill.fix{-webkit-transform:rotate(288deg);transform:rotate(288deg)}.cui .gauge[data-percentage="81"] .gauge__circle .fill,.cui .gauge[data-percentage="81"] .gauge__circle .mask.full{-webkit-transform:rotate(145.8deg);transform:rotate(145.8deg)}.cui .gauge[data-percentage="81"] .gauge__circle .fill.fix{-webkit-transform:rotate(291.6deg);transform:rotate(291.6deg)}.cui .gauge[data-percentage="82"] .gauge__circle .fill,.cui .gauge[data-percentage="82"] .gauge__circle .mask.full{-webkit-transform:rotate(147.6deg);transform:rotate(147.6deg)}.cui .gauge[data-percentage="82"] .gauge__circle .fill.fix{-webkit-transform:rotate(295.2deg);transform:rotate(295.2deg)}.cui .gauge[data-percentage="83"] .gauge__circle .fill,.cui .gauge[data-percentage="83"] .gauge__circle .mask.full{-webkit-transform:rotate(149.4deg);transform:rotate(149.4deg)}.cui .gauge[data-percentage="83"] .gauge__circle .fill.fix{-webkit-transform:rotate(298.8deg);transform:rotate(298.8deg)}.cui .gauge[data-percentage="84"] .gauge__circle .fill,.cui .gauge[data-percentage="84"] .gauge__circle .mask.full{-webkit-transform:rotate(151.2deg);transform:rotate(151.2deg)}.cui .gauge[data-percentage="84"] .gauge__circle .fill.fix{-webkit-transform:rotate(302.4deg);transform:rotate(302.4deg)}.cui .gauge[data-percentage="85"] .gauge__circle .fill,.cui .gauge[data-percentage="85"] .gauge__circle .mask.full{-webkit-transform:rotate(153deg);transform:rotate(153deg)}.cui .gauge[data-percentage="85"] .gauge__circle .fill.fix{-webkit-transform:rotate(306deg);transform:rotate(306deg)}.cui .gauge[data-percentage="86"] .gauge__circle .fill,.cui .gauge[data-percentage="86"] .gauge__circle .mask.full{-webkit-transform:rotate(154.8deg);transform:rotate(154.8deg)}.cui .gauge[data-percentage="86"] .gauge__circle .fill.fix{-webkit-transform:rotate(309.6deg);transform:rotate(309.6deg)}.cui .gauge[data-percentage="87"] .gauge__circle .fill,.cui .gauge[data-percentage="87"] .gauge__circle .mask.full{-webkit-transform:rotate(156.6deg);transform:rotate(156.6deg)}.cui .gauge[data-percentage="87"] .gauge__circle .fill.fix{-webkit-transform:rotate(313.2deg);transform:rotate(313.2deg)}.cui .gauge[data-percentage="88"] .gauge__circle .fill,.cui .gauge[data-percentage="88"] .gauge__circle .mask.full{-webkit-transform:rotate(158.4deg);transform:rotate(158.4deg)}.cui .gauge[data-percentage="88"] .gauge__circle .fill.fix{-webkit-transform:rotate(316.8deg);transform:rotate(316.8deg)}.cui .gauge[data-percentage="89"] .gauge__circle .fill,.cui .gauge[data-percentage="89"] .gauge__circle .mask.full{-webkit-transform:rotate(160.2deg);transform:rotate(160.2deg)}.cui .gauge[data-percentage="89"] .gauge__circle .fill.fix{-webkit-transform:rotate(320.4deg);transform:rotate(320.4deg)}.cui .gauge[data-percentage="90"] .gauge__circle .fill,.cui .gauge[data-percentage="90"] .gauge__circle .mask.full{-webkit-transform:rotate(162deg);transform:rotate(162deg)}.cui .gauge[data-percentage="90"] .gauge__circle .fill.fix{-webkit-transform:rotate(324deg);transform:rotate(324deg)}.cui .gauge[data-percentage="91"] .gauge__circle .fill,.cui .gauge[data-percentage="91"] .gauge__circle .mask.full{-webkit-transform:rotate(163.8deg);transform:rotate(163.8deg)}.cui .gauge[data-percentage="91"] .gauge__circle .fill.fix{-webkit-transform:rotate(327.6deg);transform:rotate(327.6deg)}.cui .gauge[data-percentage="92"] .gauge__circle .fill,.cui .gauge[data-percentage="92"] .gauge__circle .mask.full{-webkit-transform:rotate(165.6deg);transform:rotate(165.6deg)}.cui .gauge[data-percentage="92"] .gauge__circle .fill.fix{-webkit-transform:rotate(331.2deg);transform:rotate(331.2deg)}.cui .gauge[data-percentage="93"] .gauge__circle .fill,.cui .gauge[data-percentage="93"] .gauge__circle .mask.full{-webkit-transform:rotate(167.4deg);transform:rotate(167.4deg)}.cui .gauge[data-percentage="93"] .gauge__circle .fill.fix{-webkit-transform:rotate(334.8deg);transform:rotate(334.8deg)}.cui .gauge[data-percentage="94"] .gauge__circle .fill,.cui .gauge[data-percentage="94"] .gauge__circle .mask.full{-webkit-transform:rotate(169.2deg);transform:rotate(169.2deg)}.cui .gauge[data-percentage="94"] .gauge__circle .fill.fix{-webkit-transform:rotate(338.4deg);transform:rotate(338.4deg)}.cui .gauge[data-percentage="95"] .gauge__circle .fill,.cui .gauge[data-percentage="95"] .gauge__circle .mask.full{-webkit-transform:rotate(171deg);transform:rotate(171deg)}.cui .gauge[data-percentage="95"] .gauge__circle .fill.fix{-webkit-transform:rotate(342deg);transform:rotate(342deg)}.cui .gauge[data-percentage="96"] .gauge__circle .fill,.cui .gauge[data-percentage="96"] .gauge__circle .mask.full{-webkit-transform:rotate(172.8deg);transform:rotate(172.8deg)}.cui .gauge[data-percentage="96"] .gauge__circle .fill.fix{-webkit-transform:rotate(345.6deg);transform:rotate(345.6deg)}.cui .gauge[data-percentage="97"] .gauge__circle .fill,.cui .gauge[data-percentage="97"] .gauge__circle .mask.full{-webkit-transform:rotate(174.6deg);transform:rotate(174.6deg)}.cui .gauge[data-percentage="97"] .gauge__circle .fill.fix{-webkit-transform:rotate(349.2deg);transform:rotate(349.2deg)}.cui .gauge[data-percentage="98"] .gauge__circle .fill,.cui .gauge[data-percentage="98"] .gauge__circle .mask.full{-webkit-transform:rotate(176.4deg);transform:rotate(176.4deg)}.cui .gauge[data-percentage="98"] .gauge__circle .fill.fix{-webkit-transform:rotate(352.8deg);transform:rotate(352.8deg)}.cui .gauge[data-percentage="99"] .gauge__circle .fill,.cui .gauge[data-percentage="99"] .gauge__circle .mask.full{-webkit-transform:rotate(178.2deg);transform:rotate(178.2deg)}.cui .gauge[data-percentage="99"] .gauge__circle .fill.fix{-webkit-transform:rotate(356.4deg);transform:rotate(356.4deg)}.cui .gauge[data-percentage="100"] .gauge__circle .fill,.cui .gauge[data-percentage="100"] .gauge__circle .mask.full{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .gauge[data-percentage="100"] .gauge__circle .fill.fix{-webkit-transform:rotate(360deg);transform:rotate(360deg)}.cui .gauge--primary .gauge__circle .mask .fill{background-color:#00bceb}.cui .gauge--primary .gauge__inset .gauge__percentage{color:#00bceb}.cui .gauge--default .gauge__circle .mask .fill{background-color:#888}.cui .gauge--default .gauge__inset .gauge__percentage{color:#888}.cui .gauge--blue .gauge__circle .mask .fill{background-color:#00bceb}.cui .gauge--blue .gauge__inset .gauge__percentage{color:#00bceb}.cui .gauge--success .gauge__circle .mask .fill{background-color:#6ebe4a}.cui .gauge--success .gauge__inset .gauge__percentage{color:#6ebe4a}.cui .gauge--danger .gauge__circle .mask .fill{background-color:#e2231a}.cui .gauge--danger .gauge__inset .gauge__percentage{color:#e2231a}.cui .gauge--warning .gauge__circle .mask .fill{background-color:#fbab18}.cui .gauge--warning .gauge__inset .gauge__percentage{color:#fbab18}.cui .gauge--warning-alt .gauge__circle .mask .fill{background-color:#fc0}.cui .gauge--warning-alt .gauge__inset .gauge__percentage{color:#fc0}.cui .gauge--info .gauge__inset .gauge__percentage,.cui .hero{color:#58585b}.cui .gauge--info .gauge__circle .mask .fill{background-color:#64bbe3}.cui .gauge.gauge--small{display:inline-block;position:relative;width:60px;height:60px;background-color:#dfdfdf;border-radius:50%}.cui .gauge.gauge--small .gauge__circle .fill,.cui .gauge.gauge--small .gauge__circle .mask,.cui .gauge.gauge--small .gauge__circle .shadow{width:60px;height:60px;position:absolute;border-radius:50%}.cui .gauge.gauge--small .gauge__circle .fill,.cui .gauge.gauge--small .gauge__circle .mask{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:transform 1s;transition:transform 1s,-webkit-transform 1s;border-radius:50%}.cui .gauge.gauge--small .gauge__circle .mask{clip:rect(0,60px,60px,30px)}.cui .gauge.gauge--small .gauge__circle .mask .fill{clip:rect(0,30px,60px,0)}.cui .gauge.gauge--small .gauge__inset{display:flex;align-items:center;justify-content:center;width:52px;height:52px;position:absolute;margin-left:4px;margin-top:4px;border-radius:50%;border:2px solid #fff;box-shadow:inset 0 0 0 2px #f5f5f6;background-color:#fff}.cui .gauge.gauge--small .gauge__inset .gauge__percentage{font-size:2rem;font-weight:300}.cui .gauge.gauge--small[data-percentage="1"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="1"] .gauge__circle .mask.full{-webkit-transform:rotate(1.8deg);transform:rotate(1.8deg)}.cui .gauge.gauge--small[data-percentage="1"] .gauge__circle .fill.fix,.cui .gauge.gauge--small[data-percentage="2"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="2"] .gauge__circle .mask.full{-webkit-transform:rotate(3.6deg);transform:rotate(3.6deg)}.cui .gauge.gauge--small[data-percentage="2"] .gauge__circle .fill.fix{-webkit-transform:rotate(7.2deg);transform:rotate(7.2deg)}.cui .gauge.gauge--small[data-percentage="3"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="3"] .gauge__circle .mask.full{-webkit-transform:rotate(5.4deg);transform:rotate(5.4deg)}.cui .gauge.gauge--small[data-percentage="3"] .gauge__circle .fill.fix{-webkit-transform:rotate(10.8deg);transform:rotate(10.8deg)}.cui .gauge.gauge--small[data-percentage="4"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="4"] .gauge__circle .mask.full{-webkit-transform:rotate(7.2deg);transform:rotate(7.2deg)}.cui .gauge.gauge--small[data-percentage="4"] .gauge__circle .fill.fix{-webkit-transform:rotate(14.4deg);transform:rotate(14.4deg)}.cui .gauge.gauge--small[data-percentage="5"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="5"] .gauge__circle .mask.full{-webkit-transform:rotate(9deg);transform:rotate(9deg)}.cui .gauge.gauge--small[data-percentage="5"] .gauge__circle .fill.fix{-webkit-transform:rotate(18deg);transform:rotate(18deg)}.cui .gauge.gauge--small[data-percentage="6"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="6"] .gauge__circle .mask.full{-webkit-transform:rotate(10.8deg);transform:rotate(10.8deg)}.cui .gauge.gauge--small[data-percentage="6"] .gauge__circle .fill.fix{-webkit-transform:rotate(21.6deg);transform:rotate(21.6deg)}.cui .gauge.gauge--small[data-percentage="7"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="7"] .gauge__circle .mask.full{-webkit-transform:rotate(12.6deg);transform:rotate(12.6deg)}.cui .gauge.gauge--small[data-percentage="7"] .gauge__circle .fill.fix{-webkit-transform:rotate(25.2deg);transform:rotate(25.2deg)}.cui .gauge.gauge--small[data-percentage="8"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="8"] .gauge__circle .mask.full{-webkit-transform:rotate(14.4deg);transform:rotate(14.4deg)}.cui .gauge.gauge--small[data-percentage="8"] .gauge__circle .fill.fix{-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.cui .gauge.gauge--small[data-percentage="9"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="9"] .gauge__circle .mask.full{-webkit-transform:rotate(16.2deg);transform:rotate(16.2deg)}.cui .gauge.gauge--small[data-percentage="9"] .gauge__circle .fill.fix{-webkit-transform:rotate(32.4deg);transform:rotate(32.4deg)}.cui .gauge.gauge--small[data-percentage="10"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="10"] .gauge__circle .mask.full{-webkit-transform:rotate(18deg);transform:rotate(18deg)}.cui .gauge.gauge--small[data-percentage="10"] .gauge__circle .fill.fix{-webkit-transform:rotate(36deg);transform:rotate(36deg)}.cui .gauge.gauge--small[data-percentage="11"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="11"] .gauge__circle .mask.full{-webkit-transform:rotate(19.8deg);transform:rotate(19.8deg)}.cui .gauge.gauge--small[data-percentage="11"] .gauge__circle .fill.fix{-webkit-transform:rotate(39.6deg);transform:rotate(39.6deg)}.cui .gauge.gauge--small[data-percentage="12"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="12"] .gauge__circle .mask.full{-webkit-transform:rotate(21.6deg);transform:rotate(21.6deg)}.cui .gauge.gauge--small[data-percentage="12"] .gauge__circle .fill.fix{-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.cui .gauge.gauge--small[data-percentage="13"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="13"] .gauge__circle .mask.full{-webkit-transform:rotate(23.4deg);transform:rotate(23.4deg)}.cui .gauge.gauge--small[data-percentage="13"] .gauge__circle .fill.fix{-webkit-transform:rotate(46.8deg);transform:rotate(46.8deg)}.cui .gauge.gauge--small[data-percentage="14"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="14"] .gauge__circle .mask.full{-webkit-transform:rotate(25.2deg);transform:rotate(25.2deg)}.cui .gauge.gauge--small[data-percentage="14"] .gauge__circle .fill.fix{-webkit-transform:rotate(50.4deg);transform:rotate(50.4deg)}.cui .gauge.gauge--small[data-percentage="15"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="15"] .gauge__circle .mask.full{-webkit-transform:rotate(27deg);transform:rotate(27deg)}.cui .gauge.gauge--small[data-percentage="15"] .gauge__circle .fill.fix{-webkit-transform:rotate(54deg);transform:rotate(54deg)}.cui .gauge.gauge--small[data-percentage="16"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="16"] .gauge__circle .mask.full{-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.cui .gauge.gauge--small[data-percentage="16"] .gauge__circle .fill.fix{-webkit-transform:rotate(57.6deg);transform:rotate(57.6deg)}.cui .gauge.gauge--small[data-percentage="17"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="17"] .gauge__circle .mask.full{-webkit-transform:rotate(30.6deg);transform:rotate(30.6deg)}.cui .gauge.gauge--small[data-percentage="17"] .gauge__circle .fill.fix{-webkit-transform:rotate(61.2deg);transform:rotate(61.2deg)}.cui .gauge.gauge--small[data-percentage="18"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="18"] .gauge__circle .mask.full{-webkit-transform:rotate(32.4deg);transform:rotate(32.4deg)}.cui .gauge.gauge--small[data-percentage="18"] .gauge__circle .fill.fix{-webkit-transform:rotate(64.8deg);transform:rotate(64.8deg)}.cui .gauge.gauge--small[data-percentage="19"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="19"] .gauge__circle .mask.full{-webkit-transform:rotate(34.2deg);transform:rotate(34.2deg)}.cui .gauge.gauge--small[data-percentage="19"] .gauge__circle .fill.fix{-webkit-transform:rotate(68.4deg);transform:rotate(68.4deg)}.cui .gauge.gauge--small[data-percentage="20"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="20"] .gauge__circle .mask.full{-webkit-transform:rotate(36deg);transform:rotate(36deg)}.cui .gauge.gauge--small[data-percentage="20"] .gauge__circle .fill.fix{-webkit-transform:rotate(72deg);transform:rotate(72deg)}.cui .gauge.gauge--small[data-percentage="21"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="21"] .gauge__circle .mask.full{-webkit-transform:rotate(37.8deg);transform:rotate(37.8deg)}.cui .gauge.gauge--small[data-percentage="21"] .gauge__circle .fill.fix{-webkit-transform:rotate(75.6deg);transform:rotate(75.6deg)}.cui .gauge.gauge--small[data-percentage="22"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="22"] .gauge__circle .mask.full{-webkit-transform:rotate(39.6deg);transform:rotate(39.6deg)}.cui .gauge.gauge--small[data-percentage="22"] .gauge__circle .fill.fix{-webkit-transform:rotate(79.2deg);transform:rotate(79.2deg)}.cui .gauge.gauge--small[data-percentage="23"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="23"] .gauge__circle .mask.full{-webkit-transform:rotate(41.4deg);transform:rotate(41.4deg)}.cui .gauge.gauge--small[data-percentage="23"] .gauge__circle .fill.fix{-webkit-transform:rotate(82.8deg);transform:rotate(82.8deg)}.cui .gauge.gauge--small[data-percentage="24"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="24"] .gauge__circle .mask.full{-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.cui .gauge.gauge--small[data-percentage="24"] .gauge__circle .fill.fix{-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.cui .gauge.gauge--small[data-percentage="25"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="25"] .gauge__circle .mask.full{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.cui .gauge.gauge--small[data-percentage="25"] .gauge__circle .fill.fix{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .gauge.gauge--small[data-percentage="26"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="26"] .gauge__circle .mask.full{-webkit-transform:rotate(46.8deg);transform:rotate(46.8deg)}.cui .gauge.gauge--small[data-percentage="26"] .gauge__circle .fill.fix{-webkit-transform:rotate(93.6deg);transform:rotate(93.6deg)}.cui .gauge.gauge--small[data-percentage="27"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="27"] .gauge__circle .mask.full{-webkit-transform:rotate(48.6deg);transform:rotate(48.6deg)}.cui .gauge.gauge--small[data-percentage="27"] .gauge__circle .fill.fix{-webkit-transform:rotate(97.2deg);transform:rotate(97.2deg)}.cui .gauge.gauge--small[data-percentage="28"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="28"] .gauge__circle .mask.full{-webkit-transform:rotate(50.4deg);transform:rotate(50.4deg)}.cui .gauge.gauge--small[data-percentage="28"] .gauge__circle .fill.fix{-webkit-transform:rotate(100.8deg);transform:rotate(100.8deg)}.cui .gauge.gauge--small[data-percentage="29"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="29"] .gauge__circle .mask.full{-webkit-transform:rotate(52.2deg);transform:rotate(52.2deg)}.cui .gauge.gauge--small[data-percentage="29"] .gauge__circle .fill.fix{-webkit-transform:rotate(104.4deg);transform:rotate(104.4deg)}.cui .gauge.gauge--small[data-percentage="30"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="30"] .gauge__circle .mask.full{-webkit-transform:rotate(54deg);transform:rotate(54deg)}.cui .gauge.gauge--small[data-percentage="30"] .gauge__circle .fill.fix{-webkit-transform:rotate(108deg);transform:rotate(108deg)}.cui .gauge.gauge--small[data-percentage="31"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="31"] .gauge__circle .mask.full{-webkit-transform:rotate(55.8deg);transform:rotate(55.8deg)}.cui .gauge.gauge--small[data-percentage="31"] .gauge__circle .fill.fix{-webkit-transform:rotate(111.6deg);transform:rotate(111.6deg)}.cui .gauge.gauge--small[data-percentage="32"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="32"] .gauge__circle .mask.full{-webkit-transform:rotate(57.6deg);transform:rotate(57.6deg)}.cui .gauge.gauge--small[data-percentage="32"] .gauge__circle .fill.fix{-webkit-transform:rotate(115.2deg);transform:rotate(115.2deg)}.cui .gauge.gauge--small[data-percentage="33"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="33"] .gauge__circle .mask.full{-webkit-transform:rotate(59.4deg);transform:rotate(59.4deg)}.cui .gauge.gauge--small[data-percentage="33"] .gauge__circle .fill.fix{-webkit-transform:rotate(118.8deg);transform:rotate(118.8deg)}.cui .gauge.gauge--small[data-percentage="34"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="34"] .gauge__circle .mask.full{-webkit-transform:rotate(61.2deg);transform:rotate(61.2deg)}.cui .gauge.gauge--small[data-percentage="34"] .gauge__circle .fill.fix{-webkit-transform:rotate(122.4deg);transform:rotate(122.4deg)}.cui .gauge.gauge--small[data-percentage="35"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="35"] .gauge__circle .mask.full{-webkit-transform:rotate(63deg);transform:rotate(63deg)}.cui .gauge.gauge--small[data-percentage="35"] .gauge__circle .fill.fix{-webkit-transform:rotate(126deg);transform:rotate(126deg)}.cui .gauge.gauge--small[data-percentage="36"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="36"] .gauge__circle .mask.full{-webkit-transform:rotate(64.8deg);transform:rotate(64.8deg)}.cui .gauge.gauge--small[data-percentage="36"] .gauge__circle .fill.fix{-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.cui .gauge.gauge--small[data-percentage="37"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="37"] .gauge__circle .mask.full{-webkit-transform:rotate(66.6deg);transform:rotate(66.6deg)}.cui .gauge.gauge--small[data-percentage="37"] .gauge__circle .fill.fix{-webkit-transform:rotate(133.2deg);transform:rotate(133.2deg)}.cui .gauge.gauge--small[data-percentage="38"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="38"] .gauge__circle .mask.full{-webkit-transform:rotate(68.4deg);transform:rotate(68.4deg)}.cui .gauge.gauge--small[data-percentage="38"] .gauge__circle .fill.fix{-webkit-transform:rotate(136.8deg);transform:rotate(136.8deg)}.cui .gauge.gauge--small[data-percentage="39"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="39"] .gauge__circle .mask.full{-webkit-transform:rotate(70.2deg);transform:rotate(70.2deg)}.cui .gauge.gauge--small[data-percentage="39"] .gauge__circle .fill.fix{-webkit-transform:rotate(140.4deg);transform:rotate(140.4deg)}.cui .gauge.gauge--small[data-percentage="40"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="40"] .gauge__circle .mask.full{-webkit-transform:rotate(72deg);transform:rotate(72deg)}.cui .gauge.gauge--small[data-percentage="40"] .gauge__circle .fill.fix{-webkit-transform:rotate(144deg);transform:rotate(144deg)}.cui .gauge.gauge--small[data-percentage="41"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="41"] .gauge__circle .mask.full{-webkit-transform:rotate(73.8deg);transform:rotate(73.8deg)}.cui .gauge.gauge--small[data-percentage="41"] .gauge__circle .fill.fix{-webkit-transform:rotate(147.6deg);transform:rotate(147.6deg)}.cui .gauge.gauge--small[data-percentage="42"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="42"] .gauge__circle .mask.full{-webkit-transform:rotate(75.6deg);transform:rotate(75.6deg)}.cui .gauge.gauge--small[data-percentage="42"] .gauge__circle .fill.fix{-webkit-transform:rotate(151.2deg);transform:rotate(151.2deg)}.cui .gauge.gauge--small[data-percentage="43"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="43"] .gauge__circle .mask.full{-webkit-transform:rotate(77.4deg);transform:rotate(77.4deg)}.cui .gauge.gauge--small[data-percentage="43"] .gauge__circle .fill.fix{-webkit-transform:rotate(154.8deg);transform:rotate(154.8deg)}.cui .gauge.gauge--small[data-percentage="44"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="44"] .gauge__circle .mask.full{-webkit-transform:rotate(79.2deg);transform:rotate(79.2deg)}.cui .gauge.gauge--small[data-percentage="44"] .gauge__circle .fill.fix{-webkit-transform:rotate(158.4deg);transform:rotate(158.4deg)}.cui .gauge.gauge--small[data-percentage="45"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="45"] .gauge__circle .mask.full{-webkit-transform:rotate(81deg);transform:rotate(81deg)}.cui .gauge.gauge--small[data-percentage="45"] .gauge__circle .fill.fix{-webkit-transform:rotate(162deg);transform:rotate(162deg)}.cui .gauge.gauge--small[data-percentage="46"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="46"] .gauge__circle .mask.full{-webkit-transform:rotate(82.8deg);transform:rotate(82.8deg)}.cui .gauge.gauge--small[data-percentage="46"] .gauge__circle .fill.fix{-webkit-transform:rotate(165.6deg);transform:rotate(165.6deg)}.cui .gauge.gauge--small[data-percentage="47"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="47"] .gauge__circle .mask.full{-webkit-transform:rotate(84.6deg);transform:rotate(84.6deg)}.cui .gauge.gauge--small[data-percentage="47"] .gauge__circle .fill.fix{-webkit-transform:rotate(169.2deg);transform:rotate(169.2deg)}.cui .gauge.gauge--small[data-percentage="48"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="48"] .gauge__circle .mask.full{-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.cui .gauge.gauge--small[data-percentage="48"] .gauge__circle .fill.fix{-webkit-transform:rotate(172.8deg);transform:rotate(172.8deg)}.cui .gauge.gauge--small[data-percentage="49"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="49"] .gauge__circle .mask.full{-webkit-transform:rotate(88.2deg);transform:rotate(88.2deg)}.cui .gauge.gauge--small[data-percentage="49"] .gauge__circle .fill.fix{-webkit-transform:rotate(176.4deg);transform:rotate(176.4deg)}.cui .gauge.gauge--small[data-percentage="50"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="50"] .gauge__circle .mask.full{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .gauge.gauge--small[data-percentage="50"] .gauge__circle .fill.fix{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .gauge.gauge--small[data-percentage="51"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="51"] .gauge__circle .mask.full{-webkit-transform:rotate(91.8deg);transform:rotate(91.8deg)}.cui .gauge.gauge--small[data-percentage="51"] .gauge__circle .fill.fix{-webkit-transform:rotate(183.6deg);transform:rotate(183.6deg)}.cui .gauge.gauge--small[data-percentage="52"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="52"] .gauge__circle .mask.full{-webkit-transform:rotate(93.6deg);transform:rotate(93.6deg)}.cui .gauge.gauge--small[data-percentage="52"] .gauge__circle .fill.fix{-webkit-transform:rotate(187.2deg);transform:rotate(187.2deg)}.cui .gauge.gauge--small[data-percentage="53"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="53"] .gauge__circle .mask.full{-webkit-transform:rotate(95.4deg);transform:rotate(95.4deg)}.cui .gauge.gauge--small[data-percentage="53"] .gauge__circle .fill.fix{-webkit-transform:rotate(190.8deg);transform:rotate(190.8deg)}.cui .gauge.gauge--small[data-percentage="54"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="54"] .gauge__circle .mask.full{-webkit-transform:rotate(97.2deg);transform:rotate(97.2deg)}.cui .gauge.gauge--small[data-percentage="54"] .gauge__circle .fill.fix{-webkit-transform:rotate(194.4deg);transform:rotate(194.4deg)}.cui .gauge.gauge--small[data-percentage="55"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="55"] .gauge__circle .mask.full{-webkit-transform:rotate(99deg);transform:rotate(99deg)}.cui .gauge.gauge--small[data-percentage="55"] .gauge__circle .fill.fix{-webkit-transform:rotate(198deg);transform:rotate(198deg)}.cui .gauge.gauge--small[data-percentage="56"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="56"] .gauge__circle .mask.full{-webkit-transform:rotate(100.8deg);transform:rotate(100.8deg)}.cui .gauge.gauge--small[data-percentage="56"] .gauge__circle .fill.fix{-webkit-transform:rotate(201.6deg);transform:rotate(201.6deg)}.cui .gauge.gauge--small[data-percentage="57"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="57"] .gauge__circle .mask.full{-webkit-transform:rotate(102.6deg);transform:rotate(102.6deg)}.cui .gauge.gauge--small[data-percentage="57"] .gauge__circle .fill.fix{-webkit-transform:rotate(205.2deg);transform:rotate(205.2deg)}.cui .gauge.gauge--small[data-percentage="58"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="58"] .gauge__circle .mask.full{-webkit-transform:rotate(104.4deg);transform:rotate(104.4deg)}.cui .gauge.gauge--small[data-percentage="58"] .gauge__circle .fill.fix{-webkit-transform:rotate(208.8deg);transform:rotate(208.8deg)}.cui .gauge.gauge--small[data-percentage="59"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="59"] .gauge__circle .mask.full{-webkit-transform:rotate(106.2deg);transform:rotate(106.2deg)}.cui .gauge.gauge--small[data-percentage="59"] .gauge__circle .fill.fix{-webkit-transform:rotate(212.4deg);transform:rotate(212.4deg)}.cui .gauge.gauge--small[data-percentage="60"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="60"] .gauge__circle .mask.full{-webkit-transform:rotate(108deg);transform:rotate(108deg)}.cui .gauge.gauge--small[data-percentage="60"] .gauge__circle .fill.fix{-webkit-transform:rotate(216deg);transform:rotate(216deg)}.cui .gauge.gauge--small[data-percentage="61"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="61"] .gauge__circle .mask.full{-webkit-transform:rotate(109.8deg);transform:rotate(109.8deg)}.cui .gauge.gauge--small[data-percentage="61"] .gauge__circle .fill.fix{-webkit-transform:rotate(219.6deg);transform:rotate(219.6deg)}.cui .gauge.gauge--small[data-percentage="62"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="62"] .gauge__circle .mask.full{-webkit-transform:rotate(111.6deg);transform:rotate(111.6deg)}.cui .gauge.gauge--small[data-percentage="62"] .gauge__circle .fill.fix{-webkit-transform:rotate(223.2deg);transform:rotate(223.2deg)}.cui .gauge.gauge--small[data-percentage="63"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="63"] .gauge__circle .mask.full{-webkit-transform:rotate(113.4deg);transform:rotate(113.4deg)}.cui .gauge.gauge--small[data-percentage="63"] .gauge__circle .fill.fix{-webkit-transform:rotate(226.8deg);transform:rotate(226.8deg)}.cui .gauge.gauge--small[data-percentage="64"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="64"] .gauge__circle .mask.full{-webkit-transform:rotate(115.2deg);transform:rotate(115.2deg)}.cui .gauge.gauge--small[data-percentage="64"] .gauge__circle .fill.fix{-webkit-transform:rotate(230.4deg);transform:rotate(230.4deg)}.cui .gauge.gauge--small[data-percentage="65"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="65"] .gauge__circle .mask.full{-webkit-transform:rotate(117deg);transform:rotate(117deg)}.cui .gauge.gauge--small[data-percentage="65"] .gauge__circle .fill.fix{-webkit-transform:rotate(234deg);transform:rotate(234deg)}.cui .gauge.gauge--small[data-percentage="66"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="66"] .gauge__circle .mask.full{-webkit-transform:rotate(118.8deg);transform:rotate(118.8deg)}.cui .gauge.gauge--small[data-percentage="66"] .gauge__circle .fill.fix{-webkit-transform:rotate(237.6deg);transform:rotate(237.6deg)}.cui .gauge.gauge--small[data-percentage="67"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="67"] .gauge__circle .mask.full{-webkit-transform:rotate(120.6deg);transform:rotate(120.6deg)}.cui .gauge.gauge--small[data-percentage="67"] .gauge__circle .fill.fix{-webkit-transform:rotate(241.2deg);transform:rotate(241.2deg)}.cui .gauge.gauge--small[data-percentage="68"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="68"] .gauge__circle .mask.full{-webkit-transform:rotate(122.4deg);transform:rotate(122.4deg)}.cui .gauge.gauge--small[data-percentage="68"] .gauge__circle .fill.fix{-webkit-transform:rotate(244.8deg);transform:rotate(244.8deg)}.cui .gauge.gauge--small[data-percentage="69"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="69"] .gauge__circle .mask.full{-webkit-transform:rotate(124.2deg);transform:rotate(124.2deg)}.cui .gauge.gauge--small[data-percentage="69"] .gauge__circle .fill.fix{-webkit-transform:rotate(248.4deg);transform:rotate(248.4deg)}.cui .gauge.gauge--small[data-percentage="70"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="70"] .gauge__circle .mask.full{-webkit-transform:rotate(126deg);transform:rotate(126deg)}.cui .gauge.gauge--small[data-percentage="70"] .gauge__circle .fill.fix{-webkit-transform:rotate(252deg);transform:rotate(252deg)}.cui .gauge.gauge--small[data-percentage="71"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="71"] .gauge__circle .mask.full{-webkit-transform:rotate(127.8deg);transform:rotate(127.8deg)}.cui .gauge.gauge--small[data-percentage="71"] .gauge__circle .fill.fix{-webkit-transform:rotate(255.6deg);transform:rotate(255.6deg)}.cui .gauge.gauge--small[data-percentage="72"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="72"] .gauge__circle .mask.full{-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.cui .gauge.gauge--small[data-percentage="72"] .gauge__circle .fill.fix{-webkit-transform:rotate(259.2deg);transform:rotate(259.2deg)}.cui .gauge.gauge--small[data-percentage="73"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="73"] .gauge__circle .mask.full{-webkit-transform:rotate(131.4deg);transform:rotate(131.4deg)}.cui .gauge.gauge--small[data-percentage="73"] .gauge__circle .fill.fix{-webkit-transform:rotate(262.8deg);transform:rotate(262.8deg)}.cui .gauge.gauge--small[data-percentage="74"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="74"] .gauge__circle .mask.full{-webkit-transform:rotate(133.2deg);transform:rotate(133.2deg)}.cui .gauge.gauge--small[data-percentage="74"] .gauge__circle .fill.fix{-webkit-transform:rotate(266.4deg);transform:rotate(266.4deg)}.cui .gauge.gauge--small[data-percentage="75"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="75"] .gauge__circle .mask.full{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.cui .gauge.gauge--small[data-percentage="75"] .gauge__circle .fill.fix{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.cui .gauge.gauge--small[data-percentage="76"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="76"] .gauge__circle .mask.full{-webkit-transform:rotate(136.8deg);transform:rotate(136.8deg)}.cui .gauge.gauge--small[data-percentage="76"] .gauge__circle .fill.fix{-webkit-transform:rotate(273.6deg);transform:rotate(273.6deg)}.cui .gauge.gauge--small[data-percentage="77"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="77"] .gauge__circle .mask.full{-webkit-transform:rotate(138.6deg);transform:rotate(138.6deg)}.cui .gauge.gauge--small[data-percentage="77"] .gauge__circle .fill.fix{-webkit-transform:rotate(277.2deg);transform:rotate(277.2deg)}.cui .gauge.gauge--small[data-percentage="78"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="78"] .gauge__circle .mask.full{-webkit-transform:rotate(140.4deg);transform:rotate(140.4deg)}.cui .gauge.gauge--small[data-percentage="78"] .gauge__circle .fill.fix{-webkit-transform:rotate(280.8deg);transform:rotate(280.8deg)}.cui .gauge.gauge--small[data-percentage="79"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="79"] .gauge__circle .mask.full{-webkit-transform:rotate(142.2deg);transform:rotate(142.2deg)}.cui .gauge.gauge--small[data-percentage="79"] .gauge__circle .fill.fix{-webkit-transform:rotate(284.4deg);transform:rotate(284.4deg)}.cui .gauge.gauge--small[data-percentage="80"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="80"] .gauge__circle .mask.full{-webkit-transform:rotate(144deg);transform:rotate(144deg)}.cui .gauge.gauge--small[data-percentage="80"] .gauge__circle .fill.fix{-webkit-transform:rotate(288deg);transform:rotate(288deg)}.cui .gauge.gauge--small[data-percentage="81"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="81"] .gauge__circle .mask.full{-webkit-transform:rotate(145.8deg);transform:rotate(145.8deg)}.cui .gauge.gauge--small[data-percentage="81"] .gauge__circle .fill.fix{-webkit-transform:rotate(291.6deg);transform:rotate(291.6deg)}.cui .gauge.gauge--small[data-percentage="82"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="82"] .gauge__circle .mask.full{-webkit-transform:rotate(147.6deg);transform:rotate(147.6deg)}.cui .gauge.gauge--small[data-percentage="82"] .gauge__circle .fill.fix{-webkit-transform:rotate(295.2deg);transform:rotate(295.2deg)}.cui .gauge.gauge--small[data-percentage="83"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="83"] .gauge__circle .mask.full{-webkit-transform:rotate(149.4deg);transform:rotate(149.4deg)}.cui .gauge.gauge--small[data-percentage="83"] .gauge__circle .fill.fix{-webkit-transform:rotate(298.8deg);transform:rotate(298.8deg)}.cui .gauge.gauge--small[data-percentage="84"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="84"] .gauge__circle .mask.full{-webkit-transform:rotate(151.2deg);transform:rotate(151.2deg)}.cui .gauge.gauge--small[data-percentage="84"] .gauge__circle .fill.fix{-webkit-transform:rotate(302.4deg);transform:rotate(302.4deg)}.cui .gauge.gauge--small[data-percentage="85"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="85"] .gauge__circle .mask.full{-webkit-transform:rotate(153deg);transform:rotate(153deg)}.cui .gauge.gauge--small[data-percentage="85"] .gauge__circle .fill.fix{-webkit-transform:rotate(306deg);transform:rotate(306deg)}.cui .gauge.gauge--small[data-percentage="86"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="86"] .gauge__circle .mask.full{-webkit-transform:rotate(154.8deg);transform:rotate(154.8deg)}.cui .gauge.gauge--small[data-percentage="86"] .gauge__circle .fill.fix{-webkit-transform:rotate(309.6deg);transform:rotate(309.6deg)}.cui .gauge.gauge--small[data-percentage="87"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="87"] .gauge__circle .mask.full{-webkit-transform:rotate(156.6deg);transform:rotate(156.6deg)}.cui .gauge.gauge--small[data-percentage="87"] .gauge__circle .fill.fix{-webkit-transform:rotate(313.2deg);transform:rotate(313.2deg)}.cui .gauge.gauge--small[data-percentage="88"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="88"] .gauge__circle .mask.full{-webkit-transform:rotate(158.4deg);transform:rotate(158.4deg)}.cui .gauge.gauge--small[data-percentage="88"] .gauge__circle .fill.fix{-webkit-transform:rotate(316.8deg);transform:rotate(316.8deg)}.cui .gauge.gauge--small[data-percentage="89"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="89"] .gauge__circle .mask.full{-webkit-transform:rotate(160.2deg);transform:rotate(160.2deg)}.cui .gauge.gauge--small[data-percentage="89"] .gauge__circle .fill.fix{-webkit-transform:rotate(320.4deg);transform:rotate(320.4deg)}.cui .gauge.gauge--small[data-percentage="90"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="90"] .gauge__circle .mask.full{-webkit-transform:rotate(162deg);transform:rotate(162deg)}.cui .gauge.gauge--small[data-percentage="90"] .gauge__circle .fill.fix{-webkit-transform:rotate(324deg);transform:rotate(324deg)}.cui .gauge.gauge--small[data-percentage="91"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="91"] .gauge__circle .mask.full{-webkit-transform:rotate(163.8deg);transform:rotate(163.8deg)}.cui .gauge.gauge--small[data-percentage="91"] .gauge__circle .fill.fix{-webkit-transform:rotate(327.6deg);transform:rotate(327.6deg)}.cui .gauge.gauge--small[data-percentage="92"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="92"] .gauge__circle .mask.full{-webkit-transform:rotate(165.6deg);transform:rotate(165.6deg)}.cui .gauge.gauge--small[data-percentage="92"] .gauge__circle .fill.fix{-webkit-transform:rotate(331.2deg);transform:rotate(331.2deg)}.cui .gauge.gauge--small[data-percentage="93"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="93"] .gauge__circle .mask.full{-webkit-transform:rotate(167.4deg);transform:rotate(167.4deg)}.cui .gauge.gauge--small[data-percentage="93"] .gauge__circle .fill.fix{-webkit-transform:rotate(334.8deg);transform:rotate(334.8deg)}.cui .gauge.gauge--small[data-percentage="94"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="94"] .gauge__circle .mask.full{-webkit-transform:rotate(169.2deg);transform:rotate(169.2deg)}.cui .gauge.gauge--small[data-percentage="94"] .gauge__circle .fill.fix{-webkit-transform:rotate(338.4deg);transform:rotate(338.4deg)}.cui .gauge.gauge--small[data-percentage="95"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="95"] .gauge__circle .mask.full{-webkit-transform:rotate(171deg);transform:rotate(171deg)}.cui .gauge.gauge--small[data-percentage="95"] .gauge__circle .fill.fix{-webkit-transform:rotate(342deg);transform:rotate(342deg)}.cui .gauge.gauge--small[data-percentage="96"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="96"] .gauge__circle .mask.full{-webkit-transform:rotate(172.8deg);transform:rotate(172.8deg)}.cui .gauge.gauge--small[data-percentage="96"] .gauge__circle .fill.fix{-webkit-transform:rotate(345.6deg);transform:rotate(345.6deg)}.cui .gauge.gauge--small[data-percentage="97"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="97"] .gauge__circle .mask.full{-webkit-transform:rotate(174.6deg);transform:rotate(174.6deg)}.cui .gauge.gauge--small[data-percentage="97"] .gauge__circle .fill.fix{-webkit-transform:rotate(349.2deg);transform:rotate(349.2deg)}.cui .gauge.gauge--small[data-percentage="98"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="98"] .gauge__circle .mask.full{-webkit-transform:rotate(176.4deg);transform:rotate(176.4deg)}.cui .gauge.gauge--small[data-percentage="98"] .gauge__circle .fill.fix{-webkit-transform:rotate(352.8deg);transform:rotate(352.8deg)}.cui .gauge.gauge--small[data-percentage="99"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="99"] .gauge__circle .mask.full{-webkit-transform:rotate(178.2deg);transform:rotate(178.2deg)}.cui .gauge.gauge--small[data-percentage="99"] .gauge__circle .fill.fix{-webkit-transform:rotate(356.4deg);transform:rotate(356.4deg)}.cui .gauge.gauge--small[data-percentage="100"] .gauge__circle .fill,.cui .gauge.gauge--small[data-percentage="100"] .gauge__circle .mask.full{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .gauge.gauge--small[data-percentage="100"] .gauge__circle .fill.fix{-webkit-transform:rotate(360deg);transform:rotate(360deg)}.cui .gauge.gauge--large{display:inline-block;position:relative;width:160px;height:160px;background-color:#dfdfdf;border-radius:50%}.cui .gauge.gauge--large .gauge__circle .fill,.cui .gauge.gauge--large .gauge__circle .mask,.cui .gauge.gauge--large .gauge__circle .shadow{width:160px;height:160px;position:absolute;border-radius:50%}.cui .gauge.gauge--large .gauge__circle .fill,.cui .gauge.gauge--large .gauge__circle .mask{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:transform 1s;transition:transform 1s,-webkit-transform 1s;border-radius:50%}.cui .gauge.gauge--large .gauge__circle .mask{clip:rect(0,160px,160px,80px)}.cui .gauge.gauge--large .gauge__circle .mask .fill{clip:rect(0,80px,160px,0)}.cui .gauge.gauge--large .gauge__inset{display:flex;align-items:center;justify-content:center;width:148px;height:148px;position:absolute;margin-left:6px;margin-top:6px;border-radius:50%;border:2px solid #fff;box-shadow:inset 0 0 0 2px #f5f5f6;background-color:#fff}.cui .hero,.cui .hero--blue,.cui .hero--vibblue{position:relative;box-shadow:none;border:1px solid transparent}.cui .gauge.gauge--large .gauge__inset .gauge__percentage{font-size:6rem;font-weight:100}.cui .gauge.gauge--large[data-percentage="1"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="1"] .gauge__circle .mask.full{-webkit-transform:rotate(1.8deg);transform:rotate(1.8deg)}.cui .gauge.gauge--large[data-percentage="1"] .gauge__circle .fill.fix,.cui .gauge.gauge--large[data-percentage="2"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="2"] .gauge__circle .mask.full{-webkit-transform:rotate(3.6deg);transform:rotate(3.6deg)}.cui .gauge.gauge--large[data-percentage="2"] .gauge__circle .fill.fix{-webkit-transform:rotate(7.2deg);transform:rotate(7.2deg)}.cui .gauge.gauge--large[data-percentage="3"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="3"] .gauge__circle .mask.full{-webkit-transform:rotate(5.4deg);transform:rotate(5.4deg)}.cui .gauge.gauge--large[data-percentage="3"] .gauge__circle .fill.fix{-webkit-transform:rotate(10.8deg);transform:rotate(10.8deg)}.cui .gauge.gauge--large[data-percentage="4"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="4"] .gauge__circle .mask.full{-webkit-transform:rotate(7.2deg);transform:rotate(7.2deg)}.cui .gauge.gauge--large[data-percentage="4"] .gauge__circle .fill.fix{-webkit-transform:rotate(14.4deg);transform:rotate(14.4deg)}.cui .gauge.gauge--large[data-percentage="5"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="5"] .gauge__circle .mask.full{-webkit-transform:rotate(9deg);transform:rotate(9deg)}.cui .gauge.gauge--large[data-percentage="5"] .gauge__circle .fill.fix{-webkit-transform:rotate(18deg);transform:rotate(18deg)}.cui .gauge.gauge--large[data-percentage="6"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="6"] .gauge__circle .mask.full{-webkit-transform:rotate(10.8deg);transform:rotate(10.8deg)}.cui .gauge.gauge--large[data-percentage="6"] .gauge__circle .fill.fix{-webkit-transform:rotate(21.6deg);transform:rotate(21.6deg)}.cui .gauge.gauge--large[data-percentage="7"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="7"] .gauge__circle .mask.full{-webkit-transform:rotate(12.6deg);transform:rotate(12.6deg)}.cui .gauge.gauge--large[data-percentage="7"] .gauge__circle .fill.fix{-webkit-transform:rotate(25.2deg);transform:rotate(25.2deg)}.cui .gauge.gauge--large[data-percentage="8"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="8"] .gauge__circle .mask.full{-webkit-transform:rotate(14.4deg);transform:rotate(14.4deg)}.cui .gauge.gauge--large[data-percentage="8"] .gauge__circle .fill.fix{-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.cui .gauge.gauge--large[data-percentage="9"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="9"] .gauge__circle .mask.full{-webkit-transform:rotate(16.2deg);transform:rotate(16.2deg)}.cui .gauge.gauge--large[data-percentage="9"] .gauge__circle .fill.fix{-webkit-transform:rotate(32.4deg);transform:rotate(32.4deg)}.cui .gauge.gauge--large[data-percentage="10"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="10"] .gauge__circle .mask.full{-webkit-transform:rotate(18deg);transform:rotate(18deg)}.cui .gauge.gauge--large[data-percentage="10"] .gauge__circle .fill.fix{-webkit-transform:rotate(36deg);transform:rotate(36deg)}.cui .gauge.gauge--large[data-percentage="11"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="11"] .gauge__circle .mask.full{-webkit-transform:rotate(19.8deg);transform:rotate(19.8deg)}.cui .gauge.gauge--large[data-percentage="11"] .gauge__circle .fill.fix{-webkit-transform:rotate(39.6deg);transform:rotate(39.6deg)}.cui .gauge.gauge--large[data-percentage="12"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="12"] .gauge__circle .mask.full{-webkit-transform:rotate(21.6deg);transform:rotate(21.6deg)}.cui .gauge.gauge--large[data-percentage="12"] .gauge__circle .fill.fix{-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.cui .gauge.gauge--large[data-percentage="13"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="13"] .gauge__circle .mask.full{-webkit-transform:rotate(23.4deg);transform:rotate(23.4deg)}.cui .gauge.gauge--large[data-percentage="13"] .gauge__circle .fill.fix{-webkit-transform:rotate(46.8deg);transform:rotate(46.8deg)}.cui .gauge.gauge--large[data-percentage="14"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="14"] .gauge__circle .mask.full{-webkit-transform:rotate(25.2deg);transform:rotate(25.2deg)}.cui .gauge.gauge--large[data-percentage="14"] .gauge__circle .fill.fix{-webkit-transform:rotate(50.4deg);transform:rotate(50.4deg)}.cui .gauge.gauge--large[data-percentage="15"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="15"] .gauge__circle .mask.full{-webkit-transform:rotate(27deg);transform:rotate(27deg)}.cui .gauge.gauge--large[data-percentage="15"] .gauge__circle .fill.fix{-webkit-transform:rotate(54deg);transform:rotate(54deg)}.cui .gauge.gauge--large[data-percentage="16"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="16"] .gauge__circle .mask.full{-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.cui .gauge.gauge--large[data-percentage="16"] .gauge__circle .fill.fix{-webkit-transform:rotate(57.6deg);transform:rotate(57.6deg)}.cui .gauge.gauge--large[data-percentage="17"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="17"] .gauge__circle .mask.full{-webkit-transform:rotate(30.6deg);transform:rotate(30.6deg)}.cui .gauge.gauge--large[data-percentage="17"] .gauge__circle .fill.fix{-webkit-transform:rotate(61.2deg);transform:rotate(61.2deg)}.cui .gauge.gauge--large[data-percentage="18"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="18"] .gauge__circle .mask.full{-webkit-transform:rotate(32.4deg);transform:rotate(32.4deg)}.cui .gauge.gauge--large[data-percentage="18"] .gauge__circle .fill.fix{-webkit-transform:rotate(64.8deg);transform:rotate(64.8deg)}.cui .gauge.gauge--large[data-percentage="19"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="19"] .gauge__circle .mask.full{-webkit-transform:rotate(34.2deg);transform:rotate(34.2deg)}.cui .gauge.gauge--large[data-percentage="19"] .gauge__circle .fill.fix{-webkit-transform:rotate(68.4deg);transform:rotate(68.4deg)}.cui .gauge.gauge--large[data-percentage="20"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="20"] .gauge__circle .mask.full{-webkit-transform:rotate(36deg);transform:rotate(36deg)}.cui .gauge.gauge--large[data-percentage="20"] .gauge__circle .fill.fix{-webkit-transform:rotate(72deg);transform:rotate(72deg)}.cui .gauge.gauge--large[data-percentage="21"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="21"] .gauge__circle .mask.full{-webkit-transform:rotate(37.8deg);transform:rotate(37.8deg)}.cui .gauge.gauge--large[data-percentage="21"] .gauge__circle .fill.fix{-webkit-transform:rotate(75.6deg);transform:rotate(75.6deg)}.cui .gauge.gauge--large[data-percentage="22"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="22"] .gauge__circle .mask.full{-webkit-transform:rotate(39.6deg);transform:rotate(39.6deg)}.cui .gauge.gauge--large[data-percentage="22"] .gauge__circle .fill.fix{-webkit-transform:rotate(79.2deg);transform:rotate(79.2deg)}.cui .gauge.gauge--large[data-percentage="23"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="23"] .gauge__circle .mask.full{-webkit-transform:rotate(41.4deg);transform:rotate(41.4deg)}.cui .gauge.gauge--large[data-percentage="23"] .gauge__circle .fill.fix{-webkit-transform:rotate(82.8deg);transform:rotate(82.8deg)}.cui .gauge.gauge--large[data-percentage="24"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="24"] .gauge__circle .mask.full{-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.cui .gauge.gauge--large[data-percentage="24"] .gauge__circle .fill.fix{-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.cui .gauge.gauge--large[data-percentage="25"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="25"] .gauge__circle .mask.full{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.cui .gauge.gauge--large[data-percentage="25"] .gauge__circle .fill.fix{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .gauge.gauge--large[data-percentage="26"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="26"] .gauge__circle .mask.full{-webkit-transform:rotate(46.8deg);transform:rotate(46.8deg)}.cui .gauge.gauge--large[data-percentage="26"] .gauge__circle .fill.fix{-webkit-transform:rotate(93.6deg);transform:rotate(93.6deg)}.cui .gauge.gauge--large[data-percentage="27"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="27"] .gauge__circle .mask.full{-webkit-transform:rotate(48.6deg);transform:rotate(48.6deg)}.cui .gauge.gauge--large[data-percentage="27"] .gauge__circle .fill.fix{-webkit-transform:rotate(97.2deg);transform:rotate(97.2deg)}.cui .gauge.gauge--large[data-percentage="28"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="28"] .gauge__circle .mask.full{-webkit-transform:rotate(50.4deg);transform:rotate(50.4deg)}.cui .gauge.gauge--large[data-percentage="28"] .gauge__circle .fill.fix{-webkit-transform:rotate(100.8deg);transform:rotate(100.8deg)}.cui .gauge.gauge--large[data-percentage="29"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="29"] .gauge__circle .mask.full{-webkit-transform:rotate(52.2deg);transform:rotate(52.2deg)}.cui .gauge.gauge--large[data-percentage="29"] .gauge__circle .fill.fix{-webkit-transform:rotate(104.4deg);transform:rotate(104.4deg)}.cui .gauge.gauge--large[data-percentage="30"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="30"] .gauge__circle .mask.full{-webkit-transform:rotate(54deg);transform:rotate(54deg)}.cui .gauge.gauge--large[data-percentage="30"] .gauge__circle .fill.fix{-webkit-transform:rotate(108deg);transform:rotate(108deg)}.cui .gauge.gauge--large[data-percentage="31"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="31"] .gauge__circle .mask.full{-webkit-transform:rotate(55.8deg);transform:rotate(55.8deg)}.cui .gauge.gauge--large[data-percentage="31"] .gauge__circle .fill.fix{-webkit-transform:rotate(111.6deg);transform:rotate(111.6deg)}.cui .gauge.gauge--large[data-percentage="32"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="32"] .gauge__circle .mask.full{-webkit-transform:rotate(57.6deg);transform:rotate(57.6deg)}.cui .gauge.gauge--large[data-percentage="32"] .gauge__circle .fill.fix{-webkit-transform:rotate(115.2deg);transform:rotate(115.2deg)}.cui .gauge.gauge--large[data-percentage="33"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="33"] .gauge__circle .mask.full{-webkit-transform:rotate(59.4deg);transform:rotate(59.4deg)}.cui .gauge.gauge--large[data-percentage="33"] .gauge__circle .fill.fix{-webkit-transform:rotate(118.8deg);transform:rotate(118.8deg)}.cui .gauge.gauge--large[data-percentage="34"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="34"] .gauge__circle .mask.full{-webkit-transform:rotate(61.2deg);transform:rotate(61.2deg)}.cui .gauge.gauge--large[data-percentage="34"] .gauge__circle .fill.fix{-webkit-transform:rotate(122.4deg);transform:rotate(122.4deg)}.cui .gauge.gauge--large[data-percentage="35"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="35"] .gauge__circle .mask.full{-webkit-transform:rotate(63deg);transform:rotate(63deg)}.cui .gauge.gauge--large[data-percentage="35"] .gauge__circle .fill.fix{-webkit-transform:rotate(126deg);transform:rotate(126deg)}.cui .gauge.gauge--large[data-percentage="36"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="36"] .gauge__circle .mask.full{-webkit-transform:rotate(64.8deg);transform:rotate(64.8deg)}.cui .gauge.gauge--large[data-percentage="36"] .gauge__circle .fill.fix{-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.cui .gauge.gauge--large[data-percentage="37"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="37"] .gauge__circle .mask.full{-webkit-transform:rotate(66.6deg);transform:rotate(66.6deg)}.cui .gauge.gauge--large[data-percentage="37"] .gauge__circle .fill.fix{-webkit-transform:rotate(133.2deg);transform:rotate(133.2deg)}.cui .gauge.gauge--large[data-percentage="38"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="38"] .gauge__circle .mask.full{-webkit-transform:rotate(68.4deg);transform:rotate(68.4deg)}.cui .gauge.gauge--large[data-percentage="38"] .gauge__circle .fill.fix{-webkit-transform:rotate(136.8deg);transform:rotate(136.8deg)}.cui .gauge.gauge--large[data-percentage="39"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="39"] .gauge__circle .mask.full{-webkit-transform:rotate(70.2deg);transform:rotate(70.2deg)}.cui .gauge.gauge--large[data-percentage="39"] .gauge__circle .fill.fix{-webkit-transform:rotate(140.4deg);transform:rotate(140.4deg)}.cui .gauge.gauge--large[data-percentage="40"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="40"] .gauge__circle .mask.full{-webkit-transform:rotate(72deg);transform:rotate(72deg)}.cui .gauge.gauge--large[data-percentage="40"] .gauge__circle .fill.fix{-webkit-transform:rotate(144deg);transform:rotate(144deg)}.cui .gauge.gauge--large[data-percentage="41"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="41"] .gauge__circle .mask.full{-webkit-transform:rotate(73.8deg);transform:rotate(73.8deg)}.cui .gauge.gauge--large[data-percentage="41"] .gauge__circle .fill.fix{-webkit-transform:rotate(147.6deg);transform:rotate(147.6deg)}.cui .gauge.gauge--large[data-percentage="42"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="42"] .gauge__circle .mask.full{-webkit-transform:rotate(75.6deg);transform:rotate(75.6deg)}.cui .gauge.gauge--large[data-percentage="42"] .gauge__circle .fill.fix{-webkit-transform:rotate(151.2deg);transform:rotate(151.2deg)}.cui .gauge.gauge--large[data-percentage="43"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="43"] .gauge__circle .mask.full{-webkit-transform:rotate(77.4deg);transform:rotate(77.4deg)}.cui .gauge.gauge--large[data-percentage="43"] .gauge__circle .fill.fix{-webkit-transform:rotate(154.8deg);transform:rotate(154.8deg)}.cui .gauge.gauge--large[data-percentage="44"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="44"] .gauge__circle .mask.full{-webkit-transform:rotate(79.2deg);transform:rotate(79.2deg)}.cui .gauge.gauge--large[data-percentage="44"] .gauge__circle .fill.fix{-webkit-transform:rotate(158.4deg);transform:rotate(158.4deg)}.cui .gauge.gauge--large[data-percentage="45"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="45"] .gauge__circle .mask.full{-webkit-transform:rotate(81deg);transform:rotate(81deg)}.cui .gauge.gauge--large[data-percentage="45"] .gauge__circle .fill.fix{-webkit-transform:rotate(162deg);transform:rotate(162deg)}.cui .gauge.gauge--large[data-percentage="46"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="46"] .gauge__circle .mask.full{-webkit-transform:rotate(82.8deg);transform:rotate(82.8deg)}.cui .gauge.gauge--large[data-percentage="46"] .gauge__circle .fill.fix{-webkit-transform:rotate(165.6deg);transform:rotate(165.6deg)}.cui .gauge.gauge--large[data-percentage="47"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="47"] .gauge__circle .mask.full{-webkit-transform:rotate(84.6deg);transform:rotate(84.6deg)}.cui .gauge.gauge--large[data-percentage="47"] .gauge__circle .fill.fix{-webkit-transform:rotate(169.2deg);transform:rotate(169.2deg)}.cui .gauge.gauge--large[data-percentage="48"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="48"] .gauge__circle .mask.full{-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.cui .gauge.gauge--large[data-percentage="48"] .gauge__circle .fill.fix{-webkit-transform:rotate(172.8deg);transform:rotate(172.8deg)}.cui .gauge.gauge--large[data-percentage="49"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="49"] .gauge__circle .mask.full{-webkit-transform:rotate(88.2deg);transform:rotate(88.2deg)}.cui .gauge.gauge--large[data-percentage="49"] .gauge__circle .fill.fix{-webkit-transform:rotate(176.4deg);transform:rotate(176.4deg)}.cui .gauge.gauge--large[data-percentage="50"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="50"] .gauge__circle .mask.full{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .gauge.gauge--large[data-percentage="50"] .gauge__circle .fill.fix{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .gauge.gauge--large[data-percentage="51"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="51"] .gauge__circle .mask.full{-webkit-transform:rotate(91.8deg);transform:rotate(91.8deg)}.cui .gauge.gauge--large[data-percentage="51"] .gauge__circle .fill.fix{-webkit-transform:rotate(183.6deg);transform:rotate(183.6deg)}.cui .gauge.gauge--large[data-percentage="52"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="52"] .gauge__circle .mask.full{-webkit-transform:rotate(93.6deg);transform:rotate(93.6deg)}.cui .gauge.gauge--large[data-percentage="52"] .gauge__circle .fill.fix{-webkit-transform:rotate(187.2deg);transform:rotate(187.2deg)}.cui .gauge.gauge--large[data-percentage="53"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="53"] .gauge__circle .mask.full{-webkit-transform:rotate(95.4deg);transform:rotate(95.4deg)}.cui .gauge.gauge--large[data-percentage="53"] .gauge__circle .fill.fix{-webkit-transform:rotate(190.8deg);transform:rotate(190.8deg)}.cui .gauge.gauge--large[data-percentage="54"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="54"] .gauge__circle .mask.full{-webkit-transform:rotate(97.2deg);transform:rotate(97.2deg)}.cui .gauge.gauge--large[data-percentage="54"] .gauge__circle .fill.fix{-webkit-transform:rotate(194.4deg);transform:rotate(194.4deg)}.cui .gauge.gauge--large[data-percentage="55"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="55"] .gauge__circle .mask.full{-webkit-transform:rotate(99deg);transform:rotate(99deg)}.cui .gauge.gauge--large[data-percentage="55"] .gauge__circle .fill.fix{-webkit-transform:rotate(198deg);transform:rotate(198deg)}.cui .gauge.gauge--large[data-percentage="56"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="56"] .gauge__circle .mask.full{-webkit-transform:rotate(100.8deg);transform:rotate(100.8deg)}.cui .gauge.gauge--large[data-percentage="56"] .gauge__circle .fill.fix{-webkit-transform:rotate(201.6deg);transform:rotate(201.6deg)}.cui .gauge.gauge--large[data-percentage="57"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="57"] .gauge__circle .mask.full{-webkit-transform:rotate(102.6deg);transform:rotate(102.6deg)}.cui .gauge.gauge--large[data-percentage="57"] .gauge__circle .fill.fix{-webkit-transform:rotate(205.2deg);transform:rotate(205.2deg)}.cui .gauge.gauge--large[data-percentage="58"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="58"] .gauge__circle .mask.full{-webkit-transform:rotate(104.4deg);transform:rotate(104.4deg)}.cui .gauge.gauge--large[data-percentage="58"] .gauge__circle .fill.fix{-webkit-transform:rotate(208.8deg);transform:rotate(208.8deg)}.cui .gauge.gauge--large[data-percentage="59"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="59"] .gauge__circle .mask.full{-webkit-transform:rotate(106.2deg);transform:rotate(106.2deg)}.cui .gauge.gauge--large[data-percentage="59"] .gauge__circle .fill.fix{-webkit-transform:rotate(212.4deg);transform:rotate(212.4deg)}.cui .gauge.gauge--large[data-percentage="60"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="60"] .gauge__circle .mask.full{-webkit-transform:rotate(108deg);transform:rotate(108deg)}.cui .gauge.gauge--large[data-percentage="60"] .gauge__circle .fill.fix{-webkit-transform:rotate(216deg);transform:rotate(216deg)}.cui .gauge.gauge--large[data-percentage="61"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="61"] .gauge__circle .mask.full{-webkit-transform:rotate(109.8deg);transform:rotate(109.8deg)}.cui .gauge.gauge--large[data-percentage="61"] .gauge__circle .fill.fix{-webkit-transform:rotate(219.6deg);transform:rotate(219.6deg)}.cui .gauge.gauge--large[data-percentage="62"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="62"] .gauge__circle .mask.full{-webkit-transform:rotate(111.6deg);transform:rotate(111.6deg)}.cui .gauge.gauge--large[data-percentage="62"] .gauge__circle .fill.fix{-webkit-transform:rotate(223.2deg);transform:rotate(223.2deg)}.cui .gauge.gauge--large[data-percentage="63"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="63"] .gauge__circle .mask.full{-webkit-transform:rotate(113.4deg);transform:rotate(113.4deg)}.cui .gauge.gauge--large[data-percentage="63"] .gauge__circle .fill.fix{-webkit-transform:rotate(226.8deg);transform:rotate(226.8deg)}.cui .gauge.gauge--large[data-percentage="64"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="64"] .gauge__circle .mask.full{-webkit-transform:rotate(115.2deg);transform:rotate(115.2deg)}.cui .gauge.gauge--large[data-percentage="64"] .gauge__circle .fill.fix{-webkit-transform:rotate(230.4deg);transform:rotate(230.4deg)}.cui .gauge.gauge--large[data-percentage="65"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="65"] .gauge__circle .mask.full{-webkit-transform:rotate(117deg);transform:rotate(117deg)}.cui .gauge.gauge--large[data-percentage="65"] .gauge__circle .fill.fix{-webkit-transform:rotate(234deg);transform:rotate(234deg)}.cui .gauge.gauge--large[data-percentage="66"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="66"] .gauge__circle .mask.full{-webkit-transform:rotate(118.8deg);transform:rotate(118.8deg)}.cui .gauge.gauge--large[data-percentage="66"] .gauge__circle .fill.fix{-webkit-transform:rotate(237.6deg);transform:rotate(237.6deg)}.cui .gauge.gauge--large[data-percentage="67"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="67"] .gauge__circle .mask.full{-webkit-transform:rotate(120.6deg);transform:rotate(120.6deg)}.cui .gauge.gauge--large[data-percentage="67"] .gauge__circle .fill.fix{-webkit-transform:rotate(241.2deg);transform:rotate(241.2deg)}.cui .gauge.gauge--large[data-percentage="68"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="68"] .gauge__circle .mask.full{-webkit-transform:rotate(122.4deg);transform:rotate(122.4deg)}.cui .gauge.gauge--large[data-percentage="68"] .gauge__circle .fill.fix{-webkit-transform:rotate(244.8deg);transform:rotate(244.8deg)}.cui .gauge.gauge--large[data-percentage="69"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="69"] .gauge__circle .mask.full{-webkit-transform:rotate(124.2deg);transform:rotate(124.2deg)}.cui .gauge.gauge--large[data-percentage="69"] .gauge__circle .fill.fix{-webkit-transform:rotate(248.4deg);transform:rotate(248.4deg)}.cui .gauge.gauge--large[data-percentage="70"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="70"] .gauge__circle .mask.full{-webkit-transform:rotate(126deg);transform:rotate(126deg)}.cui .gauge.gauge--large[data-percentage="70"] .gauge__circle .fill.fix{-webkit-transform:rotate(252deg);transform:rotate(252deg)}.cui .gauge.gauge--large[data-percentage="71"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="71"] .gauge__circle .mask.full{-webkit-transform:rotate(127.8deg);transform:rotate(127.8deg)}.cui .gauge.gauge--large[data-percentage="71"] .gauge__circle .fill.fix{-webkit-transform:rotate(255.6deg);transform:rotate(255.6deg)}.cui .gauge.gauge--large[data-percentage="72"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="72"] .gauge__circle .mask.full{-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.cui .gauge.gauge--large[data-percentage="72"] .gauge__circle .fill.fix{-webkit-transform:rotate(259.2deg);transform:rotate(259.2deg)}.cui .gauge.gauge--large[data-percentage="73"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="73"] .gauge__circle .mask.full{-webkit-transform:rotate(131.4deg);transform:rotate(131.4deg)}.cui .gauge.gauge--large[data-percentage="73"] .gauge__circle .fill.fix{-webkit-transform:rotate(262.8deg);transform:rotate(262.8deg)}.cui .gauge.gauge--large[data-percentage="74"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="74"] .gauge__circle .mask.full{-webkit-transform:rotate(133.2deg);transform:rotate(133.2deg)}.cui .gauge.gauge--large[data-percentage="74"] .gauge__circle .fill.fix{-webkit-transform:rotate(266.4deg);transform:rotate(266.4deg)}.cui .gauge.gauge--large[data-percentage="75"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="75"] .gauge__circle .mask.full{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.cui .gauge.gauge--large[data-percentage="75"] .gauge__circle .fill.fix{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.cui .gauge.gauge--large[data-percentage="76"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="76"] .gauge__circle .mask.full{-webkit-transform:rotate(136.8deg);transform:rotate(136.8deg)}.cui .gauge.gauge--large[data-percentage="76"] .gauge__circle .fill.fix{-webkit-transform:rotate(273.6deg);transform:rotate(273.6deg)}.cui .gauge.gauge--large[data-percentage="77"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="77"] .gauge__circle .mask.full{-webkit-transform:rotate(138.6deg);transform:rotate(138.6deg)}.cui .gauge.gauge--large[data-percentage="77"] .gauge__circle .fill.fix{-webkit-transform:rotate(277.2deg);transform:rotate(277.2deg)}.cui .gauge.gauge--large[data-percentage="78"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="78"] .gauge__circle .mask.full{-webkit-transform:rotate(140.4deg);transform:rotate(140.4deg)}.cui .gauge.gauge--large[data-percentage="78"] .gauge__circle .fill.fix{-webkit-transform:rotate(280.8deg);transform:rotate(280.8deg)}.cui .gauge.gauge--large[data-percentage="79"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="79"] .gauge__circle .mask.full{-webkit-transform:rotate(142.2deg);transform:rotate(142.2deg)}.cui .gauge.gauge--large[data-percentage="79"] .gauge__circle .fill.fix{-webkit-transform:rotate(284.4deg);transform:rotate(284.4deg)}.cui .gauge.gauge--large[data-percentage="80"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="80"] .gauge__circle .mask.full{-webkit-transform:rotate(144deg);transform:rotate(144deg)}.cui .gauge.gauge--large[data-percentage="80"] .gauge__circle .fill.fix{-webkit-transform:rotate(288deg);transform:rotate(288deg)}.cui .gauge.gauge--large[data-percentage="81"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="81"] .gauge__circle .mask.full{-webkit-transform:rotate(145.8deg);transform:rotate(145.8deg)}.cui .gauge.gauge--large[data-percentage="81"] .gauge__circle .fill.fix{-webkit-transform:rotate(291.6deg);transform:rotate(291.6deg)}.cui .gauge.gauge--large[data-percentage="82"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="82"] .gauge__circle .mask.full{-webkit-transform:rotate(147.6deg);transform:rotate(147.6deg)}.cui .gauge.gauge--large[data-percentage="82"] .gauge__circle .fill.fix{-webkit-transform:rotate(295.2deg);transform:rotate(295.2deg)}.cui .gauge.gauge--large[data-percentage="83"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="83"] .gauge__circle .mask.full{-webkit-transform:rotate(149.4deg);transform:rotate(149.4deg)}.cui .gauge.gauge--large[data-percentage="83"] .gauge__circle .fill.fix{-webkit-transform:rotate(298.8deg);transform:rotate(298.8deg)}.cui .gauge.gauge--large[data-percentage="84"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="84"] .gauge__circle .mask.full{-webkit-transform:rotate(151.2deg);transform:rotate(151.2deg)}.cui .gauge.gauge--large[data-percentage="84"] .gauge__circle .fill.fix{-webkit-transform:rotate(302.4deg);transform:rotate(302.4deg)}.cui .gauge.gauge--large[data-percentage="85"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="85"] .gauge__circle .mask.full{-webkit-transform:rotate(153deg);transform:rotate(153deg)}.cui .gauge.gauge--large[data-percentage="85"] .gauge__circle .fill.fix{-webkit-transform:rotate(306deg);transform:rotate(306deg)}.cui .gauge.gauge--large[data-percentage="86"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="86"] .gauge__circle .mask.full{-webkit-transform:rotate(154.8deg);transform:rotate(154.8deg)}.cui .gauge.gauge--large[data-percentage="86"] .gauge__circle .fill.fix{-webkit-transform:rotate(309.6deg);transform:rotate(309.6deg)}.cui .gauge.gauge--large[data-percentage="87"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="87"] .gauge__circle .mask.full{-webkit-transform:rotate(156.6deg);transform:rotate(156.6deg)}.cui .gauge.gauge--large[data-percentage="87"] .gauge__circle .fill.fix{-webkit-transform:rotate(313.2deg);transform:rotate(313.2deg)}.cui .gauge.gauge--large[data-percentage="88"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="88"] .gauge__circle .mask.full{-webkit-transform:rotate(158.4deg);transform:rotate(158.4deg)}.cui .gauge.gauge--large[data-percentage="88"] .gauge__circle .fill.fix{-webkit-transform:rotate(316.8deg);transform:rotate(316.8deg)}.cui .gauge.gauge--large[data-percentage="89"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="89"] .gauge__circle .mask.full{-webkit-transform:rotate(160.2deg);transform:rotate(160.2deg)}.cui .gauge.gauge--large[data-percentage="89"] .gauge__circle .fill.fix{-webkit-transform:rotate(320.4deg);transform:rotate(320.4deg)}.cui .gauge.gauge--large[data-percentage="90"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="90"] .gauge__circle .mask.full{-webkit-transform:rotate(162deg);transform:rotate(162deg)}.cui .gauge.gauge--large[data-percentage="90"] .gauge__circle .fill.fix{-webkit-transform:rotate(324deg);transform:rotate(324deg)}.cui .gauge.gauge--large[data-percentage="91"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="91"] .gauge__circle .mask.full{-webkit-transform:rotate(163.8deg);transform:rotate(163.8deg)}.cui .gauge.gauge--large[data-percentage="91"] .gauge__circle .fill.fix{-webkit-transform:rotate(327.6deg);transform:rotate(327.6deg)}.cui .gauge.gauge--large[data-percentage="92"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="92"] .gauge__circle .mask.full{-webkit-transform:rotate(165.6deg);transform:rotate(165.6deg)}.cui .gauge.gauge--large[data-percentage="92"] .gauge__circle .fill.fix{-webkit-transform:rotate(331.2deg);transform:rotate(331.2deg)}.cui .gauge.gauge--large[data-percentage="93"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="93"] .gauge__circle .mask.full{-webkit-transform:rotate(167.4deg);transform:rotate(167.4deg)}.cui .gauge.gauge--large[data-percentage="93"] .gauge__circle .fill.fix{-webkit-transform:rotate(334.8deg);transform:rotate(334.8deg)}.cui .gauge.gauge--large[data-percentage="94"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="94"] .gauge__circle .mask.full{-webkit-transform:rotate(169.2deg);transform:rotate(169.2deg)}.cui .gauge.gauge--large[data-percentage="94"] .gauge__circle .fill.fix{-webkit-transform:rotate(338.4deg);transform:rotate(338.4deg)}.cui .gauge.gauge--large[data-percentage="95"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="95"] .gauge__circle .mask.full{-webkit-transform:rotate(171deg);transform:rotate(171deg)}.cui .gauge.gauge--large[data-percentage="95"] .gauge__circle .fill.fix{-webkit-transform:rotate(342deg);transform:rotate(342deg)}.cui .gauge.gauge--large[data-percentage="96"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="96"] .gauge__circle .mask.full{-webkit-transform:rotate(172.8deg);transform:rotate(172.8deg)}.cui .gauge.gauge--large[data-percentage="96"] .gauge__circle .fill.fix{-webkit-transform:rotate(345.6deg);transform:rotate(345.6deg)}.cui .gauge.gauge--large[data-percentage="97"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="97"] .gauge__circle .mask.full{-webkit-transform:rotate(174.6deg);transform:rotate(174.6deg)}.cui .gauge.gauge--large[data-percentage="97"] .gauge__circle .fill.fix{-webkit-transform:rotate(349.2deg);transform:rotate(349.2deg)}.cui .gauge.gauge--large[data-percentage="98"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="98"] .gauge__circle .mask.full{-webkit-transform:rotate(176.4deg);transform:rotate(176.4deg)}.cui .gauge.gauge--large[data-percentage="98"] .gauge__circle .fill.fix{-webkit-transform:rotate(352.8deg);transform:rotate(352.8deg)}.cui .gauge.gauge--large[data-percentage="99"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="99"] .gauge__circle .mask.full{-webkit-transform:rotate(178.2deg);transform:rotate(178.2deg)}.cui .gauge.gauge--large[data-percentage="99"] .gauge__circle .fill.fix{-webkit-transform:rotate(356.4deg);transform:rotate(356.4deg)}.cui .gauge.gauge--large[data-percentage="100"] .gauge__circle .fill,.cui .gauge.gauge--large[data-percentage="100"] .gauge__circle .mask.full{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cui .gauge.gauge--large[data-percentage="100"] .gauge__circle .fill.fix{-webkit-transform:rotate(360deg);transform:rotate(360deg)}.cui .gauge-container{display:inline-flex;flex-direction:column;align-items:center;margin:unset}.cui .gauge-container.disabled{opacity:.75}.cui .gauge-container .gauge__label{font-weight:500;margin-top:10px}.cui .hero{overflow:hidden;background:#fff;padding:10px}.cui .hero__title{font-size:2.8rem}@media (min-width:768px){.cui .hero__title{font-size:3.2rem}}@media (min-width:992px){.cui .hero__title{font-size:3.8rem}}@media (min-width:1200px){.cui .hero__title{font-size:4.4rem}}.cui .hero--blue{color:#404040;background:#00bceb}.cui .hero--blue a,.cui .hero--blue a:hover{color:#005073}.cui .hero--blue a:not(.btn){text-decoration:underline dotted}.cui .hero--blue a:not(.btn):active,.cui .hero--blue a:not(.btn):focus,.cui .hero--blue a:not(.btn):hover{text-decoration:underline}.cui .hero--vibblue{color:#fff;background:#017CAD}.cui .hero--vibblue a,.cui .hero--vibblue a:hover{color:#fff}.cui .hero--ltgray,.cui .hero--mdgray{color:#58585b;border:1px solid transparent;box-shadow:none;position:relative}.cui .hero--vibblue a:not(.btn){text-decoration:underline dotted}.cui .hero--vibblue a:not(.btn):active,.cui .hero--vibblue a:not(.btn):focus,.cui .hero--vibblue a:not(.btn):hover{text-decoration:underline}.cui .hero--ltgray{background:#f2f2f2}.cui .hero--mdgray{background:#dfdfdf}.cui .hero--dkgray a,.cui .hero--dkgray a:hover,.cui .hero--indigo,.cui .hero--indigo a,.cui .hero--indigo a:hover{color:#fff}.cui .hero--dkgray{color:#fff;position:relative;background:#58585b;box-shadow:none;border:1px solid transparent}.cui .hero--dkgray a:not(.btn){text-decoration:underline dotted}.cui .hero--dkgray a:not(.btn):active,.cui .hero--dkgray a:not(.btn):focus,.cui .hero--dkgray a:not(.btn):hover{text-decoration:underline}.cui .hero--indigo{position:relative;background:#005073;box-shadow:none;border:1px solid transparent}.cui .hero--indigo a:not(.btn){text-decoration:underline dotted}.cui .hero--indigo a:not(.btn):active,.cui .hero--indigo a:not(.btn):focus,.cui .hero--indigo a:not(.btn):hover{text-decoration:underline}.cui .hero--gray-ghost{color:#58585b;position:relative;background:0 0;box-shadow:none;border:1px solid #f2f2f2}.cui .hero--info{color:#58585b;position:relative;background:#64bbe3;box-shadow:none;border:1px solid transparent}.cui .hero--green,.cui .hero--success{background:#6ebe4a;box-shadow:none;border:1px solid transparent;position:relative}.cui .hero--info a{color:#fff}.cui .hero--green{color:#404040}.cui .hero--green a,.cui .hero--green a:hover{color:#005073}.cui .hero--green a:not(.btn){text-decoration:underline dotted}.cui .hero--green a:not(.btn):active,.cui .hero--green a:not(.btn):focus,.cui .hero--green a:not(.btn):hover{text-decoration:underline}.cui .hero--success{color:#404040}.cui .hero--success a,.cui .hero--success a:hover{color:#005073}.cui .hero--danger,.cui .hero--danger a,.cui .hero--danger a:hover,.cui .hero--warning a{color:#fff}.cui .hero--success a:not(.btn){text-decoration:underline dotted}.cui .hero--success a:not(.btn):active,.cui .hero--success a:not(.btn):focus,.cui .hero--success a:not(.btn):hover{text-decoration:underline}.cui .hero--warning{color:#fff;position:relative;background:#fbab18;box-shadow:none;border:1px solid transparent}.cui .hero--warning a:not(.btn){text-decoration:underline dotted}.cui .hero--warning a:not(.btn):active,.cui .hero--warning a:not(.btn):focus,.cui .hero--warning a:not(.btn):hover{text-decoration:underline}.cui .hero--danger{position:relative;background:#e2231a;box-shadow:none;border:1px solid transparent}.cui .hero--danger a:not(.btn){text-decoration:underline dotted}.cui .hero--danger a:not(.btn):active,.cui .hero--danger a:not(.btn):focus,.cui .hero--danger a:not(.btn):hover{text-decoration:underline}.cui .hero--compressed .hero__content,.cui .hero--skinny .hero__content{padding:10px 0 5px}.cui .hero--regular .hero__content{padding:40px 0 30px}.cui .hero--loose .hero__content{padding:60px 0 100px}.cui .hero--bordered{border:1px solid #dfdfdf}.cui .hero__content{position:relative;padding:40px 0 30px;max-width:100%}.cui .hero__toolbar{position:relative;margin-bottom:20px}.cui .hero__toolbar:after{display:table!important}@media (min-width:992px){.cui .hero__toolbar{margin-bottom:40px}}.cui .hero__toolbar .button{margin-right:10px}.cui .hero__toolbar .button:last-child{margin-right:0}.cui .hero__content,.cui .hero__toolbar{z-index:1}.cui .hero--split{display:flex;background:0 0}.cui .hero--split .hero__content,.cui .hero--split .hero__marquee{width:50%;flex:1 1 auto;display:flex;align-items:center;justify-content:center}.cui .hero--split:after{background:0 0}.cui .hero--split-25 .hero__content{width:25%}.cui .hero--split-25 .hero__marquee{width:75%}.cui .hero--split-33 .hero__content{width:33%}.cui .hero--split-33 .hero__marquee{width:66%}.cui .hero--split-50 .hero__content,.cui .hero--split-50 .hero__marquee{width:50%}.cui .hero--split-66 .hero__content{width:66%}.cui .hero--split-66 .hero__marquee{width:33%}.cui .hero--split-75 .hero__content{width:75%}.cui .hero--split-75 .hero__marquee{width:25%}@media (max-width:767.98px){.cui .hero{flex-wrap:wrap}.cui .hero .hero__content,.cui .hero .hero__marquee{width:100%}}.cui .loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column;text-align:center}.cui .loader--app-loading{background-color:#fff;background:radial-gradient(ellipse at center,#fff 15%,#dfdfdf 75%);z-index:10000}.cui .loader--app-loading span.icon-cisco{padding:10px;color:#c6c7ca;font-size:4.8rem;line-height:1}.cui .loader--page-loading{background:rgba(0,0,0,.5);color:#fff;z-index:1060}.cui .loading-spinner .wrapper .wheel{position:relative;visibility:visible;width:64px;height:64px;border-radius:100%;border:2px solid #dfdfdf;border-left-color:#00bceb;-webkit-animation:load 1.1s infinite linear;animation:load 1.1s infinite linear}.cui .loading-spinner--indigo .wrapper .wheel{border-left-color:#005073}.cui .loading-dots{padding:10px;text-align:center}.cui .loading-dots.loading-dots--muted>span{background:#c6c7ca}.cui .loading-dots.loading-dots--info>span{background:#00bceb}.cui .loading-dots.loading-dots--success>span{background:#6ebe4a}.cui .loading-dots>span{display:inline-block;width:12px;height:12px;margin:0 2px;background:#fff;border-radius:50%;-webkit-animation:pulse 1.4s infinite both ease-in-out;animation:pulse 1.4s infinite both ease-in-out}.cui .loading-dots>span:nth-child(1){-webkit-animation-delay:-.32s;animation-delay:-.32s}.cui .loading-dots>span:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.cui .modal-dialog .loader--page-loading{top:20px;right:10px;bottom:20px;left:10px}@media (min-width:768px){.cui .modal-dialog .loader--page-loading{top:30px;right:20px;bottom:30px;left:20px}}.cui .modal-backdrop{position:fixed;overflow:hidden;top:0;width:100%;height:100%;background-color:#c4c7cc;opacity:.65;pointer-events:none;transition:opacity .3s ease;z-index:1040}.cui .modal{position:fixed;top:0;right:0;bottom:0;left:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1050;pointer-events:auto}.cui .modal.show .modal-dialog,.cui .modal.show .modal__dialog{opacity:1}.cui .modal.fade .modal-dialog,.cui .modal.fade .modal__dialog{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.cui .modal .modal-dialog,.cui .modal .modal__dialog{width:100%;max-width:767px;margin:auto;padding:20px}@media (max-width:767.98px){.cui .modal .modal-dialog,.cui .modal .modal__dialog{padding:0}}.cui .modal .modal-content,.cui .modal .modal__content{position:relative;display:block;text-align:center;padding:60px 40px;background-color:#fff;color:#58585b;border-radius:2px;border:0;box-shadow:0 10px 24px -6px rgba(0,0,0,.25)}.cui .modal .modal-content .modal__close,.cui .modal .modal__content .modal__close{font-size:3.4rem;line-height:3.4rem;position:absolute;right:20px;top:20px;color:#9e9ea2}.cui .modal .modal-content .modal__close:hover,.cui .modal .modal__content .modal__close:hover{color:#007493;text-decoration:none}.cui .modal .modal-content .modal__header,.cui .modal .modal__content .modal__header{margin-bottom:30px}.cui .modal .modal-content .modal__header .modal__title,.cui .modal .modal__content .modal__header .modal__title{font-size:4.8rem;font-weight:100}@media (max-width:767.98px){.cui .modal .modal-content,.cui .modal .modal__content{padding:20px}.cui .modal .modal-content .modal__header .modal__title,.cui .modal .modal__content .modal__header .modal__title{font-size:3.2rem}}.cui .modal .modal-content .modal__footer,.cui .modal .modal__content .modal__footer{margin-top:40px}.cui .modal--small .modal-dialog,.cui .modal--small .modal__dialog{max-width:575px}.cui .modal--large .modal-dialog,.cui .modal--large .modal__dialog{max-width:991px}.cui--animated .modal{-webkit-animation:blowup .5s cubic-bezier(.165,.84,.44,1) forwards,fade-in .25s 1 linear;animation:blowup .5s cubic-bezier(.165,.84,.44,1) forwards,fade-in .25s 1 linear}.cui .progressbar{margin:20px 0;background:#dfdfdf;border-radius:2rem;height:5px}.cui .progressbar__fill{display:block;border-radius:2rem}.cui .progressbar__label{display:block;margin-top:2px}.cui .progressbar .progressbar__fill{height:5px;background-color:#00bceb}.cui .progressbar.progressbar--small,.cui .progressbar.progressbar--small .progressbar__fill{height:2px}.cui .progressbar.progressbar--large,.cui .progressbar.progressbar--large .progressbar__fill{height:10px}.cui .progressbar.progressbar--success .progressbar__fill{background-color:#6ebe4a}.cui .progressbar.progressbar--warning .progressbar__fill{background-color:#fbab18}.cui .progressbar.progressbar--indigo .progressbar__fill{background-color:#005073}.cui .progressbar[data-percentage="0"] .progressbar__fill{width:0%}.cui .progressbar[data-percentage="1"] .progressbar__fill{width:1%}.cui .progressbar[data-percentage="2"] .progressbar__fill{width:2%}.cui .progressbar[data-percentage="3"] .progressbar__fill{width:3%}.cui .progressbar[data-percentage="4"] .progressbar__fill{width:4%}.cui .progressbar[data-percentage="5"] .progressbar__fill{width:5%}.cui .progressbar[data-percentage="6"] .progressbar__fill{width:6%}.cui .progressbar[data-percentage="7"] .progressbar__fill{width:7%}.cui .progressbar[data-percentage="8"] .progressbar__fill{width:8%}.cui .progressbar[data-percentage="9"] .progressbar__fill{width:9%}.cui .progressbar[data-percentage="10"] .progressbar__fill{width:10%}.cui .progressbar[data-percentage="11"] .progressbar__fill{width:11%}.cui .progressbar[data-percentage="12"] .progressbar__fill{width:12%}.cui .progressbar[data-percentage="13"] .progressbar__fill{width:13%}.cui .progressbar[data-percentage="14"] .progressbar__fill{width:14%}.cui .progressbar[data-percentage="15"] .progressbar__fill{width:15%}.cui .progressbar[data-percentage="16"] .progressbar__fill{width:16%}.cui .progressbar[data-percentage="17"] .progressbar__fill{width:17%}.cui .progressbar[data-percentage="18"] .progressbar__fill{width:18%}.cui .progressbar[data-percentage="19"] .progressbar__fill{width:19%}.cui .progressbar[data-percentage="20"] .progressbar__fill{width:20%}.cui .progressbar[data-percentage="21"] .progressbar__fill{width:21%}.cui .progressbar[data-percentage="22"] .progressbar__fill{width:22%}.cui .progressbar[data-percentage="23"] .progressbar__fill{width:23%}.cui .progressbar[data-percentage="24"] .progressbar__fill{width:24%}.cui .progressbar[data-percentage="25"] .progressbar__fill{width:25%}.cui .progressbar[data-percentage="26"] .progressbar__fill{width:26%}.cui .progressbar[data-percentage="27"] .progressbar__fill{width:27%}.cui .progressbar[data-percentage="28"] .progressbar__fill{width:28%}.cui .progressbar[data-percentage="29"] .progressbar__fill{width:29%}.cui .progressbar[data-percentage="30"] .progressbar__fill{width:30%}.cui .progressbar[data-percentage="31"] .progressbar__fill{width:31%}.cui .progressbar[data-percentage="32"] .progressbar__fill{width:32%}.cui .progressbar[data-percentage="33"] .progressbar__fill{width:33%}.cui .progressbar[data-percentage="34"] .progressbar__fill{width:34%}.cui .progressbar[data-percentage="35"] .progressbar__fill{width:35%}.cui .progressbar[data-percentage="36"] .progressbar__fill{width:36%}.cui .progressbar[data-percentage="37"] .progressbar__fill{width:37%}.cui .progressbar[data-percentage="38"] .progressbar__fill{width:38%}.cui .progressbar[data-percentage="39"] .progressbar__fill{width:39%}.cui .progressbar[data-percentage="40"] .progressbar__fill{width:40%}.cui .progressbar[data-percentage="41"] .progressbar__fill{width:41%}.cui .progressbar[data-percentage="42"] .progressbar__fill{width:42%}.cui .progressbar[data-percentage="43"] .progressbar__fill{width:43%}.cui .progressbar[data-percentage="44"] .progressbar__fill{width:44%}.cui .progressbar[data-percentage="45"] .progressbar__fill{width:45%}.cui .progressbar[data-percentage="46"] .progressbar__fill{width:46%}.cui .progressbar[data-percentage="47"] .progressbar__fill{width:47%}.cui .progressbar[data-percentage="48"] .progressbar__fill{width:48%}.cui .progressbar[data-percentage="49"] .progressbar__fill{width:49%}.cui .progressbar[data-percentage="50"] .progressbar__fill{width:50%}.cui .progressbar[data-percentage="51"] .progressbar__fill{width:51%}.cui .progressbar[data-percentage="52"] .progressbar__fill{width:52%}.cui .progressbar[data-percentage="53"] .progressbar__fill{width:53%}.cui .progressbar[data-percentage="54"] .progressbar__fill{width:54%}.cui .progressbar[data-percentage="55"] .progressbar__fill{width:55%}.cui .progressbar[data-percentage="56"] .progressbar__fill{width:56%}.cui .progressbar[data-percentage="57"] .progressbar__fill{width:57%}.cui .progressbar[data-percentage="58"] .progressbar__fill{width:58%}.cui .progressbar[data-percentage="59"] .progressbar__fill{width:59%}.cui .progressbar[data-percentage="60"] .progressbar__fill{width:60%}.cui .progressbar[data-percentage="61"] .progressbar__fill{width:61%}.cui .progressbar[data-percentage="62"] .progressbar__fill{width:62%}.cui .progressbar[data-percentage="63"] .progressbar__fill{width:63%}.cui .progressbar[data-percentage="64"] .progressbar__fill{width:64%}.cui .progressbar[data-percentage="65"] .progressbar__fill{width:65%}.cui .progressbar[data-percentage="66"] .progressbar__fill{width:66%}.cui .progressbar[data-percentage="67"] .progressbar__fill{width:67%}.cui .progressbar[data-percentage="68"] .progressbar__fill{width:68%}.cui .progressbar[data-percentage="69"] .progressbar__fill{width:69%}.cui .progressbar[data-percentage="70"] .progressbar__fill{width:70%}.cui .progressbar[data-percentage="71"] .progressbar__fill{width:71%}.cui .progressbar[data-percentage="72"] .progressbar__fill{width:72%}.cui .progressbar[data-percentage="73"] .progressbar__fill{width:73%}.cui .progressbar[data-percentage="74"] .progressbar__fill{width:74%}.cui .progressbar[data-percentage="75"] .progressbar__fill{width:75%}.cui .progressbar[data-percentage="76"] .progressbar__fill{width:76%}.cui .progressbar[data-percentage="77"] .progressbar__fill{width:77%}.cui .progressbar[data-percentage="78"] .progressbar__fill{width:78%}.cui .progressbar[data-percentage="79"] .progressbar__fill{width:79%}.cui .progressbar[data-percentage="80"] .progressbar__fill{width:80%}.cui .progressbar[data-percentage="81"] .progressbar__fill{width:81%}.cui .progressbar[data-percentage="82"] .progressbar__fill{width:82%}.cui .progressbar[data-percentage="83"] .progressbar__fill{width:83%}.cui .progressbar[data-percentage="84"] .progressbar__fill{width:84%}.cui .progressbar[data-percentage="85"] .progressbar__fill{width:85%}.cui .progressbar[data-percentage="86"] .progressbar__fill{width:86%}.cui .progressbar[data-percentage="87"] .progressbar__fill{width:87%}.cui .progressbar[data-percentage="88"] .progressbar__fill{width:88%}.cui .progressbar[data-percentage="89"] .progressbar__fill{width:89%}.cui .progressbar[data-percentage="90"] .progressbar__fill{width:90%}.cui .progressbar[data-percentage="91"] .progressbar__fill{width:91%}.cui .progressbar[data-percentage="92"] .progressbar__fill{width:92%}.cui .progressbar[data-percentage="93"] .progressbar__fill{width:93%}.cui .progressbar[data-percentage="94"] .progressbar__fill{width:94%}.cui .progressbar[data-percentage="95"] .progressbar__fill{width:95%}.cui .progressbar[data-percentage="96"] .progressbar__fill{width:96%}.cui .progressbar[data-percentage="97"] .progressbar__fill{width:97%}.cui .progressbar[data-percentage="98"] .progressbar__fill{width:98%}.cui .progressbar[data-percentage="99"] .progressbar__fill{width:99%}.cui .progressbar[data-percentage="100"] .progressbar__fill{width:100%}.cui.cui--animated .progressbar__fill{transition:width 1s}.cui .rating{margin:0;font-size:0;text-align:center}.cui .rating:after{display:table!important}.cui .rating.rated{pointer-events:none}.cui .rating--alt .rating__star.active,.cui .rating--alt .rating__star:hover,.cui .rating--alt .rating__star:hover~.rating__star{color:#efb73e}.cui .rating--small .rating__star{font-size:1.2rem}.cui .rating--large .rating__star{font-size:3rem}.cui .rating__stars{display:inline-block}.cui .rating__star{float:right;margin-right:3px;color:#c6c7ca;cursor:pointer;font-size:2rem;line-height:1;transition:color .2s ease}.cui .rating__star:first-child{margin-right:0}.cui .rating__star.active,.cui .rating__star:hover,.cui .rating__star:hover~.rating__star{color:#00bceb;text-decoration:none}.cui .rating__star.active{-webkit-animation:bounce 1s linear;animation:bounce 1s linear}.cui .ui-steps{display:flex;align-items:top;justify-content:space-around;max-width:900px;margin:0 auto 20px;padding:20px 0;text-align:center}.cui .ui-steps ul:not(:first-child){padding-left:20px}.cui .ui-steps .ui-step:before{top:24px}.cui .ui-steps .ui-step .step__icon{width:48px;min-width:48px;max-width:48px;height:48px;line-height:4.8rem;font-size:1.8rem;background:#dfdfdf;color:#74747B;box-shadow:inset 0 0 0 1px #dfdfdf}.cui .ui-steps.ui-steps--vertical .ui-step:before{left:24px}.cui .ui-steps--tiny .ui-step:before{top:12px}.cui .ui-steps--tiny .ui-step .step__icon{width:24px;min-width:24px;max-width:24px;height:24px;line-height:2.4rem;font-size:.9rem}.cui .ui-steps--tiny.ui-steps--vertical .ui-step:before{left:12px}.cui .ui-steps--small .ui-step:before{top:16px}.cui .ui-steps--small .ui-step .step__icon{width:32px;min-width:32px;max-width:32px;height:32px;line-height:3.2rem;font-size:1.2rem}.cui .ui-steps--small.ui-steps--vertical .ui-step:before{left:16px}.cui .ui-steps--large .ui-step:before{top:32px}.cui .ui-steps--large .ui-step .step__icon{width:64px;min-width:64px;max-width:64px;height:64px;line-height:6.4rem;font-size:2.8rem}.cui .ui-steps--large.ui-steps--vertical .ui-step:before{left:32px}.cui .ui-steps .ui-step .step__label{color:#74747B}.cui .ui-steps .ui-step.active{color:#fff}.cui .ui-steps .ui-step.active .step__icon{background:#00bceb;color:#fff;box-shadow:inset 0 0 0 1px #00bceb;box-shadow:0 0 0 1px #00bceb;border:2px solid #fff}.cui .ui-steps .ui-step.active .step__label{color:#58585b;font-weight:700}.cui .ui-steps .ui-step.visited{color:#00bceb}.cui .ui-steps .ui-step.visited .step__icon{background:#fff;color:#00bceb;box-shadow:inset 0 0 0 1px #00bceb}.cui .ui-steps .ui-step.visited .step__label{color:#58585b}.cui .ui-steps .ui-step.visited.ui-step--alt .step__icon{background:#fff}.cui .ui-steps .ui-step.active:before,.cui .ui-steps .ui-step.visited:before{background:#00bceb}.cui .ui-steps--indigo .ui-step .step__icon{background:#dfdfdf;color:#74747B;box-shadow:inset 0 0 0 1px #dfdfdf}.cui .ui-steps--indigo .ui-step .step__label{color:#74747B}.cui .ui-steps--indigo .ui-step.active{color:#fff}.cui .ui-steps--indigo .ui-step.active .step__icon{background:#005073;color:#fff;box-shadow:inset 0 0 0 1px #005073;box-shadow:0 0 0 1px #005073;border:2px solid #fff}.cui .ui-steps--indigo .ui-step.active .step__label{color:#58585b;font-weight:700}.cui .ui-steps--indigo .ui-step.visited{color:#005073}.cui .ui-steps--indigo .ui-step.visited .step__icon{background:#fff;color:#005073;box-shadow:inset 0 0 0 1px #005073}.cui .ui-steps--indigo .ui-step.visited .step__label{color:#58585b}.cui .ui-steps--indigo .ui-step.visited.ui-step--alt .step__icon{background:#fff}.cui .ui-steps--indigo .ui-step.active:before,.cui .ui-steps--indigo .ui-step.visited:before{background:#005073}.cui .ui-steps--indigo .ui-step:before{background:#dfdfdf}.cui .ui-steps--success .ui-step .step__icon{background:#dfdfdf;color:#74747B;box-shadow:inset 0 0 0 1px #dfdfdf}.cui .ui-steps--success .ui-step .step__label{color:#74747B}.cui .ui-steps--success .ui-step.active{color:#fff}.cui .ui-steps--success .ui-step.active .step__icon{background:#6ebe4a;color:#fff;box-shadow:inset 0 0 0 1px #6ebe4a;box-shadow:0 0 0 1px #6ebe4a;border:2px solid #fff}.cui .ui-steps--success .ui-step.active .step__label{color:#58585b;font-weight:700}.cui .ui-steps--success .ui-step.visited{color:#6ebe4a}.cui .ui-steps--success .ui-step.visited .step__icon{background:#fff;color:#6ebe4a;box-shadow:inset 0 0 0 1px #6ebe4a}.cui .ui-steps--success .ui-step.visited .step__label{color:#58585b}.cui .ui-steps--success .ui-step.visited.ui-step--alt .step__icon{background:#fff}.cui .ui-steps--success .ui-step.active:before,.cui .ui-steps--success .ui-step.visited:before{background:#6ebe4a}.cui .ui-steps--success .ui-step:before{background:#dfdfdf}.cui .ui-steps--vibblue .ui-step .step__icon{background:#dfdfdf;color:#74747B;box-shadow:inset 0 0 0 1px #dfdfdf}.cui .ui-steps--vibblue .ui-step .step__label{color:#74747B}.cui .ui-steps--vibblue .ui-step.active{color:#fff}.cui .ui-steps--vibblue .ui-step.active .step__icon{background:#017CAD;color:#fff;box-shadow:inset 0 0 0 1px #017CAD;box-shadow:0 0 0 1px #017CAD;border:2px solid #fff}.cui .ui-steps--vibblue .ui-step.active .step__label{color:#58585b;font-weight:700}.cui .ui-steps--vibblue .ui-step.visited{color:#017CAD}.cui .ui-steps--vibblue .ui-step.visited .step__icon{background:#fff;color:#017CAD;box-shadow:inset 0 0 0 1px #017CAD}.cui .ui-steps--vibblue .ui-step.visited .step__label{color:#58585b}.cui .ui-steps--vibblue .ui-step.visited.ui-step--alt .step__icon{background:#fff}.cui .ui-steps--vibblue .ui-step.active:before,.cui .ui-steps--vibblue .ui-step.visited:before{background:#017CAD}.cui .ui-steps--vibblue .ui-step:before{background:#dfdfdf}.cui .ui-steps .ui-step{position:relative;flex:1}.cui .ui-steps .ui-step .step__icon{margin:0 auto 10px;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;z-index:1}.cui .ui-steps .ui-step:first-child:before{display:none}.cui .ui-steps .ui-step:before{display:block;position:absolute;content:'';width:100%;height:1px;left:-50%;background:#dfdfdf}.cui .ui-steps .ui-step--alt .step__icon{background:#fff}.cui .ui-steps--vertical{display:inline;text-align:left}.cui .ui-steps--vertical .ui-step{display:flex;margin-bottom:20px}.cui .ui-steps--vertical .ui-step .step__icon{flex:1;margin:0}.cui .ui-steps--vertical .ui-step .step__label{flex:2;align-self:center;padding-left:20px;color:#58585b}.cui .ui-steps--vertical .ui-step:last-child:after{display:none}.cui .ui-steps--vertical .ui-step:before{height:100%;width:1px;top:-50%}.cui .nav-tabs,.cui ul.tabs{list-style:none;display:block;position:relative;font-size:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:0;box-shadow:0 -1px 0 #dfdfdf inset}.cui .nav-tabs ul:not(:first-child),.cui ul.tabs ul:not(:first-child){padding-left:20px}.cui .nav-tabs a:active,.cui .nav-tabs a:focus,.cui ul.tabs a:active,.cui ul.tabs a:focus{text-decoration:none}.cui .nav-tabs>li,.cui ul.tabs>li{display:inline-block;font-size:1.4rem;vertical-align:bottom;margin:0 20px 2px 0}.cui .nav-tabs>li.active>a,.cui .nav-tabs>li:hover>a,.cui ul.tabs>li.active>a,.cui ul.tabs>li:hover>a{font-weight:400;box-shadow:0 -3px 0 #00bceb inset;color:#007493}.cui .header-bar .btn.toggle-menu>span,.cui .toast__title{font-weight:700}.cui .nav-tabs>li>a,.cui ul.tabs>li>a{position:relative;display:flex;align-items:center;padding:0 0 10px;color:#58585b;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cui .nav-tabs>li>a:hover,.cui ul.tabs>li>a:hover{color:#007493;text-decoration:none}.cui .nav-tabs>li>a:focus,.cui ul.tabs>li>a:focus{outline:0;box-shadow:0 -3px 0 #00bceb inset;color:#007493}.cui .nav-tabs .tab__heading,.cui ul.tabs .tab__heading{display:block;margin:0;padding:10px 0}.cui .nav-tabs .tab__heading:after,.cui ul.tabs .tab__heading:after{display:block;height:0;content:attr(title);font-weight:700;visibility:hidden}.cui .nav-tabs.tabs--right,.cui ul.tabs.tabs--right{text-align:right}.cui .nav-tabs.tabs--centered,.cui ul.tabs.tabs--centered{text-align:center}.cui .nav-tabs.tabs--tall .tab__heading,.cui ul.tabs.tabs--tall .tab__heading{padding:20px 0}.cui .nav-tabs.tabs--vertical,.cui ul.tabs.tabs--vertical{box-shadow:none;border-right:1px solid #dfdfdf}.cui .nav-tabs.tabs--vertical>li:hover>a,.cui .nav-tabs.tabs--vertical>li>a:focus,.cui ul.tabs.tabs--vertical>li:hover>a,.cui ul.tabs.tabs--vertical>li>a:focus{box-shadow:inset -3px 0 0 #00bceb}.cui .nav-tabs.tabs--vertical>li,.cui ul.tabs.tabs--vertical>li{display:block;font-size:1.4rem;vertical-align:unset;margin-right:1px}.cui .nav-tabs.tabs--vertical>li+li,.cui ul.tabs.tabs--vertical>li+li{margin-top:5px;margin-bottom:5px}.cui .nav-tabs.tabs--vertical>li>a,.cui ul.tabs.tabs--vertical>li>a{display:flex;align-items:center;height:40px;padding:0 0 0 10px}.cui .nav-tabs.tabs--vertical>li>a.tab__heading,.cui ul.tabs.tabs--vertical>li>a.tab__heading{margin:0 5px}.cui .nav-tabs.tabs--vertical>li.active>a,.cui ul.tabs.tabs--vertical>li.active>a{box-shadow:inset -3px 0 0 #00bceb;background-color:#f5f5f6}.cui .nav-tabs.tabs--vertical>li.active:hover>a,.cui ul.tabs.tabs--vertical>li.active:hover>a{color:#007493}.cui .nav-tabs.tabs--bordered>li,.cui ul.tabs.tabs--bordered>li{margin:0}.cui .nav-tabs.tabs--bordered>li+li,.cui ul.tabs.tabs--bordered>li+li{margin-left:-1px}.cui .nav-tabs.tabs--bordered>li>a,.cui ul.tabs.tabs--bordered>li>a{display:flex;background-color:#f5f5f6;padding:5px 20px;color:#58585b;border:1px solid #dfdfdf}.cui .nav-tabs.tabs--bordered>li>a:focus,.cui .nav-tabs.tabs--bordered>li>a:hover,.cui ul.tabs.tabs--bordered>li>a:focus,.cui ul.tabs.tabs--bordered>li>a:hover{color:#007493;background-color:#fff;box-shadow:none}.cui .nav-tabs.tabs--bordered>li.active>a,.cui ul.tabs.tabs--bordered>li.active>a{color:#007493;box-shadow:0 3px 0 #00bceb inset;background-color:#fff;border-bottom-color:#fff}.cui .tab-pane{display:none}.cui .tab-pane:after{clear:both!important;content:""!important;display:table!important}.cui .tab-pane.active{display:block;-webkit-animation:fade-in .5s;animation:fade-in .5s}.cui ul.tabs.list li+li{margin:0}.cui .bordered-tabs{display:flex;border-bottom:1px solid #dfdfdf}.cui .bordered-tabs>a{display:flex;background-color:#f5f5f6;padding:10px 40px;color:#58585b;border-radius:0;border-width:1px 1px 0;border-style:solid solid none;border-color:#dfdfdf}.cui .bordered-tabs>a:focus,.cui .bordered-tabs>a:hover{color:#007493;background-color:#fff;text-decoration:none}.cui .bordered-tabs>a.active{margin-bottom:-1px;border-style:solid solid none;border-width:0 1px;box-shadow:0 3px 0 #00bceb inset;margin-top:-3px;background-color:#fff}.cui .bordered-tabs>a+a{margin-left:-1px}.cui .nav-tabs{box-shadow:none}.cui .panel-tabs+.panel.panel--bordered{border-top:0 none}.cui--animated .nav-tabs>li:hover>a,.cui--animated .tabs>li:hover>a{transition:box-shadow .2s linear}.cui .toast{color:#58585b;position:relative;background:#fff;border:1px solid transparent;padding:10px;display:flex;max-width:300px;border:1px solid rgba(0,0,0,.1);box-shadow:0 10px 24px -6px rgba(0,0,0,.25)}.cui .toast__icon{min-width:20px;font-size:2.1rem;line-height:2.1rem}.cui .toast--compressed{padding:5px}.cui .toast--regular{padding:10px}.cui .toast--loose{padding:20px}.cui .toast+.toast{margin-top:10px}.cui .toast__icon+.toast__body{margin-left:10px}.cui.cui--compressed .toast{padding:5px}.cui .timeline{position:relative}.cui .timeline__item{display:inline-flex;align-items:flex-start;position:relative;margin:20px auto;padding:10px;width:100%}.cui .timeline__item:active,.cui .timeline__item:focus,.cui .timeline__item:hover{cursor:default;background-color:rgba(0,0,0,.05);transition:background-color .5s}.cui .timeline--centered .timeline__item{align-items:center}.cui .timeline--block .timeline__content{width:100%}.cui .timeline__icon{border-radius:50%;width:24px;height:24px;position:absolute;left:139px;z-index:2;border:5px solid #f5f5f6;background-color:#58585b}.cui .timeline__time{float:left;width:125px;min-width:125px;text-align:right;font-style:italic;padding-right:10px}.cui .timeline__content{margin-left:50px}.cui .timeline:after{background-color:#f5f5f6;content:' ';position:absolute;display:block;width:2px;top:0;left:150px;bottom:0;z-index:1}@media (max-width:767.98px){.cui .timeline__time{font-size:1.2rem}}.cui .timeline__icon.timeline--success{background-color:#6ebe4a}.cui .timeline__icon.timeline--info{background-color:#00bceb}.cui .timeline__icon.timeline--warning{background-color:#fbab18}.cui .timeline__icon.timeline--danger{background-color:#e2231a}.cui .timeline.timeline--animation .timeline__item:active,.cui .timeline.timeline--animation .timeline__item:focus,.cui .timeline.timeline--animation .timeline__item:hover,.cui--animated .timeline .timeline__item:active,.cui--animated .timeline .timeline__item:focus,.cui--animated .timeline .timeline__item:hover{cursor:default;transition:background-color .5s}.cui .timeline.timeline--animation .timeline__item:active .timeline__icon,.cui .timeline.timeline--animation .timeline__item:focus .timeline__icon,.cui .timeline.timeline--animation .timeline__item:hover .timeline__icon,.cui--animated .timeline .timeline__item:active .timeline__icon,.cui--animated .timeline .timeline__item:focus .timeline__icon,.cui--animated .timeline .timeline__item:hover .timeline__icon{-webkit-animation:pulseShadow 2s infinite;animation:pulseShadow 2s infinite}.cui .timeline.timeline--animation .timeline__item:active .timeline__icon.timeline--info,.cui .timeline.timeline--animation .timeline__item:focus .timeline__icon.timeline--info,.cui .timeline.timeline--animation .timeline__item:hover .timeline__icon.timeline--info,.cui--animated .timeline .timeline__item:active .timeline__icon.timeline--info,.cui--animated .timeline .timeline__item:focus .timeline__icon.timeline--info,.cui--animated .timeline .timeline__item:hover .timeline__icon.timeline--info{-webkit-animation:pulseShadowInfo 2s infinite;animation:pulseShadowInfo 2s infinite}.cui .timeline.timeline--animation .timeline__item:active .timeline__icon.timeline--success,.cui .timeline.timeline--animation .timeline__item:focus .timeline__icon.timeline--success,.cui .timeline.timeline--animation .timeline__item:hover .timeline__icon.timeline--success,.cui--animated .timeline .timeline__item:active .timeline__icon.timeline--success,.cui--animated .timeline .timeline__item:focus .timeline__icon.timeline--success,.cui--animated .timeline .timeline__item:hover .timeline__icon.timeline--success{-webkit-animation:pulseShadowSuccess 2s infinite;animation:pulseShadowSuccess 2s infinite}.cui .timeline.timeline--animation .timeline__item:active .timeline__icon.timeline--warning,.cui .timeline.timeline--animation .timeline__item:focus .timeline__icon.timeline--warning,.cui .timeline.timeline--animation .timeline__item:hover .timeline__icon.timeline--warning,.cui--animated .timeline .timeline__item:active .timeline__icon.timeline--warning,.cui--animated .timeline .timeline__item:focus .timeline__icon.timeline--warning,.cui--animated .timeline .timeline__item:hover .timeline__icon.timeline--warning{-webkit-animation:pulseShadowWarning 2s infinite;animation:pulseShadowWarning 2s infinite}.cui .timeline.timeline--animation .timeline__item:active .timeline__icon.timeline--danger,.cui .timeline.timeline--animation .timeline__item:focus .timeline__icon.timeline--danger,.cui .timeline.timeline--animation .timeline__item:hover .timeline__icon.timeline--danger,.cui--animated .timeline .timeline__item:active .timeline__icon.timeline--danger,.cui--animated .timeline .timeline__item:focus .timeline__icon.timeline--danger,.cui--animated .timeline .timeline__item:hover .timeline__icon.timeline--danger{-webkit-animation:pulseShadowDanger 2s infinite;animation:pulseShadowDanger 2s infinite}.cui .scorechart__layer{display:flex!important;justify-content:center!important;padding-bottom:10px}.cui .scorechart__tile{border-top:1px solid #dfdfdf;flex-direction:column;text-align:center;padding:10px 40px}.cui .scorechart__tile+.cui .scorechart__tile{border-left:1px solid #dfdfdf}.cui .scoreboard-flex{display:flex;flex-wrap:wrap}.cui .scoreboard-flex.scoreboard-flex--fixed .panel{min-width:100%}.cui .scoreboard-flex .panel{margin-right:10px;margin-top:10px}.cui .scoreboard-flex .panel h1{font-size:6.4rem}.cui .scoreboard-flex .panel p{max-width:75px;text-align:left}.cui .feature-blocks{margin:40px 0}.cui .feature-blocks:after{clear:both!important;content:""!important;display:table!important}.cui .feature-block__image{margin-bottom:20px}.cui .feature-block__image img{display:block;margin:0 auto;max-width:150px;height:auto}.cui .feature{display:block;color:#58585b;margin-top:20px;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);transition:all .15s linear;text-align:center}.cui .feature:hover{cursor:pointer;text-decoration:none;-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05);transition:all .15s ease}@media (min-width:768px){.cui .scoreboard-flex.scoreboard-flex--fixed .panel{min-width:300px}.cui .feature{margin-top:0;text-align:left}}.cui .feature>.thumb{margin-bottom:20px}.cui .callout{border:5px solid #e9e9e9;border-radius:5px;text-align:center;margin:20px 0;cursor:pointer}.cui .callout:hover{box-shadow:0 0 16px rgba(0,0,0,.25)}.cui .grid{display:grid;width:100%;margin:0 auto;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-template-rows:auto}.cui .grid.grid--2up{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.cui .grid.grid--3up{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cui .grid.grid--4up{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.cui .grid.grid--5up{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.cui .grid.grid--selectable>:hover{border:1px solid #00bceb;cursor:pointer}.cui .grid.grid--spacing-half{grid-gap:10px}.cui .grid.grid--spacing-base{grid-gap:20px}.cui .grid.grid--spacing-dbl{grid-gap:40px}.cui .header{flex-shrink:0;background:#fff;border-bottom:1px solid #dfdfdf;z-index:1030;overflow:visible}.cui .header>div:last-child:empty{display:none}.cui .header-bar{display:flex;align-items:center;height:54px;height:110px}.cui .header-bar .btn.toggle-menu{z-index:1031}.cui .header-bar__logo{display:none;display:block;margin:0}.cui .header-bar__logo:hover{text-decoration:none!important}.cui .header-bar__logo span.icon-cisco{color:#1BA0D7;display:block;font-size:3.5rem;line-height:1}.cui .header-bar__logo img{display:block;width:auto;height:35px}.cui .header-bar__main{flex:1;align-self:stretch;margin:0 20px;position:relative}.cui .header--compressed .header-bar{height:54px}.cui .header--compressed .header-bar__logo{margin:0}.cui .header--compressed .header-bar__logo span.icon-cisco{font-size:3rem}.cui .header--regular .header-bar{height:90px}.cui .header--tall .header-bar{height:130px}.cui .header-heading{display:flex;align-items:center;position:absolute;top:0;right:0;bottom:0;left:0}.cui .header-heading .page-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:200;margin:0;font-size:24px;max-width:inherit}.cui .header-heading .link{padding:7.5px}.cui .header-heading .link>span{font-size:1.6rem}.cui .header-breadcrumbs{margin:20px 0 18px;font-size:1.2rem;display:block;position:absolute;top:0;line-height:1;z-index:1}.cui .breadcrumb-bar{margin-top:10px;display:none}.cui .header-utilities{display:none;display:flex;flex:1}.cui .header-utilities>*{margin:0 15px 0 0}.cui .header-utilities>:first-child{margin-left:20px}.cui .header-utilities>:last-child{margin-right:0}.cui .footer .footer__legal .footer__logo,.cui .header-toolbar .avatar,.cui footer .footer__legal .footer__logo{margin-right:10px}.cui .header-menus{display:block;position:absolute;bottom:0;left:0;right:0}.cui .header-menus .nav.nav-tabs{display:none;display:block;overflow-x:auto}.cui .header-toolbar{justify-content:center;display:flex;align-items:center}.cui .header-toolbar>.dropdown .dropdown-toggle:after{content:normal}.cui .secondary-nav span[class^=icon-]{font-size:2rem}.cui .footer,.cui footer{display:flex;padding:20px 0;background-color:#005073;color:#fff}.cui .footer .footer__legal,.cui .footer .footer__links,.cui footer .footer__legal,.cui footer .footer__links{display:flex;flex:1 1 auto;justify-content:center;align-items:center}.cui .footer .footer__links ul.list,.cui footer .footer__links ul.list{-webkit-column-count:2;column-count:2;-webkit-column-gap:40px;column-gap:40px}.cui .footer .footer__links ul.list li a,.cui footer .footer__links ul.list li a{color:#fff}.cui .footer .footer__links ul.list li a:hover,.cui footer .footer__links ul.list li a:hover{color:#fff;text-decoration:underline}.cui .footer .footer__legal .footer__logo a,.cui footer .footer__legal .footer__logo a{color:#fff}.cui .footer .footer__legal .footer__logo a .icon-cisco,.cui footer .footer__legal .footer__logo a .icon-cisco{font-size:3.5rem}@media (min-width:1200px){.cui .footer.footer--basic .footer__links ul.list,.cui footer.footer--basic .footer__links ul.list{display:inline-flex;flex-wrap:wrap}.cui .footer.footer--basic .footer__links ul.list li:last-child,.cui footer.footer--basic .footer__links ul.list li:last-child{padding-right:0}.cui .footer.footer--basic .footer__links ul.list li+li,.cui footer.footer--basic .footer__links ul.list li+li{margin:0 0 0 -1px}.cui .footer.footer--basic .footer__links ul.list li:after,.cui footer.footer--basic .footer__links ul.list li:after{color:#9e9ea2;content:'|';margin:0 5px;padding:0}.cui .footer.footer--basic .footer__links ul.list li:last-child:after,.cui footer.footer--basic .footer__links ul.list li:last-child:after{content:'';margin:0}}.cui .footer.footer--compressed,.cui footer.footer--compressed{padding:10px 0}.cui .footer.footer--loose,.cui footer.footer--loose{padding:40px 0}.cui .footer.footer--sticky,.cui footer.footer--sticky{position:absolute;bottom:0;left:0;right:0}@media (max-width:991.98px){.cui .footer.footer--new{font-size:1.2rem}.cui .footer.footer--new.footer--basic .footer__links{-webkit-column-count:2;column-count:2}}@media (max-width:575.98px){.cui .footer.footer--new:not(.footer--basic){padding:10px 0}.cui .footer.footer--new:not(.footer--basic) .footer__links ul.list{-webkit-column-count:1;column-count:1}.cui .footer.footer--new:not(.footer--basic) .footer__copyright{display:none}.cui .footer.footer--new:not(.footer--basic) .footer__legal{align-items:flex-start;flex-direction:column}.cui .footer.footer--new:not(.footer--basic) .footer__legal .footer__logo{margin-top:10px;order:2}.cui .footer.footer--new:not(.footer--basic) .footer__legal .footer__logo a .icon-cisco{font-size:1.8rem}}.cui .masonry{display:block;box-sizing:border-box;-webkit-column-count:4;column-count:4;-webkit-column-gap:10px;column-gap:10px}@media (max-width:1199.98px){.cui .masonry{-webkit-column-count:3;column-count:3}}@media (max-width:991.98px){.cui .masonry{-webkit-column-count:2;column-count:2}}@media (max-width:767.98px){.cui .masonry{-webkit-column-count:1;column-count:1}}@media (max-width:575.98px){.cui .masonry{-webkit-column-count:1;column-count:1}}.cui .masonry>div{margin:0 0 5px;-webkit-column-break-inside:avoid;break-inside:avoid;display:inline-block;width:100%}.cui .masonry--cols-2{-webkit-column-count:2;column-count:2}@media (max-width:1199.98px){.cui .masonry--cols-2{-webkit-column-count:1;column-count:1}}@media (max-width:991.98px){.cui .masonry--cols-2{-webkit-column-count:1;column-count:1}}@media (max-width:767.98px){.cui .masonry--cols-2{-webkit-column-count:1;column-count:1}}@media (max-width:575.98px){.cui .masonry--cols-2{-webkit-column-count:1;column-count:1}}.cui .masonry--cols-3{-webkit-column-count:3;column-count:3}@media (max-width:1199.98px){.cui .masonry--cols-3{-webkit-column-count:2;column-count:2}}@media (max-width:991.98px){.cui .masonry--cols-3{-webkit-column-count:1;column-count:1}}@media (max-width:767.98px){.cui .masonry--cols-3{-webkit-column-count:1;column-count:1}}@media (max-width:575.98px){.cui .masonry--cols-3{-webkit-column-count:1;column-count:1}}.cui .masonry--cols-4{-webkit-column-count:4;column-count:4}@media (max-width:1199.98px){.cui .masonry--cols-4{-webkit-column-count:3;column-count:3}}@media (max-width:991.98px){.cui .masonry--cols-4{-webkit-column-count:2;column-count:2}}@media (max-width:767.98px){.cui .masonry--cols-4{-webkit-column-count:1;column-count:1}}@media (max-width:575.98px){.cui .masonry--cols-4{-webkit-column-count:1;column-count:1}}.cui .masonry--cols-5{-webkit-column-count:5;column-count:5}@media (max-width:1199.98px){.cui .masonry--cols-5{-webkit-column-count:4;column-count:4}}@media (max-width:991.98px){.cui .masonry--cols-5{-webkit-column-count:3;column-count:3}}@media (max-width:767.98px){.cui .masonry--cols-5{-webkit-column-count:2;column-count:2}}@media (max-width:575.98px){.cui .masonry--cols-5{-webkit-column-count:1;column-count:1}}.cui .masonry--gap-none{-webkit-column-gap:0;column-gap:0}.cui .masonry--gap-none>div{margin:0 0 -5}.cui .masonry--gap-qtr{-webkit-column-gap:2.5px;column-gap:2.5px}.cui .masonry--gap-qtr>div{margin:0 0 -2.5px}.cui .masonry--gap-half{-webkit-column-gap:5px;column-gap:5px}.cui .masonry--gap-half>div{margin:0}.cui .masonry--gap-base{-webkit-column-gap:10px;column-gap:10px}.cui .masonry--gap-base>div{margin:0 0 5px}.cui .masonry--gap-dbl{-webkit-column-gap:20px;column-gap:20px}.cui .masonry--gap-dbl>div{margin:0 0 15px}@media screen and (max-width:1199px){.show-desktop-menu .cui .content-body,.show-desktop-menu .cui .content-fluid{transition:padding-left .5s,opacity .5s,-webkit-transform .5s;transition:padding-left .5s,transform .5s,opacity .5s;transition:padding-left .5s,transform .5s,opacity .5s,-webkit-transform .5s}.show-desktop-menu.show-menu .cui .content-body,.show-desktop-menu.show-menu .cui .content-fluid{-webkit-transform:translateX(280px);transform:translateX(280px)}}@media screen and (max-width:767px){.hide-desktop-menu .cui .content-body,.hide-desktop-menu .cui .content-fluid{transition:padding-left .5s,opacity .5s,-webkit-transform .5s;transition:padding-left .5s,transform .5s,opacity .5s;transition:padding-left .5s,transform .5s,opacity .5s,-webkit-transform .5s}.hide-desktop-menu.show-menu .cui .content-body,.hide-desktop-menu.show-menu .cui .content-fluid{-webkit-transform:translateX(280px);transform:translateX(280px)}}.cui .toggle-menu{margin-left:0;margin-right:20px}@media screen and (min-width:1200px){.show-desktop-menu .cui .content-body,.show-desktop-menu .cui .content-fluid{padding-left:280px}.cui .toggle-menu{display:none}}@media screen and (min-width:768px){.cui .toggle-menu{margin-right:30px}.hide-desktop-menu .cui .toggle-menu{display:none}}.cui .sidebar~main,.cui main.withSidebar{-webkit-transform:translate3d(280px,0,0);transform:translate3d(280px,0,0)}@media (min-width:768px){.cui .sidebar~main,.cui main.withSidebar{margin:0 0 0 280px;-webkit-transform:none;transform:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.cui .sidebar.sidebar--mini~main{-webkit-transform:translate3d(80px,0,0);transform:translate3d(80px,0,0)}@media (min-width:768px){.cui .sidebar.sidebar--mini~main{margin:0 0 0 80px;-webkit-transform:none;transform:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.cui .sidebar.sidebar--hidden.sidebar--mini~main,.cui .sidebar.sidebar--hidden~main,.cui main.withSidebar.sidebarHidden{margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.cui .sidebar{display:block;position:absolute;top:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;width:280px;height:100%;z-index:1031;background:#017CAD;color:#fff}.cui .sidebar__header{border-bottom:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;min-height:54px;padding:15px}.cui .sidebar a{color:#fff}.cui .sidebar>ul>li.selected a,.cui .sidebar>ul>li.sidebar__item--selected a,.cui .sidebar>ul>li>a:active,.cui .sidebar>ul>li>a:focus,.cui .sidebar>ul>li>a:hover,.cui .sidebar>ul>li>a:visited{box-shadow:inset 3px 0 0 0 #fff}.cui .sidebar li.selected a,.cui .sidebar li.sidebar__item--selected a{opacity:1;color:#fff;background-color:rgba(0,0,0,.1)}.cui .sidebar li a:hover{background-color:rgba(0,0,0,.1)}.cui .sidebar li a:active,.cui .sidebar li a:focus,.cui .sidebar li a:hover,.cui .sidebar li a:visited{opacity:1;text-decoration:none;color:#fff}.cui .sidebar>ul li.sidebar__drawer:hover>a:after,.cui .sidebar>ul li.sidebar__drawer>a:after{color:#fff}.cui .sidebar li.sidebar__drawer.sidebar__drawer--opened{position:relative}.cui .sidebar li.sidebar__drawer.sidebar__drawer--opened ul{position:relative;background-color:#017CAD}.cui .sidebar--ltgray{background:#f2f2f2;color:#58585b}.cui .sidebar--ltgray__header{border-bottom:1px solid #58585b}.cui .sidebar--dkgray__header,.cui .sidebar--indigo__header{border-bottom:1px solid #fff}.cui .sidebar--ltgray a{color:#58585b}.cui .sidebar--ltgray>ul>li.selected a,.cui .sidebar--ltgray>ul>li.sidebar__item--selected a,.cui .sidebar--ltgray>ul>li>a:active,.cui .sidebar--ltgray>ul>li>a:focus,.cui .sidebar--ltgray>ul>li>a:hover,.cui .sidebar--ltgray>ul>li>a:visited{box-shadow:inset 3px 0 0 0 #58585b}.cui .sidebar--dkgray>ul>li.selected a,.cui .sidebar--dkgray>ul>li.sidebar__item--selected a,.cui .sidebar--dkgray>ul>li>a:active,.cui .sidebar--dkgray>ul>li>a:focus,.cui .sidebar--dkgray>ul>li>a:hover,.cui .sidebar--dkgray>ul>li>a:visited,.cui .sidebar--indigo>ul>li.selected a,.cui .sidebar--indigo>ul>li.sidebar__item--selected a,.cui .sidebar--indigo>ul>li>a:active,.cui .sidebar--indigo>ul>li>a:focus,.cui .sidebar--indigo>ul>li>a:hover,.cui .sidebar--indigo>ul>li>a:visited{box-shadow:inset 3px 0 0 0 #fff}.cui .sidebar--ltgray li.selected a,.cui .sidebar--ltgray li.sidebar__item--selected a{opacity:1;color:#58585b;background-color:rgba(0,0,0,.1)}.cui .sidebar--ltgray li a:hover{background-color:rgba(0,0,0,.1)}.cui .sidebar--ltgray li a:active,.cui .sidebar--ltgray li a:focus,.cui .sidebar--ltgray li a:hover,.cui .sidebar--ltgray li a:visited{opacity:1;text-decoration:none;color:#58585b}.cui .sidebar--ltgray>ul li.sidebar__drawer:hover>a:after,.cui .sidebar--ltgray>ul li.sidebar__drawer>a:after{color:#58585b}.cui .sidebar--ltgray li.sidebar__drawer.sidebar__drawer--opened{position:relative}.cui .sidebar--ltgray li.sidebar__drawer.sidebar__drawer--opened ul{position:relative;background-color:#f2f2f2}.cui .sidebar--dkgray{background:#58585b;color:#fff}.cui .sidebar--dkgray a{color:#fff}.cui .sidebar--dkgray li.selected a,.cui .sidebar--dkgray li.sidebar__item--selected a{opacity:1;color:#fff;background-color:rgba(0,0,0,.1)}.cui .sidebar--dkgray li a:hover{background-color:rgba(0,0,0,.1)}.cui .sidebar--dkgray li a:active,.cui .sidebar--dkgray li a:focus,.cui .sidebar--dkgray li a:hover,.cui .sidebar--dkgray li a:visited{opacity:1;text-decoration:none;color:#fff}.cui .sidebar--dkgray>ul li.sidebar__drawer:hover>a:after,.cui .sidebar--dkgray>ul li.sidebar__drawer>a:after{color:#fff}.cui .sidebar--dkgray li.sidebar__drawer.sidebar__drawer--opened{position:relative}.cui .sidebar--dkgray li.sidebar__drawer.sidebar__drawer--opened ul{position:relative;background-color:#58585b}.cui .sidebar--indigo{background:#005073;color:#fff}.cui .sidebar--indigo a{color:#fff}.cui .sidebar ul.sidebar-section>li,.cui .sidebar__header a:hover{box-shadow:none}.cui .sidebar--indigo li.selected a,.cui .sidebar--indigo li.sidebar__item--selected a{opacity:1;color:#fff;background-color:rgba(0,0,0,.1)}.cui .sidebar--indigo li a:hover{background-color:rgba(0,0,0,.1)}.cui .sidebar--indigo li a:active,.cui .sidebar--indigo li a:focus,.cui .sidebar--indigo li a:hover,.cui .sidebar--indigo li a:visited{opacity:1;text-decoration:none;color:#fff}.cui .sidebar--indigo>ul li.sidebar__drawer:hover>a:after,.cui .sidebar--indigo>ul li.sidebar__drawer>a:after{color:#fff}.cui .sidebar--indigo li.sidebar__drawer.sidebar__drawer--opened{position:relative}.cui .sidebar--indigo li.sidebar__drawer.sidebar__drawer--opened ul{position:relative;background-color:#005073}.cui .sidebar.sidebar--hidden{width:0}.cui .sidebar ul{padding-left:0}.cui .sidebar li a{display:flex;align-items:center;height:40px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.8;font-size:1.4rem}.cui .sidebar li a>span[class^=icon-]{margin-right:10px}.cui .sidebar li.sidebar__item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.cui .sidebar li a:hover,.cui .sidebar li.selected a,.cui .sidebar li.sidebar__item--selected a{text-decoration:none}.cui .sidebar ul:after{clear:both!important;content:""!important;display:table!important}.cui .sidebar ul li.sidebar-drawer:hover>a:after,.cui .sidebar ul li.sidebar__drawer:hover>a:after{opacity:1}.cui .sidebar ul li.sidebar-drawer>a:after,.cui .sidebar ul li.sidebar__drawer>a:after{content:"";-webkit-transform:rotate(0);transform:rotate(0);opacity:.5;position:absolute;right:14px}.cui .sidebar ul li.sidebar-drawer>ul,.cui .sidebar ul li.sidebar__drawer>ul{display:none}.cui .sidebar ul li.sidebar-drawer--opened>a:after,.cui .sidebar ul li.sidebar__drawer--opened>a:after{-webkit-transform:rotate(180deg);transform:rotate(180deg);opacity:1}.cui .sidebar ul li.sidebar-drawer--opened>ul,.cui .sidebar ul li.sidebar__drawer--opened>ul{display:block}.cui .sidebar ul li ul>li>a{padding-left:40px}.cui .sidebar ul li ul>li>ul>li>a{padding-left:60px}.cui .sidebar ul.sidebar-section>li a{display:flex;align-items:center}.cui .sidebar ul.sidebar-section>li a>span[class^=icon-]{margin-right:7px}.cui .sidebar.sidebar--compressed .sidebar__header{padding:10px}.cui .sidebar.sidebar--compressed a{height:30px;font-size:1.3rem}.cui .sidebar.sidebar--compressed ul li ul>li>a,.cui .sidebar.sidebar--compressed ul>li.sidebar__drawer a:after{font-size:1.3rem}.cui .sidebar.sidebar--mini.sidebar--hidden{width:0;overflow:hidden}.cui .sidebar.sidebar--mini{width:80px;overflow:visible}.cui .sidebar.sidebar--mini .sidebar__header .sidebar__header-title{font-size:0}.cui .sidebar.sidebar--mini .sidebar__drawer>a:after{display:none;font-size:1rem;right:10px;top:auto;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.cui .sidebar.sidebar--mini .sidebar__drawer.sidebar__drawer--opened>a:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cui .sidebar.sidebar--mini>ul>li.sidebar__item--selected a span[class^=icon-],.cui .sidebar.sidebar--mini>ul>li>a:active span[class^=icon-],.cui .sidebar.sidebar--mini>ul>li>a:focus span[class^=icon-],.cui .sidebar.sidebar--mini>ul>li>a:hover span[class^=icon-]{opacity:1}.cui .sidebar.sidebar--mini li a{height:auto;padding:15px 20px;flex-wrap:wrap;flex-direction:column;position:relative}.cui .sidebar.sidebar--mini .sidebar__drawer a,.cui .sidebar.sidebar--mini .sidebar__item a{justify-content:center}.cui .sidebar.sidebar--mini .sidebar__drawer ul{display:block;opacity:0;margin-left:-100%;height:0;width:0;visibility:hidden}.cui .sidebar.sidebar--mini .sidebar__drawer.sidebar__drawer--opened ul{position:absolute;margin-left:0;width:auto;min-width:250px;height:auto;opacity:1;flex-wrap:wrap;left:100%;top:0;visibility:visible;transition:margin-left .2s,opacity .5s;box-shadow:5px 0 10px -5px rgba(0,0,0,.2),inset 5px 0 10px -5px rgba(0,0,0,.2)}.cui .sidebar.sidebar--mini .sidebar__drawer.sidebar__drawer--opened ul a{justify-content:flex-start;padding-left:20px;align-items:flex-start}.cui .sidebar.sidebar--mini .sidebar__drawer.sidebar__drawer--opened ul ul{overflow-y:auto;height:auto;max-height:250px}.cui .sidebar.sidebar--mini a{opacity:.8}.cui .sidebar.sidebar--mini a span[class^=icon-]{margin:0;font-size:2.2rem}.cui .sidebar.sidebar--mini a span[class^=icon-]+*{text-align:center;white-space:normal;margin-top:5px;font-size:1.1rem;font-weight:400}.cui .sidebar .sidebar-header+.sidebar-section,.cui .sidebar .sidebar-section+.sidebar-section{border-top:1px solid #dfdfdf}.cui .sidebar .sidebar-action,.cui .sidebar .sidebar__item-action{position:absolute;font-size:1.4rem;right:14px;display:flex;align-items:center;justify-content:center}.cui .sidebar-header__title,.cui .sidebar__header-title{font-size:2.4rem;font-weight:300}.cui .sidebar-header__toolbar,.cui .sidebar__header-toolbar{margin-top:15px}.cui .sidebar-header__toolbar .btn,.cui .sidebar__header-toolbar .btn{color:#fff;opacity:.5}.cui .sidebar-header__toolbar .btn:hover,.cui .sidebar__header-toolbar .btn:hover{opacity:1}.cui .content-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1029;display:block;margin:auto;background:rgba(0,0,0,.2);content:'';opacity:0;cursor:pointer;pointer-events:none}.cui a.sidebar-toggle{opacity:1;position:absolute;left:26.5px}.cui a.sidebar-toggle span[class^=icon-]{font-weight:700;font-size:2.2rem}.cui a.sidebar-toggle:hover{opacity:1;color:inherit;text-decoration:none}@media screen and (max-height:458px){.cui .sidebar-logo,.cui .sidebar__logo{position:relative;bottom:auto;text-align:center;top:90px}}@media screen and (min-height:458px){.cui .sidebar-logo,.cui .sidebar__logo{text-align:center;position:absolute;bottom:100px;left:calc(140px - 48px);top:auto}}.cui .sidebar-logo span,.cui .sidebar__logo span{font-weight:light;color:rgba(255,255,255,.8);font-size:1rem;display:block}.cui.cui--compressed .sidebar a,.cui.cui--compressed .sidebar ul li ul>li>a,.cui.cui--compressed .sidebar ul>li.sidebar__drawer a:after{font-size:1.3rem}.cui.cui--compressed .sidebar .sidebar__header{padding:10px}.cui.cui--compressed .sidebar ul>li a{height:30px}.cui.cui--compressed .sidebar.sidebar--mini ul li ul>li>a,.cui.cui--compressed .sidebar.sidebar--mini ul>li.sidebar__drawer a:after{font-size:1rem}.cui.cui--compressed .sidebar.sidebar--mini ul>li a{height:auto}.cui.cui--animated .sidebar,.cui.cui--animated main{transition:width .2s}.cui.cui--animated .sidebar ul>li.sidebar__drawer a:hover::after{transition:all .2s}.cui.cui--animated .sidebar .sidebar__header .sidebar__header-title{transition:font-size .2s}.cui.cui--animated .sidebar ul li a{transition:padding .2s}.cui.cui--animated .sidebar ul>li.sidebar__drawer.sidebar__drawer--opened{transition:all 1s}.cui button[data-balloon]{overflow:visible}.cui [data-balloon]{position:relative}.cui [data-balloon]:after,.cui [data-balloon]:before{-khtml-opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}.cui [data-balloon]:after{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;opacity:0;font-weight:400;font-style:normal;text-shadow:none;font-size:1.2rem!important;background:rgba(57,57,59,.95);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}.cui [data-balloon]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(57, 57, 59, 0.95)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px;filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;opacity:0;content:''}.cui [data-balloon]:hover:after,.cui [data-balloon]:hover:before,.cui [data-balloon][data-balloon-visible]:after,.cui [data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}.cui [data-balloon].font-awesome:after{font-family:FontAwesome}.cui [data-balloon][data-balloon-break]:after{white-space:pre}.cui [data-balloon][data-balloon-blunt]:after,.cui [data-balloon][data-balloon-blunt]:before{transition:none}.cui [data-balloon][data-balloon-pos=up]:after{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}.cui [data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}.cui [data-balloon][data-balloon-pos=up]:hover:after,.cui [data-balloon][data-balloon-pos=up]:hover:before,.cui [data-balloon][data-balloon-pos=up][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.cui [data-balloon][data-balloon-pos=up-left]:after{bottom:100%;left:0;margin-bottom:11px;-webkit-transform:translate(0,10px);transform:translate(0,10px);-webkit-transform-origin:top;transform-origin:top}.cui [data-balloon][data-balloon-pos=up-left]:before{bottom:100%;left:5px;margin-bottom:5px;-webkit-transform:translate(0,10px);transform:translate(0,10px);-webkit-transform-origin:top;transform-origin:top}.cui [data-balloon][data-balloon-pos=up-left]:hover:after,.cui [data-balloon][data-balloon-pos=up-left]:hover:before,.cui [data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0,0);transform:translate(0,0)}.cui [data-balloon][data-balloon-pos=up-right]:after{bottom:100%;right:0;margin-bottom:11px;-webkit-transform:translate(0,10px);transform:translate(0,10px);-webkit-transform-origin:top;transform-origin:top}.cui [data-balloon][data-balloon-pos=up-right]:before{bottom:100%;right:5px;margin-bottom:5px;-webkit-transform:translate(0,10px);transform:translate(0,10px);-webkit-transform-origin:top;transform-origin:top}.cui [data-balloon][data-balloon-pos=up-right]:hover:after,.cui [data-balloon][data-balloon-pos=up-right]:hover:before,.cui [data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0,0);transform:translate(0,0)}.cui [data-balloon][data-balloon-pos=down]:after{left:50%;margin-top:11px;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}.cui [data-balloon][data-balloon-pos=down]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(57, 57, 59, 0.95)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}.cui [data-balloon][data-balloon-pos=down]:hover:after,.cui [data-balloon][data-balloon-pos=down]:hover:before,.cui [data-balloon][data-balloon-pos=down][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.cui [data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translate(0,-10px);transform:translate(0,-10px)}.cui [data-balloon][data-balloon-pos=down-left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(57, 57, 59, 0.95)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translate(0,-10px);transform:translate(0,-10px)}.cui [data-balloon][data-balloon-pos=down-left]:hover:after,.cui [data-balloon][data-balloon-pos=down-left]:hover:before,.cui [data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0,0);transform:translate(0,0)}.cui [data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translate(0,-10px);transform:translate(0,-10px)}.cui [data-balloon][data-balloon-pos=down-right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(57, 57, 59, 0.95)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translate(0,-10px);transform:translate(0,-10px)}.cui [data-balloon][data-balloon-pos=down-right]:hover:after,.cui [data-balloon][data-balloon-pos=down-right]:hover:before,.cui [data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0,0);transform:translate(0,0)}.cui [data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}.cui [data-balloon][data-balloon-pos=left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(57, 57, 59, 0.95)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}.cui [data-balloon][data-balloon-pos=left]:hover:after,.cui [data-balloon][data-balloon-pos=left]:hover:before,.cui [data-balloon][data-balloon-pos=left][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.cui [data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}.cui [data-balloon][data-balloon-pos=right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(57, 57, 59, 0.95)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}.cui [data-balloon][data-balloon-pos=right]:hover:after,.cui [data-balloon][data-balloon-pos=right]:hover:before,.cui [data-balloon][data-balloon-pos=right][data-balloon-visible]:after,.cui [data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.cui [data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}.cui [data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}.cui [data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}.cui [data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){.cui [data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}.cui [data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%}.cui [data-balloon][data-balloon-success][data-balloon]:after{background:rgba(110,190,74,.99)}.cui [data-balloon][data-balloon-success][data-balloon-pos=up]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(110, 190, 74, 0.99)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px}.cui [data-balloon][data-balloon-success][data-balloon-pos=down]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(110, 190, 74, 0.99)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px}.cui [data-balloon][data-balloon-success][data-balloon-pos=left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(110, 190, 74, 0.99)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px}.cui [data-balloon][data-balloon-success][data-balloon-pos=right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(110, 190, 74, 0.99)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px}.cui [data-balloon][data-balloon-indigo][data-balloon]:after{background:rgba(0,80,115,.99)}.cui [data-balloon][data-balloon-indigo][data-balloon][data-balloon-pos=up]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(0, 80, 115, 0.99)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px}.cui [data-balloon][data-balloon-indigo][data-balloon][data-balloon-pos=down]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(0, 80, 115, 0.99)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px}.cui [data-balloon][data-balloon-indigo][data-balloon][data-balloon-pos=left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(0, 80, 115, 0.99)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px}.cui [data-balloon][data-balloon-indigo][data-balloon][data-balloon-pos=right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(0, 80, 115, 0.99)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px}.cui [data-balloon][data-balloon-blue][data-balloon]:after{background:rgba(0,188,235,.99);color:#005073}.cui [data-balloon][data-balloon-blue][data-balloon][data-balloon-pos=up]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(0, 188, 235, 0.99)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px}.cui [data-balloon][data-balloon-blue][data-balloon][data-balloon-pos=down]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(0, 188, 235, 0.99)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:18px;height:6px}.cui [data-balloon][data-balloon-blue][data-balloon][data-balloon-pos=left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(0, 188, 235, 0.99)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px}.cui [data-balloon][data-balloon-blue][data-balloon][data-balloon-pos=right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(0, 188, 235, 0.99)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;width:6px;height:18px}.cui.template--cdc{background-color:#f5f5f6;overflow-y:auto}.cui.template--cdc .container{min-width:0;max-width:1440px;width:auto}.cui.template--cdc footer,.cui.template--cdc header,.cui.template--cdc main{display:block;max-width:1600px;margin:0 auto;box-shadow:0 2px 5px 0 rgba(0,0,0,.12)}.cui.template--cdc header,.cui.template--cdc main{background-color:#fff}.cui.template--cdc header{box-sizing:border-box;min-height:50px;padding:0;height:auto}.cui.template--cdc header .header-bar{width:auto}.cui.template--cdc header .toggle-menu{visibility:hidden;width:0;min-width:0;margin:0}@media (max-width:991.98px){.cui.template--cdc header,.cui.template--cdc header .header-bar,.cui.template--cdc header.header--regular .header-bar{height:50px}.cui.template--cdc header .header-bar__main{order:1;flex:1;margin:0}.cui.template--cdc header .header-bar__main ul.list{display:none}.cui.template--cdc header .header-bar__main .toggle-menu{min-width:30px;width:30px;visibility:visible}.cui.template--cdc header .header-bar__logo{display:block;order:2;flex:1;text-align:center}.cui.template--cdc header .header-bar__logo .icon-cisco{font-size:2.4rem}.cui.template--cdc header .header-toolbar{display:block;order:3;flex:1;justify-content:flex-end;text-align:right}.cui.template--cdc header .header-toolbar .avatar{display:none}}.cui.template--cdc main{min-height:600px;position:relative}.cui.template--cdc main:after{content:'';box-shadow:0 2px 2px 0 rgba(0,0,0,.12);position:absolute;top:-5px;height:5px;left:0;right:0;bottom:auto}.cui.template--cdc footer{background-color:#8e9299;width:auto;overflow:hidden;padding:20px 0}.cui.template--cdc footer a{color:#fff} \ No newline at end of file diff --git a/mla_app_code/static/js/clusterCreation.js b/mla_app_code/static/js/clusterCreation.js index bf6481a..f722425 100644 --- a/mla_app_code/static/js/clusterCreation.js +++ b/mla_app_code/static/js/clusterCreation.js @@ -22,25 +22,20 @@ $(document).ready(function(){ $(form).each(function(i, field){ formData[field.name] = field.value; - }); - + }) - jsonToDisplay["provider_client_config_uuid"] = formData["vsphereProviders"] + jsonToDisplay["provider"] = formData["vsphereProviders"] jsonToDisplay["name"] = formData["clusterName"] - jsonToDisplay["datacenter"] = formData["vsphereDatacenters"] - jsonToDisplay["cluster"] = formData["vsphereClusters"] - jsonToDisplay["resource_pool"] = formData["vsphereClusters"] + "/" + formData["vsphereResourcePools"] - jsonToDisplay["datastore"] = formData["vsphereDatastores"] - jsonToDisplay["deployer"]["provider"]["vsphere_client_config_uuid"] = formData["vsphereProviders"] - jsonToDisplay["deployer"]["provider"]["vsphere_datacenter"] = formData["vsphereDatacenters"] - jsonToDisplay["deployer"]["provider"]["vsphere_datastore"] = formData["vsphereDatastores"] - jsonToDisplay["deployer"]["provider"]["vsphere_working_dir"] = "/" + formData["vsphereDatacenters"] + "/vm" - jsonToDisplay["ingress_vip_pool_id"] = formData["vipPools"] - jsonToDisplay["master_node_pool"]["template"] = formData["tenantImageTemplate"] - jsonToDisplay["worker_node_pool"]["template"] = formData["tenantImageTemplate"] - jsonToDisplay["node_ip_pool_uuid"] = formData["vipPools"] + jsonToDisplay["vsphere_infra"]["datacenter"] = formData["vsphereDatacenters"] + jsonToDisplay["vsphere_infra"]["cluster"] = formData["vsphereClusters"] + jsonToDisplay["vsphere_infra"]["resource_pool"] = formData["vsphereClusters"] + "/" + formData["vsphereResourcePools"] + jsonToDisplay["vsphere_infra"]["datastore"] = formData["vsphereDatastores"] + jsonToDisplay["vsphere_infra"]["networks"] = formData["vsphereNetworks"] + jsonToDisplay["subnet_id"] = formData["vipPools"] + jsonToDisplay["master_group"]["template"] = formData["tenantImageTemplate"] + jsonToDisplay["node_groups"]["template"] = formData["tenantImageTemplate"] jsonToDisplay["ssh_key"] = formData["sshKey"] - jsonToDisplay["networks"] = formData["vsphereNetworks"] + $('#jsonModal').find('.modal-body').append('
'+JSON.stringify(jsonToDisplay, undefined, 2)+'
'); } @@ -114,7 +109,7 @@ $(document).ready(function(){ $.ajax({ - url: "/stage2", + url: "/ccpClusterCreation", type : "POST", contentType: 'application/json', dataType : 'json', diff --git a/mla_app_code/static/js/clusterOverview.js b/mla_app_code/static/js/clusterOverview.js new file mode 100644 index 0000000..3322a8d --- /dev/null +++ b/mla_app_code/static/js/clusterOverview.js @@ -0,0 +1,11 @@ +$(document).ready(function(){ + $('#existingClusterUpload').on('click', function(event) { + event.preventDefault(); + window.location.href = "../existingClusterUpload"; + }); + + $('#ccpLogin').on('click', function(event) { + event.preventDefault(); + window.location.href = "../ccpLogin"; + }); +}); \ No newline at end of file diff --git a/mla_app_code/static/js/clusterUpload.js b/mla_app_code/static/js/clusterUpload.js new file mode 100644 index 0000000..cdbf30b --- /dev/null +++ b/mla_app_code/static/js/clusterUpload.js @@ -0,0 +1,43 @@ +$(document).ready(function(){ + + $('#consoleLog').append(localStorage.getItem('consoleLog')); + + $('#uploadCluster').on('click', function(event) { + + event.preventDefault(); + + var formData = new FormData(); + formData.append('file', $('#file')[0].files[0]); + //formData.append('clusterName', $('#clusterName').val()); + + //Check cluster name does not already exist - on success deploy the cluster + $.ajax({ + type: "POST", + url:"/existingClusterUpload", + data: formData, + processData: false, + contentType: false, + success: function (response) { + if (response.redirectURL) { + window.location.replace(response.redirectURL); + } else { + window.location.reload(true); + } + }, + error: function(error) { + + $("#alertBox").html( + ` +
+
+ Cluster upload failed! + x +
+ ` + ); + + return + } + }); + }); +}) \ No newline at end of file diff --git a/mla_app_code/static/js/deployKubeflow.js b/mla_app_code/static/js/deployKubeflow.js index 019a62d..bf2011f 100644 --- a/mla_app_code/static/js/deployKubeflow.js +++ b/mla_app_code/static/js/deployKubeflow.js @@ -9,7 +9,7 @@ $(document).ready(function(){ event.preventDefault(); $.ajax({ - url: "/stage3", + url: "/deployKubeflow", type : "POST", contentType: 'application/json', diff --git a/mla_app_code/static/js/postInstallation.js b/mla_app_code/static/js/postInstallation.js index 9a25176..2350bc3 100644 --- a/mla_app_code/static/js/postInstallation.js +++ b/mla_app_code/static/js/postInstallation.js @@ -1,391 +1,137 @@ -post_install_stage = 1 +var kflink = "" $(document).ready(function(){ $('#consoleLog').append(localStorage.getItem('consoleLog')); - - $("#toggleIngress").prop("disabled", true); - $("#kubeflowDashboard").prop("disabled", true); - $("#createNotebook").prop("disabled", true); - - $('#viewPods').on('click', function(event) { + + $("#gotokf").prop("disabled", true); + + $('#viewpods').on('click', function(event) { event.preventDefault(); viewPods(); - }); - - $('#toggleIngress').on('click', function(event) { - event.preventDefault(); - toggleIngress(); - }); - - $('#kubeflowDashboard').on('click', function(event) { - event.preventDefault(); - kubeflowDashboard(); - }); - - $('#createNotebook').on('click', function(event) { - event.preventDefault(); - openNotebookServer(); - }); + }) + + $('#gotokf').on('click', function(event) { + event.preventDefault(); + link = 'http://' + kflink + window.open(link, '_blank') + }) + + setUpPage() verifyPostInstall() setInterval(verifyPostInstall,5000); }); -function verifyK8sServices() { - - $.ajax({ - type: "GET", - url:"/viewPods", - dataType: "json", - success: function (jsonToDisplay) { - - success = true; - - $.each(jsonToDisplay, function(index, value){ - - if (!(value.STATUS == "Running" || value.STATUS == "Succeeded")) - { - success = false - } - - }); - - alertClass = "alert alert--danger" - - if (success) - { - alertClass = "alert alert--success" - statusMsg = "Kubernetes pods running" - $("#kubernetesPodAlert").empty().html( - ` -
-
-
` + statusMsg +`
-
- ` - ) - post_install_stage = 2 - } - else - { - alertClass = "alert alert--warning" - statusMsg = "Waiting for Kubernetes pods to start" - $("#kubernetesPodAlert").empty().html( - ` -
-
-
` + statusMsg +`
-
- ` - ) - } - }, - error: function(error) { - - $("#viewPods").prop("disabled", true); - - $("#postInstallChecklist").empty().append( - ` -
-
-
Error running post install check
-
- ` - ) - } - }); -} - -function toggleIngress() { - - $("#toggleIngress").prop("disabled", true); - - $.ajax({ - url: "/toggleIngress", - type : "POST", - contentType: 'application/json', - - success: function(jsonToDisplay) { - - $("#toggleIngress").prop("disabled", false); - - $("#ingressAlert").empty().html( - ` -
-
-
Cluster access configured as ` + jsonToDisplay.ACCESSTYPE +` on address ` + jsonToDisplay.IP +`
-
- ` - ) - - }, - error: function(error) { - - $("#toggleIngress").prop("disabled", false); - $("#ingressAlert").empty().html( - ` -
-
-
Issue retrieving ingress details
+row_template = + ` +
+
+
+
+
+
{replace-text}
- ` - ); - } - }) -} - -function createNotebookServer() { - - $("#createNotebook").prop("disabled", true); - - $("#notebookAlert").empty().html( - ` -
-
-
Creating Notebook Server
+
- ` - ) - - $.ajax({ - url: "/createNotebookServer", - type : "POST", - contentType: 'application/json', - - success: function(response) { - - $("#createNotebook").prop("disabled", true); - - $("#notebookAlert").empty().html( - ` -
-
-
Creating Notebook Server
-
- ` - ) - - }, - error: function(error) { - - $("#createNotebook").prop("disabled", true); - - $("#notebookAlert").empty().html( - ` -
-
-
Issue creating Notebook Server
-
- ` - ); - } - }) +
+ ` + +button_template = + ` + + ` + +function setUpPage() { + stages = [ + "Waiting for MLA pod to be deployed", + "Upgrading Helm", + "Setting up NFS server", + "Setting up Kubeflow", + "Waiting for all Pods to be ready", + "Changing the default Storage Class", + "Creating PVC", + "Getting IP and port for Kubeflow dashboard", + "Creating the demo namespace", + "Creating notebook server", + "Waiting for notebook server to be ready", + "Uploading demos to notebook server", + "Installing additional modules for notebook server", + "Giving full permissions to namespace" + ] + + for(var i=0;i 0) { - console.log(Object.keys(response.status)) - - if("running" == Object.keys(response.status)[0]) { - $("#createNotebook").prop("disabled", false); - $("#notebookAlert").empty().html( - ` -
-
-
Notebook created
-
- ` - ) - $("#createNotebook").prop("disabled", false); - post_install_stage = 5 - uploadFiletoJupyter() - } else { - $("#createNotebook").prop("disabled", false); - $("#notebookAlert").empty().html( - ` -
-
-
Waiting for Notebook Server creation
-
- ` - ) - $("#createNotebook").prop("disabled", true); + type: "GET", + url:"/mladeploymentstatus", + //data: {cluster : cluster}, + success: function (response) { + steps = [{'name': "Waiting for MLA pod to be deployed", 'entries': []}] + if(response != 'Pod not reachable yet') { + var logs = JSON.parse(response) + + for(var i=0;i -
-
Error during Notebook Server creation
-
- ` - ) - } - - - }, - error: function(error) { - - $("#notebookAlert").empty().html( - ` -
-
-
There was a problem verifying the notebooks
-
- ` - ); - } - }) -} - - - -function uploadFiletoJupyter() { - - var fd = new FormData(); - - $.ajax({ - url: "/uploadFiletoJupyter", - type : "POST", - processData: false, - contentType: false, - data:{}, - success: function(response) { - - $("#notebookFileAlert").empty().html( - ` -
-
-
Demos created on Notebook Server
-
- ` - ) - - }, - error: function(error) { - - $("#notebookFileAlert").empty().html( - ` -
-
-
Issue creating demos on Notebook Server
-
- ` - ); - } - }) -} - -function checkIngress() { - - $.ajax({ - url: "/checkIngress", - type : "GET", - contentType: 'application/json', - - success: function(jsonToDisplay) { - - $("#ingressAlert").empty().html( - ` -
-
-
Cluster access configured as ` + jsonToDisplay.ACCESSTYPE +` on address ` + jsonToDisplay.IP +`
-
- ` - ) - $("#toggleIngress").prop("disabled", false); - post_install_stage = 3 - }, - error: function(error) { - - $("#toggleIngress").prop("disabled", true); - - $("#ingressAlert").empty().html( - ` -
-
-
Issue retrieving ingress details
-
- ` - ); - } - }) -} - -function checkKubeflowDashboardReachability() { - - $.ajax({ - url: "/checkKubeflowDashboardReachability", - type : "GET", - contentType: 'application/json', - - success: function(jsonToDisplay) { - $("#kubeflowDashboardAlert").empty().html( - ` -
-
-
Kubeflow dashboard is available
-
- ` - ) - $("#kubeflowDashboard").prop("disabled", false); - createNotebookServer() - post_install_stage = 4 + for(var i=0;i +
-
Kubeflow dashboard is not available
+ Issue retrieving MLA setup details + x
` ); } - }) + }); } -function kubeflowDashboard() { - - $.ajax({ - url: "/checkIngress", - type : "GET", - contentType: 'application/json', - - success: function(jsonToDisplay) { - - url = "http://" + jsonToDisplay.IP - window.open(url) - - }, - error: function(error) { - - $("#ingressAlert").empty().html( - ` -
-
-
Issue retrieving Kubeflow Dashboard details
-
- ` - ); - } - }) -} function viewPods() { @@ -436,40 +182,3 @@ function viewPods() { }); } -function openNotebookServer() { - $.ajax({ - url: "/checkIngress", - type : "GET", - contentType: 'application/json', - - success: function(jsonToDisplay) { - - url = "http://" + jsonToDisplay.IP + '/notebook/kubeflow/mla-notebook' - window.open(url) - - }, - error: function(error) { - - $("#ingressAlert").empty().html( - ` -
-
-
Issue retrieving Notebook Server Dashboard details
-
- ` - ); - } - }) -} - -function verifyPostInstall() { - if(post_install_stage == 1) { - verifyK8sServices(); - } else if(post_install_stage == 2) { - checkIngress(); - } else if(post_install_stage == 3) { - checkKubeflowDashboardReachability(); - } else if(post_install_stage == 4) { - verifyNotebooks(); - } -} diff --git a/mla_app_code/templates/stage2.html b/mla_app_code/templates/ccpClusterCreation.html similarity index 90% rename from mla_app_code/templates/stage2.html rename to mla_app_code/templates/ccpClusterCreation.html index c8db718..153b962 100644 --- a/mla_app_code/templates/stage2.html +++ b/mla_app_code/templates/ccpClusterCreation.html @@ -71,29 +71,25 @@

ML Anywhere Deployment

-
-
-
-
-
1
+
-
Capture CCP Info
-
-
-
2
-
Launch K8 Cluster
-
-
-
3
-
Deploy KubeFlow
-
-
-
4
-
Done!
+
+
+
+
1
+
Select Kubernetes Cluster
+
+
+
2
+
Deploy KubeFlow
+
+
+
3
+
Access Kubeflow
+
+
-
-
diff --git a/mla_app_code/templates/stage1.html b/mla_app_code/templates/ccpLogin.html similarity index 84% rename from mla_app_code/templates/stage1.html rename to mla_app_code/templates/ccpLogin.html index aeb3532..5b84763 100644 --- a/mla_app_code/templates/stage1.html +++ b/mla_app_code/templates/ccpLogin.html @@ -65,30 +65,25 @@

ML Anywhere Deployment

-
- -
-
-
-
1
- -
Capture CCP Info
-
-
-
2
-
Launch K8 Cluster
-
-
-
3
-
Deploy KubeFlow
-
-
-
4
-
Done!
+
+ +
+
+
+
1
+
Select Kubernetes Cluster
+
+
+
2
+
Deploy KubeFlow
+
+
+
3
+
Access Kubeflow
+
+
-
-
diff --git a/mla_app_code/templates/clusterOverview.html b/mla_app_code/templates/clusterOverview.html new file mode 100644 index 0000000..7a89d30 --- /dev/null +++ b/mla_app_code/templates/clusterOverview.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + ML Anywhere Deployment + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
+
+
+ +
+
+

ML Anywhere Deployment

+
+ +
+
+ + +
+
+
+
+
+
+
+ +
+
+
+
1
+
Select Kubernetes Cluster
+
+
+
2
+
Deploy KubeFlow
+
+
+
3
+
Access Kubeflow
+
+
+
+
+ +
+
+
+
+

+

+
+
+
+
+ + +
+
+
+
+

+

+
+
+
+
+
+
+ + +
+ +
+
+ + + + + \ No newline at end of file diff --git a/mla_app_code/templates/stage3.html b/mla_app_code/templates/deployKubeflow.html similarity index 78% rename from mla_app_code/templates/stage3.html rename to mla_app_code/templates/deployKubeflow.html index 7cfed39..345ca86 100644 --- a/mla_app_code/templates/stage3.html +++ b/mla_app_code/templates/deployKubeflow.html @@ -64,29 +64,25 @@

ML Anywhere Deployment

-
-
-
-
-
1
- -
Capture CCP Info
-
-
-
2
-
Launch K8 Cluster
-
-
-
3
-
Deploy KubeFlow
+
+ +
+
+
+
1
+
Select Kubernetes Cluster
+
+
+
2
+
Deploy KubeFlow
+
+
+
3
+
Access Kubeflow
+
+
-
-
4
-
Done!
-
-
-
diff --git a/mla_app_code/templates/stageTitle.html b/mla_app_code/templates/existingClusterUpload.html similarity index 59% rename from mla_app_code/templates/stageTitle.html rename to mla_app_code/templates/existingClusterUpload.html index 62c98e0..f8e2dd7 100644 --- a/mla_app_code/templates/stageTitle.html +++ b/mla_app_code/templates/existingClusterUpload.html @@ -19,18 +19,20 @@ - - + + - - +
+
+ - + +
@@ -39,7 +41,6 @@
-

ML Anywhere Deployment

@@ -60,81 +61,64 @@

ML Anywhere Deployment

-
-
-
-
-
+
+
+
-
-
-
-
1
- -
Capture CCP Info
-
-
-
2
-
Launch K8 Cluster
-
-
-
3
-
Deploy KubeFlow
-
-
-
4
-
Done!
+
+
+
+
1
+
Select Kubernetes Cluster
+
+
+
2
+
Deploy KubeFlow
+
+
+
3
+
Access Kubeflow
+
-
-
-
-
+
-
-
-
-
- - -
-
- -
-
- - -
-
- -
-
- - -
-
- -
- -
+

Use existing cluster

+

+

+
+
+
+
+
+
+
+
+ +
+ + +
+
- - +
- -
- -
-